GameCube
A standard GameCube with its controller. | |
| Initial Release Date | September 14, 2001 (JPN) |
|---|---|
| SDK | Dolphin SDK |
The GameCube (marketed as Nintendo GameCube, codenamed Dolphin) is a home video game console which was developed by Nintendo and ArtX from mid-1998[1] to 2001.
Hardware Notes
More information: Gekko, GX, Flipper, DSP, GameCube technical specifications (Wikipedia)

The GameCube has three main components; a CPU (Gekko), a GPU (GX), DSP (MACRONIX), and a system ASIC (Flipper).
The CPU is a semi-custom derivative of the PowerPC 750, which was also notably used (under the marketing name "PowerPC G3") in several late 90s-early 2000s Macs. It is a superset of later PPC750 variants, with additional instructions for accelerated media and graphics processing. Some newer PowerPC 750-based Macs can also use these instructions if the correct HID register bits are set.
The GPU is fully custom; it was developed by ArtX, a startup which spun off from the Silicon Graphics Nintendo 64 hardware development team. ArtX was bought out by ATI in 2000, just as the GPU design was being completed; as such, the GameCube has ATI branding, although its hardware has no relation to ATI products preceding it. After purchasing ArtX, ATI used their GPU technology in Radeon video cards starting with the acclaimed R300 series, making the GameCube's GPU an ancestor of modern PC GPUs.
The DSP is fully custom; it was developed by Macronix, It is a custom 16 bit DSP that is used as a coprocessor for booting the dsp, memory card unlocking, gba link cable decryption, audio, running microcode programs written in assembly. It has it own ADPCM codec hardware decoder it is called DSP-ADPCM it is a codec developed by Nintendo used on GameCube, Wii, Wii U, 3DS. Instruction RAM is 8KB and Data RAM is 4KB, it also has two bootroms one is Macronix and other is Nintendo, then after that there is the boot ARAM/DSP Init microcode program stored in the IPL and every game, this is the final boot stage for the DSP.
The system ASIC (similar to the chipset on a PC motherboard, implementing peripheral interfaces and other system functions) is fully custom, having been co-developed by ArtX and Nintendo.
The GameCube has three banks of RAM; a main 24MB general-purpose bank, a slow 16MB bank intended primarily for use as an audio buffer, and a 3MB VRAM bank which is embedded within the GPU.
The GameCube's architecture would later evolve into that of the Wii and Wii U.
Software Notes
More information: Dolphin SDK, GameCube Boot Process, NROM

The Nintendo-developed Dolphin SDK was used to build all officially released GameCube software.
There were two official distribution channels for GameCube software; discs, and preinstalled software.
The GameCube's disc format, known internally as NROM, uses a custom filesystem and a basic XOR encryption scheme tied to the disc's BCA to prevent unauthorized reading and copying. However, the discs are otherwise physically identical to miniDVD discs, which in turn are reduced-size standard DVDs; therefore, if the GameCube's disc drive is hacked using an external device to disable the security mechanism, it can read standard miniDVD and DVD discs. Some PC DVD drives can also read GameCube discs, although software such as RawDump is necessary to access their contents. Early in development, the GameCube used full-size discs equivalent to DVDs.
The GameCube's capacity for preinstalled software is limited to a ROM chip attached to the EXI interface, which the CPU boots from by default. This ROM chip contains a boot program which will initialize the system, play the boot animation and start the inserted disc or display the console menu. A XOR encryption scheme is also used on the ROM data, this is done by a diskId(8 bytes) and a random number for each data sector.
The GameCube has no proper operating system; the boot program does not keep executing after it launches a game or expose any "BIOS" functions, and all code which runs once a game has been started is loaded from the game disc. The Dolphin SDK includes an "OS" library with some basic functions for system features such as thread/memory management.
Controller

Main article: GameCube Controller
The GameCube's controller went through 5 chipset revisions (numbered DS1 through DS5), and several more casing revisions.
The earliest known GameCube controller prototype from 1999 is a bare board with no casing; later prototypes added a casing resembling the final but with a Start button in place of the D-pad, and a later variant was almost identical to the final but with minor differences such as a bean-shaped B button.
- ↑ A Dolphin’s Tale: The Story of GameCube - https://web.archive.org/web/20140108044600/http://www.dromble.com/2014/01/07/dolphin-tale-story-of-gamecube/