68kMLA Classic Interface

This is a version of the 68kMLA forums for viewing on your favorite old mac. Visitors on modern platforms may prefer the main site.

Click here to select a new forum.
Calling all ROMs! Collecting DeclROM data
Posted by: Arbee on 2025-02-15 16:29:19
Bitsavers just posted the DeclROM dump and PCB photos for a full-size Duo Dock. The DeclROM parses well with the Hex Fiend extension. @joevt's SlotsParse works but claims the CRC mismatches and should be 00000000, which seems like a possible bug. It's about the only DeclROM I've seen that has a byteLanes value of 0x0F (0,1,2,3), which may be related.

Posted by: joevt on 2025-02-16 05:24:33
Bitsavers just posted the DeclROM dump and PCB photos for a full-size Duo Dock. The DeclROM parses well with the Hex Fiend extension. @joevt's SlotsParse works but claims the CRC mismatches and should be 00000000, which seems like a possible bug. It's about the only DeclROM I've seen that has a byteLanes value of 0x0F (0,1,2,3), which may be related.

fhLength is zero. Is that a valid length? Length 0 causes checksum to not calculate. I can special case this.

Slot 0 DeclROM (the data in the Mac ROM that you can extract using the tbxi command or SlotsDump or SlotsGrab) has byteLanes 0x0F (because it's in the Mac ROM).
Posted by: Arbee on 2025-02-16 10:28:31
Ahh, that makes sense. I need to see what the Slot Manager does in that case.

...and it looks like it's special cased. It looks for the "RussSWC!" signature at 0xFEFFFFE4 and does special things if it finds it. Similar to the PowerMac video cards.
Posted by: eharmon on 2025-02-16 12:50:14
Ahh, that makes sense. I need to see what the Slot Manager does in that case.

...and it looks like it's special cased. It looks for the "RussSWC!" signature at 0xFEFFFFE4 and does special things if it finds it. Similar to the PowerMac video cards.
Oh interesting. I should add detection for that flag.
Posted by: joevt on 2025-02-19 02:05:02
Slot manager has this:
			move.l	fhLength(a4),d2					; d2 = length of declaration ROM data
			beq.s	@Done							; zero length - ignore checksum calculation

If fhLength is zero, then checksum is ignored.

The checksum does not match whether fhLength is zero or 128K. Maybe they manually patched the ROM and didn't want to checksum it again.
I changed SlotsParse so it calculates the expected checksum based on the expected fhLength.
Posted by: dougg3 on 2025-03-09 16:21:36
Here's a DeclROM dump of the Newer Technology Ethernet MicroDock. PCB photos (sort of) are at this old post where I originally repaired it.
Posted by: eharmon on 2025-03-09 16:32:06
It's interesting that every single ethernet device seems to hold its MAC in the first bytes. I guess it makes sense, no offsets to calculate, and the other alternative, storing it at the end, would interfere with the DeclROM trailer.
Posted by: Dandu on 2025-07-06 10:48:55
I think it's interessant to post here : i try to dump the DeclROM from the Duo Dock II, and i have errors (i mean). There is a topic about that here : https://68kmla.org/bb/index.php?threads/easter-egg-image-centris-quadra-610-650.42457/page-3
< 4