Macintosh II - SE/30 ROM Documentation Project

jcm-1

Tinkerer
Hey, all!

Last night I started my own project for documenting, line by line, the MacII-SE/30 ROM code. This all started because I have an SE/30 that is death chiming VERY early in the boot process, and I would love to be able to know what chips/traces to check in what order during these scenarios.

I looked at existing documentation for the startup process, but it wasn't detailed enough for me. Within a few hours, I had given myself a crash course in 68k assembly and started commenting the disassembled code to try to make sense of what circumstances cause death chimes and in what order.

I want to have a single document with an ordered list that shows what is tested, checked, and done in what order so when there are boot failures that are not obvious of a cause, we can have a document that says two basic things in plain English
1) the rom works by going here, checking this, jumping here, checking that, doing this.
2) When you have problem ABC, then you need to check items XYZ in this order. (in a way more detailed than Larry Pina's Dead Mac Scrolls but still understandable).

The problem: I'm in over my head!

I would like to crowd source this project. Basically, make a shared document that smart and 68k trained people could drop in, take a look around, and comment what everything is doing, so we can understand how the ROM works.

My biggest dilemma: how to share the code in a way that's easily editable for both armchair hackers and real 68k professionals. I thought of doing a shared spreadsheet with columns for address, instruction, functional documentation and contextual documentation. I don't know if that's the best way. I'm not a programmer or a documentarian.

Thoughts on how we can achieve this as a team?
 

james

New Tinkerer
Aug 13, 2022
1
0
1
j-w.co
Great idea, I'm super keen to see this happen because I am STRUGGLING with a semasimac that hangs before the boot chime, and sometimes performed the death chimes. Could Github be the answer? Or would that be beyond the realm of "easily editable for both armchair hackers and real 68k professionals"?
 
Nov 4, 2021
126
98
28
Tucson, AZ
The GitHub app really smooths things out for people not used to dealing with Git every day.

Another thought for this information is an address snooper. For machines using ROM SIMMs it seems easy enough to get the address of the code being run, maybe you can do the same by clipping into ROM chips or the processor. Once you know what address the CPU is requesting the magic box could have a lookup table built from your disassembly work to display what the ROM code is doing at that point.
There would probably need to be several lookup tables for different ROMs and no way to auto-detect which one is in use, but manually selecting which ROM version wouldn't be too much hassle to be able to know how far the machine is booting before crashing.
 

jcm-1

Tinkerer

jcm-1

Tinkerer
Those are my starting points!

I have semi-annotated code from Rob Braun as referenced by Steve Chamberlin.

It's more than annotating and commenting the existing code. It's about creating a literal step-by-step English description of what happens.