[comp.sys.amiga.hardware] A3000 Probs solved

aaf4808@venus.tamu.edu (FORD, ANDREW ALLEN) (06/22/91)

Turns out that some chips were improperly seated. Of course when I tried to
reboot after that, it wouldnt go for 2.0: floppy or hard drive. I was irate.
I was about to ship the thing back when this morning (Fri) I thought "Hmmmmm.
Maybe IU ought to put the expansion slot daughter board back in." I did and
voila everything is kosher.

Maybe someone can tell me why 2.0 relies on the big daughterboard (BTW - 1.33
booted fine the whole time).

Andy "I *FINALLY* have a computer after 37 days!" Ford

Also BTW - I got a 1950 and i'm lovin' every minute of it. No complaints here.

daveh@cbmvax.commodore.com (Dave Haynie) (06/27/91)

In article <17666@helios.TAMU.EDU> aaf4808@venus.tamu.edu writes:

>Maybe someone can tell me why 2.0 relies on the big daughterboard (BTW - 1.33
>booted fine the whole time).

In the A2000 and previous Amigas, all accesses to non-existent memory were
simply ignored.  This is a bad practice, but it seemed reasonable because:
[a] There wasn't all that much unused memory, [b] all memory termination is
centrally controller (in Gary), and [c] there wasn't a whole lot the original
systems could do about it anyway.

In the A3000, there's lots of unused memory.  Not only that, but GARY, RAMSEY,
DMAC, BUSTER, and all ZorroIII cards are individually responsible for cycle
termination.  And under UNIX or Enforcer, access to non-existent memory can be
trapped.  So we have bus timeout.

The GARY chip has three bus-timeout modes available.  It powers up in a mode 
that says "timeout after 8ms if nothing has terminated the cycle".  This was
necessary for 1.3 compatibility, and to allow a few locations to be polled by
software without making bootup unduely long.  1.3.x always runs in this mode.
Under 2.0, the second mode is activated shortly after bootup.  In this mode,
the GARY terminates a cycle after 1/4 second with a bus error.  That's the
problem you're seeing.  There's a third mode, which says "no timeout at all",
but that's mainly there for any special application that might need it, not
for use under normal AmigaOS operation.  

Anyway, the reason you get a timeout with the backplane removed is Zorro II.
Normally, Zorro II cycles get automatically terminated, just like the whole
system worked back on the A2000.  However, there's a signal on Zorro II called
OVR*, generally pulled by a SLAVE device, which says "I'm generating my own
DTACK*, thankyouverymuch".  With the backplane removed, though, this signal
(an open-collector/open-drain type signal) has no termination/pullup on it, and
tends to be seen by Buster as a low.  So there's no automatic Zorro II cycle
termination, since Buster thinks there's a card there pulling OVR* low.  So we
ultimately get a GARY timeout, which is harmless under 1.3, but harmful by the
time 2.0 sees it.

-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"This is my mistake.  Let me make it good." -R.E.M.