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.

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

 * 1) 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.
 * 2) After installing and launching PonyProg, select `Options` => `Setup` and ensure it's set to `Serial` with `SI 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.
 * 3) Next select `Options` => `Calibration`, and allow it to proceed. PonyProg is now ready for use.

Reader Connection

 * 1) 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!
 * 2) Connect the reader to your PC's COM port.
 * 3) 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.
 * 4) Connect the `scl` (red) and `sda` (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.
 * 5) Power your console.
 * 6) 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.
 * 7) 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

 * 1) 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.
 * 2) Power down your console and remove the mains power connection.
 * 3) Within PonyProg, select `File` => `Save As...`. Set `Save as type` to `*.bin`, and then enter any name you please.
 * 4) Open the dump file using a tool such as Xbox:LiveInfo or Xbox EEPROM Editor to confirm the contents are valid.

Writing

 * 1) 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!!
 * 2) Within PonyProg, select `File` => `Open...`. Set the file type dropdown to `*.bin`, and then browse to and select the backup you wish to write.
 * 3) Press the `Write Device` button within PonyProg (represented by a file pointing to a chip).
 * 4) Power down your console and remove the mains power connection.