[comp.sys.mac.hardware] Problems with SlotManager

hp48sx@wuarchive.wustl.edu (HP48SX Archive Maintainer) (05/09/91)

I am currently trying to hack an old program that was written for a Mac II
computer using 2 NuBus cards from National, to do D/A conversion of incoming
analog pictures.

The program works on the Mac II, but checks that it is using the old Mac II
ROM, and I would like to have it up 'n running on a IIci. So I just removed
the ROM version check.

The next problem introduced is, that the program does a _SlotManager call
with D0=$19 (sReadDrvrName), and A0 pointing to a spBlock where the following
values is set: 
spResult: address of some stack item
spSlot:   $9-$E  (changing value)
spId:     1      (BTW: What is this value ??? )

The spSlot varies, as it checks all cards for the one that is wanted, starting
from slot 9.

PROBLEM IS HERE: If I use 'The Debugger', and do an Inst1Bkpt, and then exit
to program, then I get a bus error is the ROM when I hit the first slot with
an installed card !!! If I just launch the Application from the finder, then
it will return with an error 28 (Stack moved into heap), even though there is
$10000 bytes free in the Applications heap before the call to SlotManager, and
it also does something to the bus.

AS I WROTE BEFORE: It works on a Mac II, and crashes on a IIci.

HELP: Is there another way to get a the driver name ? It is needed in an open
call afterwards.
                                               
WHAT I HAVE DONE: tried a new clean machine, studied spInside Macintosh
(I will upload these 20MB someday if Apple allows me). Used 'The Debugger'
very much to track down the errors to the lowest possible level.
-- 
*******************************************************
Povl H. Pedersen             hp48sx@wuarchive.wustl.edu
HP48sx archive maintainer