Drivechip

From gc-linux

Jump to: navigation, search

What is a drivechip?

A drivechip is a very simple hardware modification that alters the way the GameCube's optical drive works. It is connected directly to the optical drive motherboard and does not interface with any other component in the system.

How does it work?

The optical drive found in the GameCube is capable of dealing with normal DVD media. But the drive's firmware is only programed to work with genuine GameCube media.

Normally, the firmware checks if a disc is a genuine GameCube disc by looking at certain areas of the disc like the BCA (Burst Cutting Area) and the DMI (Disk Manufacturing Information), and refuses to work if the checks are not passed. Also genuine GameCube discs use custom scrambling seeds that must be properly initialized.

A drivechip takes control of the optical drive's firmware by patching it though a series of debug commands. It, at least, modifies the scrambling seed initialization and the layout of read sectors to match those of standard DVD media. (Note that this is no different than what any other mods do).

What makes a drivechip special is the way it sends the above mentioned debug commands to the optical drive. It uses a serial port from where the original drive firmware allows receiving a small subset of serial commands, including some debug commands. A drivechip will typically patch the drive firmware using serial commands when the drive is reset, making it transparently interoperable with standard DVD media.

The hardware needed to send serial commands and to store the firmware patch (and the optional apploader patching code) can be implemented easily and with very cheap components. In fact, the bill of materials for a drivechip is rumoured to be as low as 7 dollars [confirmation here, i presume it is even cheaper].

Personal tools