Macintosh IIci ROM Modifications

jmacz

68020
Similar to the modifications I recently made on the IIfx ROM, I've done the same on the for the IIci.

Again, most people will opt for the Rominator or similar custom ROM. But I kind of wanted the stock IIci ROM but with the memory test disabled in order to boot faster. Again, posting this as a reference for anyone interested.

Code:
; Disable the checksum check. Could have changed the checksum
; but decided to leave it in case anything reads the checksum
; and is expecting the stock value. Change:

000435b2 : 4efa 10dc
000435b6 : 4a86
000435b8 : 6600 0360

; to be:

000435b2 : 4e71
000435b4 : 4e71
000435b6 : 4e71
000435b8 : 4e71
000435ba : 4e71

; Disable the memory tests. Change:

000446bc : 4cfa
000447d8 : 4cfa

; to be:

000446bc : 4ed6
000447d8 : 4ed6

; If you want to change the happy mac icon on boot, the icon is at:

000017F2 : 128 bytes (32 x 32 bits)

; and the mask is at:

00001872 : 128 bytes (32 x 32 bits)
 
For the life of me, I haven't been able to get this to work. Did the hex edits, offsets and values matched. Got it flashed over, just black screen. Flash stock rom, and it boots. Tried with just the disable checksum check part and it worked, so edited the memory test section, and no go..So whatever my issue is, narrowed it down to the memory test disable part.
 
Not sure if it maybe part of it, but this is a parity model of IIci. Not to say this battery bombed, leaking cap as/is unit is fully good, but so far the only thing that doesn't seem to work is sound, since I haven't replaced those caps yet, not surprising.
 
Last edited:
That’s weird. I have a flashed ROM working fine in my IIci. I will reconfirm with my ROM and make sure I didn’t make a typo but if the stock instructions at those offsets match, I doubt it’s a typo. Can’t look til tomorrow but will check.
 
this is a parity model of IIci
I was today years old when I discovered that the IIci has an optional Parity-Generator Chip (PGC). I have similar patches that @jmacz posted for my IIci and it works fine. BUT I do NOT have the PGC chip.

I see some extra code in the IIci that is not in the IIsi related to parity checking. So I am wondering if there is an edge case here that needs to be accounted for with the IIci. Very interesting!
 
Last edited:
Back
Top