Skip to main content
Home Forums 68kMLA NuBus IDE Controller Card Project!?! =8-O — #11
Post #11 by Gorgonops
Source Forum68kMLA
CategoryDevelopment
Post DateFri, 28 Jan 2011 - 21:09
Original URLhttps://68kmla.org/bb/threads/nubus-ide-controller-card-project-8-o.22070/
Post
Yes. The process seems to be something like:
1) First learn Pascal. Got that? Good, that wasn't so hard.

2) Now become familiar with all of "Inside Macintosh" Volumes I - VI. Done that? Great.

...(snip)
I spent a few days once futzing around with some sample Ramdisk driver code in MPW and... yes, writing a Mac driver is intimidating, there's no denying it.

The dirty little secret about the old Mac OS is it hardly really qualifies as an "operating system" by modern standards. (It's almost just a random collection of bare APIs and it's up to your program to string them together and essentially act like it were the OS while it's in the foreground.) Worse, when you start poking around at a low level you'll see not only how "bare metal" the interfaces are you'll also be struck by just how *weird* it is by modern standards. Like the whole Pascal thing. Apparently large parts of the Mac ROM were hand-translated from Pascal prototypes into Assembly to speed them up and cut down on ROM usage but they retain Pascal conventions for their interfaces. So yes, even if you want to program in Assembly or C you need at least a nodding familiarity with Lisa Pascal datatypes if you're going to go all the way down the rabbit hole...

Anyway, that said... I do wonder how difficult it might be to lift the IDE driver from the Quadra/Performa 630's ROM and embed it into a NuBus card. The Developer Note for the Q630 series describes the hard disk device driver and ATA Manager as if they were modular add-ons to the "standard" Macintosh ROM, including describing what reference numbers the driver uses and what calls it needs to support. If you were a really skilled hacker it might be possible to lift the required bits off and embed them on an extension ROM assuming one were to build a NuBus card which could ape the IDE controller of a Q630. (Whether that would actually be easier than writing the whole driver from scratch is an exercise for the hacker. I dunno nothing 'bout birthin' no babies.)

mp.ls