Difference between revisions of "GameCube"

From Rare Gaming Dump
 
(14 intermediate revisions by 9 users not shown)
Line 10: Line 10:
 
  | data2 = [[Dolphin SDK]]
 
  | data2 = [[Dolphin SDK]]
 
}}
 
}}
The '''GameCube''' (marketed as '''Nintendo GameCube''', codenamed '''Dolphin''') was a home video game console developed by Nintendo and [[ArtX]] from  mid-1998<ref>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/</ref> to 2001.
+
The '''GameCube''' (marketed as '''Nintendo GameCube''', codenamed '''Dolphin''') is a home video game console which was developed by Nintendo and [[ArtX]] from  mid-1998<ref>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/</ref> to 2001.
  
 
==Hardware Notes==
 
==Hardware Notes==
''More information: [[Gekko]], [[GX]], [[Flipper]], [[wikipedia:GameCube_technical_specifications|GameCube technical specifications (Wikipedia)]]''
+
''More information: [[Gekko]], [[GX]], [[Flipper]], [[Macronix DSP|DSP]], [[wikipedia:GameCube_technical_specifications|GameCube technical specifications (Wikipedia)]]''
 
[[File:Gekko.jpg|alt=Gekko|thumb|Gekko]]
 
[[File:Gekko.jpg|alt=Gekko|thumb|Gekko]]
The GameCube has three main components; a [[Gekko|CPU]] (Gekko), a [[GX|GPU]] (GX), and a [[Flipper|system ASIC]] (Flipper).  
+
The GameCube has three main components; a [[Gekko|CPU]] (Gekko), a [[GX|GPU]] (GX), [[Macronix DSP|DSP]] (MACRONIX), and a [[Flipper|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 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 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 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.
Line 28: Line 30:
  
 
==Software Notes==
 
==Software Notes==
''More information: [[Dolphin SDK]], [[GameCube Boot Process]], [[NROM]]''
+
''More information: [[Dolphin SDK]], [[GameCube Boot Process]], [[DOLDVDFormat|NROM]]''
 
[[File:GameCubeMenu.png|alt=The GameCube boot program's menu.|thumb|The GameCube boot program's menu.]]
 
[[File:GameCubeMenu.png|alt=The GameCube boot program's menu.|thumb|The GameCube boot program's menu.]]
 
The Nintendo-developed [[Dolphin SDK]] was used to build all officially released GameCube software.
 
The Nintendo-developed [[Dolphin SDK]] was used to build all officially released GameCube software.
Line 116: Line 118:
  
 
======NR Disc======
 
======NR Disc======
NR Discs (possibly "Nintendo Recordable") are blank [[NROM]] discs with a special authentication key which makes them only compatible with NR Reader and NR Writer drives. They were used by game developers as blank discs (equivalent to a DVD-R) to burn disc images onto so that they could be tested on an NR Reader.
+
NR Discs (possibly "Nintendo Recordable") are blank [[DOLDVDFormat|NROM]] discs with a special authentication key which makes them only compatible with NR Reader and NR Writer drives. They were used by game developers as blank discs (equivalent to a DVD-R) to burn disc images onto so that they could be tested on an NR Reader.
 +
[[File:NR Disc.jpg|thumb|GameCube NR Disc.]]
 +
It uses a disk id(6 bytes) and a fixed number is 9, for XOR scrambling the DVD sectors.<br />
 
[[File:NPDPCartridge.jpg|alt=An NPDP Cartridge.|thumb|An NPDP Cartridge.]]
 
[[File:NPDPCartridge.jpg|alt=An NPDP Cartridge.|thumb|An NPDP Cartridge.]]
  
Line 142: Line 146:
 
[[File:NintendoGameCubeDevelopmentSystem.jpg|alt=A "Nintendo GameCube Development System" rebadged DDH console.|left|thumb|300x300px|A "Nintendo GameCube Development System" rebadged DDH console.]]
 
[[File:NintendoGameCubeDevelopmentSystem.jpg|alt=A "Nintendo GameCube Development System" rebadged DDH console.|left|thumb|300x300px|A "Nintendo GameCube Development System" rebadged DDH console.]]
 
[[File:NPDP-GDEV.jpg|alt=A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "Beta release" sticker on both the console and adapter indicates that they have or had pre-final internals.|center|thumb|A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "β release" sticker on both the console and adapter indicates that they have or had pre-final internals.]]
 
[[File:NPDP-GDEV.jpg|alt=A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "Beta release" sticker on both the console and adapter indicates that they have or had pre-final internals.|center|thumb|A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "β release" sticker on both the console and adapter indicates that they have or had pre-final internals.]]
 +
[[File:SN-TDEV.jpg|thumb|SN Systems TDEV GameCube Devkit]]
 
[[File:NPDP-GBOX.jpg|alt=A NPDP-GBOX console.|thumb|314x314px|A NPDP-GBOX console.]]
 
[[File:NPDP-GBOX.jpg|alt=A NPDP-GBOX console.|thumb|314x314px|A NPDP-GBOX console.]]
 
[[File:NRReader.jpg|alt=A NR Reader console.|left|thumb|A NR Reader console.]]
 
[[File:NRReader.jpg|alt=A NR Reader console.|left|thumb|A NR Reader console.]]

Latest revision as of 20:13, 23 November 2024

GameCube
GameCubeWithController.jpg
A standard GameCube with its controller.
Initial Release DateSeptember 14, 2001 (JPN)
SDKDolphin 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)

Gekko
Gekko

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 GameCube boot program's menu.
The GameCube boot program's menu.

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.

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

A prototype GameCube controller with no D-pad.
A prototype GameCube controller with no D-pad.

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.

Development Hardware

Development Consoles

At least 8 GameCube development consoles were made.

Arthur

Main article: Arthur

This is mentioned in Dolphin SDK header files as being a GameCube development platform. Since this was the codename of the PowerPC 750 processor itself, this was likely a generic name for PowerPC 750 development boards used during very early development.

Minnow

Main article: Minnow

This is mentioned in the Dolphin SDK documentation as being an early prototype development system without graphical capabillities, used for internal system bring-up only. A Minnow is a small fish, which might be eaten by a Dolphin.

A DDH console.
A DDH console.
Dolphin Development Hardware (DDH)

Main article: Dolphin Development Hardware

DDH consoles were used starting in 1999-2000, and are believed to have been the first GameCube development console distributed outside of Nintendo. The DDH console resembles a small PC tower. It has an internal hard drive which can be attached to a PC with a special SCSI interface to copy games for debugging. Later DDH consoles were rebadged with the name "Nintendo GameCube Development System".

NPDP-GDEV

Main article: NPDP-GDEV/GBOX

The NPDP-GDEV (Nintendo Pseudo Disc Pack-GDEV, with GDEV possibly being "GameCube Dev") console was used from around 2000. It has a slot to load games from NPDP cartridges, as well as the ability to load games directly from a PC with optical disc emulation. The GDEV has 48MB of main RAM, while a standard GameCube has 24MB.

The main board of the GDEV is known as "Orca"; Orcas are particularly strong Dolphins.

NPDP-GBOX

Main article: NPDP-GDEV/GBOX

The NPDP-GBOX console is similar to the NPDP-GDEV, without the ability to load games from a PC.

NR Reader

Main article: NR/NPDP Reader

The NR Reader console is nearly identical to a standard GameCube, but comes in a unique teal colour and has a modified disc drive which reads NR discs rather than NROM discs. NR discs can be written to by developers to test games in an environment identical to that of a standard console.

A NPDP Reader console.
A NPDP Reader console.
NPDP Reader

Main article: NR/NPDP Reader

The NPDP Reader console is similar to the NR Reader, but in a red colour and with the disc drive entirely replaced by an NPDP cartridge slot.

TDEV

Main article: TDEV

The TDEV (Tiny Dev[2]) console is similar to the NR Reader, but in a brown colour and with additional functionality to connect to a host PC for debugging and optical disc emulation. It also has 48MB of main RAM.

Other Development Hardware

A Barnacle2 device used during early Wii development. While no pictures of the Barnacle are available, this is likely similar.
A Barnacle2 device used during the development of the Wii console. While no pictures of the Barnacle are publicly available, this is likely similar.
Barnacle

Main article: Barnacle

The Barnacle is a device which attaches to one of the GameCube's EXI channels, and causes the system to boot from it rather than the internal ROM chip. It was used within Nintendo during development and testing of the GameCube's boot program. It also supports serial debug output. A Barnacle is something which you might find in the sea, attaching to a host Dolphin.

Memory Card Emulator

Main article: Memory Card Emulator

The Memory Card Emulator is a device which attaches to a Memory Card slot and emulates the functionality of a Memory Card. It was used by game developers to verify that their game could pass Nintendo's certification requirements for Memory Card handling.

EXI-to-USB Adapter

Main article: GameCube EXI-to-USB Adapter

The EXI-to-USB Adapter is a device which provides a connection from a GameCube development console's memory card slot to a PC for debugging.

NR Disc

NR Discs (possibly "Nintendo Recordable") are blank NROM discs with a special authentication key which makes them only compatible with NR Reader and NR Writer drives. They were used by game developers as blank discs (equivalent to a DVD-R) to burn disc images onto so that they could be tested on an NR Reader.

GameCube NR Disc.

It uses a disk id(6 bytes) and a fixed number is 9, for XOR scrambling the DVD sectors.

An NPDP Cartridge.
An NPDP Cartridge.
NPDP Cartridge

NPDP Cartridges are hard drives contained in a special casing which are compatible with the NPDP-GDEV/GBOX and NPDP Reader. They serve the same purpose as NR Discs, but can be rewritten and password-protected (a special boot program created by Nintendo IRD was used on NPDP cartridges). The hardware which reads NPDP Cartridges emulates them as standard GameCube discs.

NR Writer

The NR Writer is a modified DVD-R burner which can write to NR Discs.

NPDP Writer

The NPDP Writer is a special device which can write to NPDP Cartridges. At least two variants of the NPDP Writer exist; the NPDP-SW variant which writes a single NPDP Cartridge, and the NPDP-GW variant which can write up to eight.

Nintendo Test Discs
Two Nintendo Test Discs.
Two Nintendo Test Discs.

The Nintendo Test Discs were test-pressing discs created around 1999, when Nintendo was planning to use a full-size disc format for the GameCube. 2 of these discs are known to contain test video files which consist entirely of a colour bar pattern.

Unknown Devices

The names "Marlin" and "Walrus" are also known to be the names of GameCube development hardware, but it is currently unknown what these devices are.

Marlins attack Dolphins.

Walruses are water-loving animals, like Dolphins.

Gallery

A "Nintendo GameCube Development System" rebadged DDH console.
A "Nintendo GameCube Development System" rebadged DDH console.
A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "Beta release" sticker on both the console and adapter indicates that they have or had pre-final internals.
A NPDP-GDEV console and the GameCube EXI-to-USB Adapter. The "β release" sticker on both the console and adapter indicates that they have or had pre-final internals.
SN Systems TDEV GameCube Devkit
A NPDP-GBOX console.
A NPDP-GBOX console.
A NR Reader console.
A NR Reader console.


A TDEV console connected to a host PC over USB.
A TDEV console connected to a host PC over USB.
A GameCube Memory Card Emulator.
A GameCube Memory Card Emulator.
A GameCube EXI-to-USB Adapter.
A GameCube EXI-to-USB Adapter.
An NR Disc.
An NR Disc.
An NR Writer.
An NR Writer.
A NPDP-SW model NPDP Writer.
A NPDP-SW model NPDP Writer.
A NPDP-GW model NPDP Writer.
A NPDP-GW model NPDP Writer.
A possible prototype of the GameCube console.
A possible prototype of the GameCube console.


  1. 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/
  2. wiidump.7z/RVL_NDEV-0_33-patch-060304.en/RVL_EMU_QuickStart.en.pdf