For those with LC475/Q605-type Macs (ROM checksum FF 74 39 EE), a working SIMM slot, a SIMM programmer, and an available 8MB SIMM..... I would appreciate feedback on the attached ROM.
Firstly, thanks goes to @JDW @Jockelill and @WillJac for doing some initial testing and providing feedback. An important lesson we learned during testing is to fully reset your PRAM before using a new ROM. Especially if the new ROM uses PRAM settings (such as this one).
Secondly, I want to specifically point out that I am using a modified version of the CDEV (control panel) that Garrett's Workshop developed. I trimmed down the control panel a little bit, and I plan to eventually make a new one from scratch. But they have a really nice CDEV that works for this initial testing. I have tried reaching out to them for permission to share, so if you have a contact for Zane or Garrett please share this posting with them. If they prefer, I can spin up a new CDEV and not use their version.
This ROM has the following hacks that have been documented previously (I am using the driver name "ROMDISK"):
**** You can use R (ROM) or RA (RAM) to boot accordingly
# 1) offset 1278 = Open ROMDISK driver during boot
# 2) offset 1706 = Treat ROMDISK as floppy
# 3) offset 4742A = Disable ROM checksum
# 4) offset 47908 = Disable memory test
# 5) offset 47A20 = Disable memory test
# 6) offset 79256 = Hard code ROM size for 24-bit/32-bit modes
# 7) offset 80599 = Patch MMU table for 8MB ROM
# 8) offset 805D9 = Patch MMU table for 8MB ROM
# 9) offset 814E5 = Patch MMU table for 8MB ROM
In addition, I have added the following:
# 1) offset 60080 = ROMDISK Resource Header (not using NETBOOT or ATBOOT, this is a FREE resource in the stock ROM)
# 2) offset 600B0 = ROMDISK Driver Header
# 3) offset 61000 = PRAM Repair Bit (01) to set mouse speed to max and volume to 3 during boot
# 4) offset 61010 = ROM/RAM disk size (currently 00 70 00 00; set to 00 30 00 00 for example if you intended to append a 3MB image and use a 4MB SIMM)
# 5) offset 61020 = ROM/RAM disk start offset, probably does not need to be changed
The CDEV will allow you to do the following (assuming you have a good PRAM battery):
# 1) Mount/not-mount ROM or RAM disk if booting from another device
# 2) Automatically boot from ROM or RAM disk
Important info re: offset 61000 in the ROM ("PRAM Repair Bit"): This is new, and I have been discussing this on another thread here. If this Byte is set to 01, this will automatically set the mouse to the max speed AND the volume to 3. This offset is part of the ROM/RAM disk driver, and will be loaded before any INITs. If you do not want this functionality, make sure to set this Byte to 00 before burning your SIMM.
Depending on if you use the ROM or RAM version of the disk, you should also notice a different icon in the Finder.
I am calling this version 0.91 based on previous work. Please test away and provide feedback!
Firstly, thanks goes to @JDW @Jockelill and @WillJac for doing some initial testing and providing feedback. An important lesson we learned during testing is to fully reset your PRAM before using a new ROM. Especially if the new ROM uses PRAM settings (such as this one).
Secondly, I want to specifically point out that I am using a modified version of the CDEV (control panel) that Garrett's Workshop developed. I trimmed down the control panel a little bit, and I plan to eventually make a new one from scratch. But they have a really nice CDEV that works for this initial testing. I have tried reaching out to them for permission to share, so if you have a contact for Zane or Garrett please share this posting with them. If they prefer, I can spin up a new CDEV and not use their version.
This ROM has the following hacks that have been documented previously (I am using the driver name "ROMDISK"):
**** You can use R (ROM) or RA (RAM) to boot accordingly
# 1) offset 1278 = Open ROMDISK driver during boot
# 2) offset 1706 = Treat ROMDISK as floppy
# 3) offset 4742A = Disable ROM checksum
# 4) offset 47908 = Disable memory test
# 5) offset 47A20 = Disable memory test
# 6) offset 79256 = Hard code ROM size for 24-bit/32-bit modes
# 7) offset 80599 = Patch MMU table for 8MB ROM
# 8) offset 805D9 = Patch MMU table for 8MB ROM
# 9) offset 814E5 = Patch MMU table for 8MB ROM
In addition, I have added the following:
# 1) offset 60080 = ROMDISK Resource Header (not using NETBOOT or ATBOOT, this is a FREE resource in the stock ROM)
# 2) offset 600B0 = ROMDISK Driver Header
# 3) offset 61000 = PRAM Repair Bit (01) to set mouse speed to max and volume to 3 during boot
# 4) offset 61010 = ROM/RAM disk size (currently 00 70 00 00; set to 00 30 00 00 for example if you intended to append a 3MB image and use a 4MB SIMM)
# 5) offset 61020 = ROM/RAM disk start offset, probably does not need to be changed
The CDEV will allow you to do the following (assuming you have a good PRAM battery):
# 1) Mount/not-mount ROM or RAM disk if booting from another device
# 2) Automatically boot from ROM or RAM disk
Important info re: offset 61000 in the ROM ("PRAM Repair Bit"): This is new, and I have been discussing this on another thread here. If this Byte is set to 01, this will automatically set the mouse to the max speed AND the volume to 3. This offset is part of the ROM/RAM disk driver, and will be loaded before any INITs. If you do not want this functionality, make sure to set this Byte to 00 before burning your SIMM.
Depending on if you use the ROM or RAM version of the disk, you should also notice a different icon in the Finder.
I am calling this version 0.91 based on previous work. Please test away and provide feedback!