RS2030 MIPS workstation

Patrick Mackinlay pmackinlay at
Mon Jul 1 22:59:49 CDT 2019

I’ve only just joined cctalk, so apologies for the delayed response to this query from May, but I thought the information might be useful to others in future.

I’m the person working on emulating MIPS workstations in MAME recently, and I’m a fair way through getting the Rx3230 model to a fully working state (Rx2030 is already working as of last month).

For the MIPS Rx3230 systems, which use an M48T02, the mac address should be in the first 6 bytes of NVRAM. You can read/write the NVRAM through the boot monitor using the “g” (get) and “p” (put) commands. You also need to provide the “-b” argument to specify byte width, and the relevant address. The NVRAM is mapped at 0x1d000000-0x1d001fff in the physical address space, but must also set the high bit to access it through kseg0. Each 32-bit word in that range corresponds to a single byte in the NVRAM, so the resulting commands will be something like:

  *   g -b 0x9d000003 (read first byte of NVRAM)
  *   g -b 0x9d000007 (read second byte of NVRAM)
  *   ...

Or conversely:

  *   p -b 0x9d000003 0xff (write 0xff to first byte of NVRAM)

I haven’t tried to decode the rest of the NVRAM for the Rx3230 at this point (although most of the monitor variables seem to be at offset 0x600-0x6a7), but at least I can see those are the bytes that are read from NVRAM and then written to the mac address of the LANCE, and setting them to a valid address makes the network layer in MAME behave as expected.


More information about the cctalk mailing list