Xbox:X-BIT

The X-BIT modchip is a modchip designed by DMS3 for solderless installation by novice users. It also features a mini USB port for flashing the chip by connecting it to a Windows PC. Released in September 2003, it supported all revisions from 1.0 to 1.5 without soldering; 1.6 requires soldering due to missing traces to the LPC port.

There were two versions of the chip, 1.0 and 1.5. The latter can be identified by the "1.5" labeling on the external board.

Installation
The chip has "pogo pins" which are V-shaped and get pressed into the LPC port (and d0). Pressure is applied by a single screw and spacer, replacing the stock screw fixating the mainboard near the LPC port. Alternatively, the chip also offers a port for connecting wires for a traditional solder-based installation. The chip comes with a small external board that gets attached to the back of the console, exposing the mini USB port for flashing the chip, as well as four dip switches.



Configuration
The chip's 2MiB flash memory can be split in different ways, so multiple BIOSes of different size can be stored.


 * Layout 1: 2x 512KiB, 4x 256KiB
 * Layout 2: 1x 1024KiB, 4x 256KiB
 * Layout 3: 1x 1024KiB, 1x 512KiB, 2x 256KiB
 * Layout 4: 1x 1024KiB, 2x 512KiB
 * Layout 5: 2x 1024KiB
 * Layout 6: 1x 2048KiB

Three of the dip switches are used to set the active BIOS, the fourth one is used to completely disable the chip and boot from TSOP. The according dip switch positions are (Switch 1 to 3):


 * Bios 1: OFF - OFF - OFF
 * Bios 2: ON - OFF - OFF
 * Bios 3: OFF - ON - OFF
 * Bios 4: ON - ON  - OFF
 * Bios 5: OFF - OFF - ON
 * Bios 6: ON - OFF - ON

Flashing the chip
This is where things start to fall apart. The X-BIT's USB interface has shown to be unstable, and is very picky about which kind of USB host controllers it works well with. On many machines the connection easily drops while flashing, or data gets corrupted during the transfer. To add insult to injury, the software wasn't really a masterpiece either, sometimes leading to the whole flashing tool appearing to be frozen during the flashing process, making the user wonder whether anything is still happening.

The software was written in Visual Basic 6, and the latest supported Windows version is XP. In 2017, a github user called tuxuser reverse engineered the flashing tool for the 1.0 chip and re-implemented it in C++, making it possible to compile and run the tool on Linux, MacOS and Windows. However, the issues with the unreliable USB interface persist.