[net.micro.mac] MacPlus bug

ephraim@wang.UUCP (pri=8 Ephraim Vishniac x76659 ms1459) (06/05/86)

When I boot my MacPlus from an external SCSI drive running System 3.1.1,
Finder 5.2, and Preliminary SCSI Helper, I can't seem to initialize 800K
floppies.  They don't just fail init, the Mac bombs.  If I boot off
a floppy running the same software, there's no problem.  Sound familiar,
anyone?

On another topic, all the discussion I've seen of the SCSI manager routines
suggested to me that they simply poll the NCR chip.  But: last night I
was tracing out the level one interrupt dispatcher (I was just curious, OK?)
and noticed that it started with a RAM patch:
	movem.l	D0-D3/A0-A3,-(SP)
	bra	SomewhereInROM
"SomewhereInROM" was the rest of the level one interrupt stuff for the VIA.
Just before it was the pre-patch entry into the interrupt routine, which
did the same register saving, then went poking around address $580000 where
the NCR SCSI chip is located before doing the VIA service.  Does the SCSI
manager use interrupts?  Could it?  Will it?  

For real do-it-yourself junkies, it's much easier to make your own startup
ROMs for non-standard storage devices if you've got the 128K ROMs.  The old
ROM had a "hook" which checked location $F80000 for another ROM and vectored
into it if it had the right signature.  This hook was so early during startup
that it was difficult to make use of it.  The new ROMs have at least three
hooks: the original hook, another later on that uses $F80080, and a third that
checks $F80088.  The last one is just before the "boot loop" where the
Mac cycles through all drives searching for a bootable volume.  So, all your
ROM has to do is install/open your disk driver and create a Drive Queue Entry
(DQE).  Thanks to Steve Jasik and MacNosy for helping me discover this.

Ephraim Vishniac
decvax!wanginst!wang!ephraim