Xbox:EEPROM

From ConsoleMods Wiki
Revision as of 01:32, 17 February 2023 by Bomb Bloke (talk | contribs)
Jump to navigation Jump to search
In earlier consoles, the EEPROM is located between the SMC (upper) and TSOP (lower).
In 1.6 consoles, the EEPROM is located directly next to the LPC.

In a Microsoft Xbox, certain configuration values are stored in a small re-writable eight-legged chip, located near the LPC. This is referred to as the EEPROM, and it holds a mere 256 bytes in all Xbox versions.

Some of the system settings it maintains are:

  • The console's unique HDD key, used for opening the disk's ATA security lock on boot.
  • The console's serial number, used for identifying a specific console.
  • The console's language setting, used by games which support more than one.
  • The console's region, used to determine which discs it's allowed to boot.
  • The console's IP settings and MAC address, previously used for Xbox Live's purposes, and now used by Insignia.
  • The console's allowed display modes, determining the resolution settings games may select from.

Refer to XboxDevWiki for a more detailed overview of its contents and data layout.

Some options, such as the system language, display modes, and audio modes, may be changed through the official Xbox:Microsoft Dashboard. Other dashboards tend to leave the EEPROM alone, storing their settings on the console's hard disk drive instead. You cannot use Xbox:UnleashX or Xbox:XBMC to enable HD display modes for games, for example - they must be enabled in the EEPROM separately, and even those dashboards themselves may only enter HD after this has been done.

Modded console users, or those with access to external EEPROM readers (such as a Raspberry Pi running Xbox:PiPROM), have the ability to change all data values stored within the EEPROM - including the region, HDD key, and even the console's serial number. Doing so can be dangerous, as an Xbox with a corrupted EEPROM will be unable to boot - instead displaying a solid red front LED (or rarely, solid green), with no video output at all. Some advanced modchips, such as the OpenXenium, are able to work around a corrupted EEPROM. Without such an addon, an external EEPROM reader device is required to restore the chip's contents and revive the system.

On a PC, Xbox:LiveInfo or Xbox EEPROM Editor can be used to review, modify, or even create fresh EEPROM data sets. As useful as these tools are, however, it's strongly recommended to back up your original EEPROM to your PC as soon as you are able. In particular, the loss of your HDD key may mean loss of access to your Xbox's hard disk drive!

EEPROM Compatibility

The layout of the data stored within EEPROM chips changed in later Xbox versions. 1.0 EEPROMs use one format, 1.1 consoles introduced a second, and 1.6 consoles introduced a third. Directly swapping a 1.4 EEPROM chip (which still uses the 1.1 layout) into a 1.6 console, for example, will render it inoperable - even though the actual hardware is acceptable.

It's still possible to dump a backup of the original EEPROM, use Xbox:LiveInfo or Xbox EEPROM Editor to save a new version for the target console, and then to restore the altered backup into that system's chip.

Another potential problem when copying EEPROM data between consoles relates to the MAC address: since each console's network card pulls its identifier from the EEPROM, cloning the EEPROM will clone the MACs as well. If two consoles with the same MAC are connected to the same network, they'll be unable to communicate at all!

This situation is easy to resolve, however, as MACs may also be altered using Xbox:LiveInfo or Xbox EEPROM Editor - or even through the Xbox:Microsoft Dashboard.

EEPROM Manipulation Through Xbox Homebrew

Backing up your EEPROM (Installers)

With Xbox Softmod Tool, an EEPROM backup will automatically be made and placed in C:\Backups\. Softmod Installer Deluxe (SID) and installer discs have "Backup EEPROM" and "Backup C Drive" options, which will make a backup in C:\Backups\. Copy this to your PC at your earliest opportunity.

Backing up your EEPROM (EvolutionX)

While running the EvolutionX dashboard, navigate to System Utils → Backup. Selecting this will backup of your EEPROM, on-board Bios, HDD Password, and HDD config and place it in C:\Backup\, from which it should be copied to your PC. If your dashboard is not installed on the C: drive, it may not work.

Backing up your EEPROM (ConfigMagic)

While running Xbox:Config Magic, select "Create Backup Files". This will create an EEPROM backup on the E partition, from which it should be copied to your PC. Most other actions in ConfigMagic will also create backups beforehand, but beware: you'll require separate hardware to restore your backups if you render your system inoperable!

EEPROM Manipulation Through An External Reader

Backing up your EEPROM (PiPROM)

In the event that you cannot boot into the Xbox to backup your EEPROM, or if your EEPROM chip corrupts and needs to be restored, you can use a Raspberry Pi and three wires to dump from, or write to, the chip directly. A full guide can be found on the PiPROM page.

Backing up your EEPROM (Xbox EEPROM Utility)

Xbox EEPROM Utility allows for dumping and writing to the EEPROM with just the Xbox motherboard using a readily available ESP-8266 or ESP-32 microcontroller, as well as being able to perform a variety of SMC functionality like remotely powering on/off the console via a web interface.

Backing up your EEPROM (Arduino)

Adapted from PiPROM's code, ArduinoProm can be used with an Arduino module instead - such as a Pro Micro Leonardo. Alternatively, the ArdPromSD is an altered board design that can directly read or write backups to or from a microSD card. The ArdPromSD is explained on the OGXbox forums.

Backing up your EEPROM (PC COM Port)

A PC equipped with a COM port can be fitted with a simple adaptor for reading from or writing to an Xbox EEPROM chip.