Original Xbox
Dumping EEPROM In Circuit

March 31, 2022

When getting starting with a classic Xbox, one of the first tasks is to dump the EEPROM from the system in order to secure a backup.  Without having the contents of the EEPROM, a failed HDD can make for a bad day since the HDDs are locked to a specific system.  The EEPROM contains a variety of information including the system serial number and an encrypted HDD key.

There are a variety of ways to dump the contents including homebrew adapters, utilizing the LPC header on the Xbox, using a Raspberry Pi and leveraging the GPIO headers.  Since I already had a TL866II Plus programmer, I wanted to use it to dump the chip contents.  It took a number of attempts to discover the best method to hook up to the chip as the TL866II offers both a ZIF socket and an ICSP port.  There is also some added complexity of working with a v1.6 XBox board as the LPC header has been neutered by Microsoft to make things a little more difficult.

In the end, the right combination was to use the SOIC clip to the ZIF socket, power the Xbox up and then do the read.

Original Xbox main board with a TL866II Plus reader hooked to the system EEPROM.

TL866II Plus hooked up to the Atmel AT24C02 EEPROM via the ZIF with a SOIC clip

I noticed that if I tried dumping the chip when the Xbox was powered off, the programmer wasn't able to power the chip and so I would either get a dump of all 0x00, or 0xFF.  If I used the ICSP port and tried dumping the chip with the Xbox powered on I would get either an empty dump but sometimes there would be some bit noise mixed in.

The SOIC clip to the ZIF with the Xbox powered on seemed to be rock solid, producing consistent output which could be archived should it be needed to address an HDD failure in the future.