a day ago
- The Macintosh Classic II ROM had a bug where an out-of-bounds jump table access caused execution of an unintended instruction.
- This unintended instruction, an undocumented CAS variant on the Motorola MC68030, accidentally modified the A1 register to a valid address, preventing a crash during boot.
- MAME's 68030 emulator did not replicate this undocumented behavior, resulting in a Sad Mac error when 32-bit addressing was enabled, whereas real hardware worked correctly.
- The author verified the bug and the fix by creating custom ROMs for a physical Classic II and observing register values.
- This discovery suggests that no 68030 emulator perfectly replicates the CPU, and the bug likely went unnoticed by Apple's developers for decades.