Quadra/Centris 610/650/800 Ethernet ROM Format

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
372
611
93
Columbus, Ohio, USA
I'm trying to add the onboard Ethernet to my Centris 610 which didn't originally have it. In order to do this, I have to burn the 82S123 32-byte “Ethernet ID ROM” that contains the machine's MAC address.

Can anyone who has a Centris with Ethernet post the contents of their Ethernet ROM so I can figure out the format? The ROM is only 32 bytes so you can just dump it by taking a picture of the ROM contents displayed by MacsBug. To do this, enter MacsBug with the programmer's switch and then type "DM 50F08000". Press enter 32 times and then take a picture of the screen.

Hopefully a few people will volunteer to post their Ethernet ROMs so we can compare and figure out the format. I have just purchased a non-working Quadra 800 board which I will hopefully be able to fix and pull the ROM contents from.

Here I’m gonna extract the Ethernet ROM from my Quadra 660AV. I took the following screenshot of MacsBug showing the memory at 50f08000:
B2EA29C5-107E-4351-9C54-30BCEAAFBBC2.jpeg
The Ethernet ROM is only 32 bytes but the contents are aliased across more than that. The pattern is that every odd byte starting at 50F08000 is an entry in the ROM and the ROM address increments every 16 bytes. So to read out the Ethernet ROM, you scan down the second column of bytes and read 32 of em.

Here’s my Quadra 660AV’s Ethernet ROM as extracted from the above screenshot:
Code:
10 00 E0 60 E1 29 AA 0D
EF FF 1F 9F 1E D6 55 F2
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF

The first 6 bytes are the MAC address and the final 16 bytes are blank, but what about the 10 bytes after the MAC? It will be interesting to see whether these are the same or differ on different Ethernet ID ROMs. And of course the 660AV/840AV could have a different ID ROM format than the 610/650/800.
 
  • Wow
Reactions: trag

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
372
611
93
Columbus, Ohio, USA
Yes, it would be a great help if you could post the ROM contents (using MacsBug as I described in the first post) and also the MAC addresses of your machines. The 660AV ROM dump will help me figure out what the 10 bytes after the MAC are on my 660AC. Then the 650 ROM will help to see whether the format is the same between the 610/650/800 and 660/840AV.
 
Last edited:
  • Like
Reactions: Hypertalking

cy384

New Tinkerer
Nov 18, 2021
18
18
3
USA
www.cy384.com
Here's what my (somewhat modified) Centris 650 has in that region of memory:
rom.jpg

It just continues to repeat.

The first part (bytes 0 to 5) is apparently the MAC address but with the bit order flipped around (which seems like a weird way to store it???). I don't know what bytes 6 and 7 are, but it seems like bytes 8-15 are the bitwise inverse of the first 8. Have you looked at "SonicEnet.a", maybe around line 470?

edit: maybe something?
0x10 ^ 0x00 ^ 0xe0 ^ 0x34 ^ 0x81 ^ 0x5d ^ 0xaa ^ 0x4d == 0xff (mine)
0x10 ^ 0x00 ^ 0xe0 ^ 0x60 ^ 0xe1 ^ 0x29 ^ 0xaa ^ 0x0d == 0xff (yours)
 
Last edited:

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
372
611
93
Columbus, Ohio, USA
Yes yes! That oughta be it. And the preceding 55 and AA bytes before the checksum byte are just to check for shorts between adjacent pins on the data bus. The bit ordering thing is odd though. I believe my MAC is backwards too (have to recheck) but I’m not sure. We’ve just gotta see a few more machines to verify your xor checksum theory and then it’ll be settled. Unfortunately the 82S123 can’t be programmed by the venerable Xgecu MiniPro/XgPro!
 
Last edited:

trag

Tinkerer
Oct 25, 2021
280
133
43
Unfortunately the 82S123 can’t be programmed by the venerable Xgecu MiniPro/XgPro!

According to the Device List I found on line, my Needham EMP-30 supports a Phillips and a Signetics 82S123, if I run the DOS software. I'd straight up offer to program the chips for you when you get to that point, but I've never loaded or run the DOS version of the software -- never needed to. Unfortunately, the Windows Device List doesn't include the 82S123...

I'd probably need coaching to get DOS running on the laptop I use with the old programmer. I have a Dell D430 with a docking station, and the docking station provides a parallel port for the old thing. And I have the shiny disk around here somewhere, which I think has the DOS software on it.

I'm old enough to have used DOS -- I'm old enough to have used CPM -- but I don't remember much about administering it. I think one can boot DOS off a USB stick? But then how does support for optical drives work under DOS for installing the software? I remember drive letters, but I'm wondering if I would need special DOS drivers to read a CDROM.

Or maybe I can install the DOS software under Windows and then run it from DOS, so it's already on the local hard drive....
 

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
372
611
93
Columbus, Ohio, USA
Or maybe I can install the DOS software under Windows and then run it from DOS, so it's already on the local hard drive....
Yeah, try installing on Win95 and then “restart in MS-DOS mode.” Or just copy the CD files to disk and then install from your hard drive. If none of that works then it’s pretty easy to get the CD-ROM drivers working in DOS. Try this link: http://manmrk.net/tutorials/DOS/cdrom.htm
 

trag

Tinkerer
Oct 25, 2021
280
133
43
Yeah, try installing on Win95 and then “restart in MS-DOS mode.”

The laptop is running WinXP. Is "restart in MS-DOS mode" available in XP? I'll copy the DOS files to a folder on the HD. There's a bunch of stuff about .ini file configuration that I really hope I don't need to know. I'm not at home at the moment, but I could post the DOS folder here, if you want to see it.
 

Zane Kaminski

Administrator
Staff member
Founder
Sep 5, 2021
372
611
93
Columbus, Ohio, USA
I have a Quadra 840av. Would the rom dump from that help?
Yes, please! Then we can verify cy384's xor checksum theory.

The laptop is running WinXP. Is "restart in MS-DOS mode" available in XP? I'll copy the DOS files to a folder on the HD. There's a bunch of stuff about .ini file configuration that I really hope I don't need to know. I'm not at home at the moment, but I could post the DOS folder here, if you want to see it.
Nah, you can only “restart in MS-DOS mode” on Win9x. I use a ThinkPad T22 for this kind of purpose. Runs DOS, Win9x, and XP well enough.



By the way, regarding the XOR checksum byte, I looked at SonicEnet.a and yeah, it does appear to be doing an xor checksum but I didn't actually trace it through to see exactly what was going on.


Edit: Being that the 82S123 is so small (256 bits), it can be programmed by hand with a tiny bit of surrounding circuitry:
1639232015304.png
 
Last edited: