4 ms·
How does one figure out how to interface with these vintage systems? For example, how does one figure out that the expansion bus on a Macintosh SE uses NuBus, t
by rgovostes 3y ago
How does one figure out how to interface with these vintage systems? For example, how does one figure out that the expansion bus on a Macintosh SE uses NuBus, then how to expose a modern microcontroller on this bus, and then how to write a declaration ROM or software driver for a 40 year old network stack? Where does documentation for these systems live on?
- rhalkyard 3y agoThankfully, folks have archived a lot of Apple's old developer documentation: https://vintageapple.org/inside_o/ https://vintageapple.org/inside_o/ is an invaluable resource, as is the mirror of the (late-1990s?) Apple developer website at https://dev.os9.ca/ https://dev.os9.ca/. On the hardware side of things, Designing Cards and Drivers for the Macintosh Family and Guide to Macintosh Family Hardware in conjunction with the 68030 user's manual, tell you basically everything you need to know. For software, Inside Macintosh is your bible. Unfortunately all of Apple's documentation is written in such a way that to understand one section, you have to already understand most of the other sections, and you often find yourself having to cross-reference between sections to get the whole picture of what's going on. I've really struggled to make sense of the network driver especially - every time I think I've got it, I find some issue, dig a bit deeper, then realise that I missed something that is only vaguely mentioned in the docs and doesn't make sense until you know what you're looking for. I should clarify, the SE/30's expansion slot is not NuBus in a physical sense - it's just a direct connection to the processor, plus a few control lines. It's just that the slot provides facilities to allow cards to behave like NuBus from a software perspective, which lets your drivers use all the same OS infrastructure for discovering hardware, dispatching interrupts, installing drivers etc.