Xbox:EEPROM COM Reader
An original Xbox Xbox:EEPROM chip can be read or written to using a PC with a COM port, plus a few additional components.
COM ports are 9 pin male connectors. They're roughly the same size as VGA ports (which are 15 pin female connectors), and can usually be found on desktop systems produced through to around 2007. Having now fallen out of frequent use, they are usually not included on modern desktop motherboards.
Although COM ports can be made available to machines that lack them using USB adaptors, thus far only onboard COMs have been found to work with this reader design.
This guide is based upon Unicron's 2006 guide from the AfterDawn forums.
Reader Construction
Components
- A soldering iron and some solder.
- 1x DB-9 DCE 9 pin female connector (276-1428).
- 2x 5V Zenor diodes.
- 2x 4K Ω (ohm) resistors. 3.9Ks will do, or multiple lower values can be strung in series.
- 3x 1.5m lengths of insulated solid core 30 AWG wire. Red, green, and blue wires are suggested.
- Electrical tape for finishing off.
Composition
Solder the parts in this fashion. Note the direction of the diodes:
Once the parts are properly secured together, wrap electrical tape around the individual exposed wires to prevent shorts.
Probes and labels can optionally be added to the ends of the scl
and sda
lines, and an alligator clip to the end of gnd
.
Preparing PonyProg
- PonyProg is a serial device programmer software with a user friendly GUI framework available for Windows95/98/ME/NT/2000/XP and Intel Linux. v1.17h for Windows is suggested. It's recommended to close all unnecessary programs while running it.
- After installing and launching PonyProg, select
Options
=>Setup
and ensure it's set toSerial
withSI Prog API
selected. If your PC has more than one COM port, select the one you'll be using here. It's ok to guess - you can always come back and change your selection if you get it wrong. All other tick boxes should be unchecked. - Next select
Options
=>Calibration
, and allow it to proceed. PonyProg is now ready for use.
Reader Connection
- Disconnect your Xbox from mains power, and remove the hard disk and optical disc drives. Ensure your workplace is free of any loose items that might touch the PSU!
- Connect the reader to your PC's COM port.
- Connect the
gnd
(green) wire to the Xbox's case shield - either just hook it in, or use a clip of some sort to hold it in place. - Connect the
scl
(red) andsda
(blue) lines to EITHER pins 13 and 14 on the LPC, OR pins 6 and 5 on the EEPROM - whichever are most accessible to you. If the holes of the LPC are unsealed, the wires can easily rest within them (but don't push them so far as to touch the case shield underneath!), otherwise they'll need to be held in place. It's not necessary to solder them on. - Power your console.
- If your Xbox cannot be powered on normally, connect a 3.3V or 5V power supply to EITHER pin 15 on the LPC, OR pin 8 on the EEPROM (pictured yellow). Ground to the Xbox case shield.
- Otherwise, double check that your PSU is clear of any loose items that might touch it, connect your console to the mains, start it normally, and wait for the front LED to flash red and green.
Reading
- Press the
Read Device
button within PonyProg (represented by a chip pointing to a file). Within a second, the window should fill with a hexadecimal representation of your EEPROM chip's contents. Otherwise, check your connections and try again. - Power down your console and remove the mains power connection.
- Within PonyProg, select
File
=>Save As...
. SetSave as type
to*.bin
, and then enter any name you please. - Open the dump file using a tool such as Xbox:LiveInfo or Xbox EEPROM Editor to confirm the contents are valid.
Writing
- If you haven't already attempted to back up your Xbox's EEPROM, consider saving a read before proceeding with a write! You may risk losing the HDD key necessary for accessing your console's hard disk drive!!
- Within PonyProg, select
File
=>Open...
. Set the file type dropdown to*.bin
, and then browse to and select the backup you wish to write. - Press the
Write Device
button within PonyProg (represented by a file pointing to a chip). - Power down your console and remove the mains power connection.