By Jason Gohlke


This Cartridge Reader is intended to make archival copies of Odyssey² cartridges only. Although highly unlikely, the author takes no responsibility for damage caused in the building or use of this device. Every attempt to assure accuracy has been made, the author accepts no responsibility for incorrect information.

Use This Information At Your Own Risk

Enough of that stuff... Have Fun!


To build a simple and inexpensive (Around $20) Odyssey² Cartridge Reader, you will need the following parts:

  • PIC16C54-XT/P
  • 4MHZ ceramic Resonator (With Built-in CAPs)
  • Edge Connector (Digikey# EDC305302-ND should work)
  • 9 Pin D-Sub connector
  • 74LS191
  • Push Button Switch
  • 12uf 35V capacitor
  • 9Volt Battery Snap
  • 7805
  • LED (Optional)
  • 10K Resistor (Optional)
  • Perf Board
  • Wire

I bought all of my stuff locally, but all of the parts needed for this project are available at DigiKey.



The largest problem is getting the PIC16C54 XT programmed. Right-click on THIS link to download the object code you will need to program the PIC16C54 XT with. I don't know if DigiKey offers a programming service, but I wouldn't be surprised if you could get it programmed at Embedded Control Design.



Print out the following SCHEMATIC.

The LED and 10K Resistor are optional. The output from the circuit is in the 0 to 5 volt range. Actual RS232 logic levels should be in the -10 to +10 volt range. If you are using a short cable (6 feet or less), this should not be a problem, but if you wish, you could invert the signal coming out of pin 18 of the PIC16C54 and hook it up to a MAX233. I assumed that you are using a nine-pin serial connector, if you are using a 25-pin connector, change the pins as follows:

  • 2->3
  • 7->4
  • 8->5
  • 6->6
  • 1->8
  • 4->20
  • 5->7



The Cartridge Reader will send a 8K file to your computers serial port. I have written a program to read and process the file called ODYREAD.EXE.

First connect the Cartridge reader to a free serial port. When you run the program, you will be prompted as to what serial port you intend to use and then it will ask you to hold down the "Load Button" on your cartridge reader.

You may now insert the cartridge that you wish to read (Power is applied only when the "Load" button is pressed. It is always safe to insert or remove the cartridge when the button is not activated)

Hold the Load Button down until you hear the familiar Odyssey² start-up sound (This should take about 15 seconds. If you let go of the switch too soon, the program will abort.)

When you are done, the program will determine the size of the cartridge and display the following screen:


The program will automatically determine the image size of the cartridge. If you have Dan Boris's Emulator in the same directory, you can hit the "P" key and play the game. At any point, you may hit "S" to save the game.

You can override the programs ability to determine cartridge size by saving it as a 1,2,4 or 8K cartridge. But be careful, if you go down in size, information will be lost.

If you don't want to use ODYREAD.EXE or ODYREAD.EXE does not work on your machine, you can download the file at 9600 BAUD, no parity, 8 data bits, 1 stop bit.

The Cartridge Reader sends an 8K image. When you press the button on the Reader, it applies power to the circuit. If you let go of the switch, it automatically shuts down the entire circuit. The reason for this is to make sure that the cartridge is not removed while power is on.


If you have any questions or comments, feel free to e-mail me at