Byte for byte, the ROMpeeker can read and display the contents of a SEGA Master System game 28 pin ROM chip. I consider it to be my take on a 'hello world'-circuit in the world of ROM dumpers and dev-carts. 

In 1986, the SEGA Master System (which is an 8-bit gaming console, abbreviated SMS), was promoted under the slogan "Now there are no limits!"


Ironically, my parents bought me an SMS because they viewed it as being rather limited: Compared to the risky realm of C64 (that would suck young minds into the abyss of programming and nerddom), the SMS was 'just' a gaming console: From my parents' perspective, read-only cartridges, lack of programming options etc., made up a relatively safe computer environment for their son. "Eventually he will get bored with the games..." But I didn't.


... and today's question is: What is inside the game cartridge?


Take an old SMS game cartridge, and pry it open. You may need a 'game bit' to do this (see pictures).


If the ROM chip inside has 28 pins, it is suitable for this project. Refer to the attached pinout.


Desolder the ROM chip and remove it from the cartridge PCB.


Assemble the circuit (refer to the attached Fritzing sketch and the parts list):


  1. Put the ROM chip on a breadboard (I used a test socket), and connect it to the Arduino Mega
  2. Connect the LCD and the pushbutton.
  3. Upload the attached Arduino sketch to the Mega.


If everything is wired up OK, the LCD displays the contents of the first byte in hexadecimal format. Every time you push the button, the offset is incremented, and you can step through the first 32 kilobytes of the ROM.


You can see the ROMpeeker in action > click the external link to the right.


I don't think this circuit has any particular practical applications in it's current form, but I consider it to be my take on the 'hello world' circuit of ROM dumpers and dev-carts.


The project draws on sodnpoo's work.


Please note that ROMpeeker is work in progress (spring 2014).