Also known as: Nintendo GameCube
This console has a prerelease article
2021/07: GameCube IPL source has leaked. Add interesting finds and use it to clarify existing information.
The GameCube is Nintendo's first standalone disc-based console, with a total of 640 games released in North America (the last being Madden NFL '08 on August 14, 2007).
Sadly, the odd disc format, lack of DVD playback (a DVD-compatible model was released by Panasonic, but it was quickly discontinued before it could make it to the west due to its high price compared to just buying a regular GameCube and DVD player separately), and "kiddy" perception of the console hurt its ability to build a healthy library of third-party exclusives, but it still contains an array of fantastic first-party titles and the occasional third-party exclusive.
While the GameCube itself may have died young, its incredibly forward-thinking architecture lives on: the Wii is essentially a GameCube with faster clock speeds from an internal standpoint.
There's a copyright string header in the IPL ROM. ArtX was the company that developed the GameCube's GPU. They were bought out by ATI in 2000.
(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.
The European version's IPL ROM updated the copyright string header:
(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.PAL Revision 1.0
In every new revision following PAL 1.0 for all regions updated the copyright string with the new copyright year, the IPL region, and the revision number at the end. PAL v1.1 uses "MPAL" in the string as this version was only shipped on systems in Brazil, which uses the 60Hz PAL-M format.
|NTSC v1.0||(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.|
|NTSC v1.1||(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.NTSC Revision 1.1|
|NTSC v1.2||(C) 1999-2003 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.NTSC Revision 1.2|
|PAL v1.0||(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.PAL Revision 1.0|
|PAL v1.1||(C) 1999-2001 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.MPAL Revision 1.1|
|PAL v1.2||(C) 1999-2003 Nintendo. All rights reserved.(C) 1999 ArtX Inc. All rights reserved.PAL Revision 1.2|
Menu Music Reference
|FDS||GameCube (sped up)|
The main menu ambiance, if sped up by 19×, becomes the Famicom Disk System's startup fanfare.
Nintendo 64 Support Strings
As the GameCube's JoyBus is an incremental upgrade over the N64's (as the SNES is with regards to the NES), it is theoretically possible for one console to drive the other's accessories if the software is designed to do so. While unimplemented in any commercial release, the SDK has strings that reference all of the known Nintendo 64 peripherals, including obscure ones such as the keyboard and mouse from the Nintendo 64DD. Chunks of text containing these strings can be found in various games, including Wario World, while GameCube Service Disc v1.0/03 can detect N64 controllers.
|Ocarina of Time/Majora's Mask||GameCube Menu|
If you hold Z on one or four controllers while turning on the GameCube, the music that plays during the logo animation will be different.
|Standard start-up sound.|
|Start-up sound when Z is held on one controller. This is referred to as baby in the source code.|
|Start-up sound when Z is held on all four controllers. This is referred to as 歌舞伎, (translating to kabuki) in the source code.|
Jac/AI/Heap:: OSAlloc Jac/Alloc2:: Request SIZE %d Jac/AI/Init:: MONO-MIX MONO(W)-MIX ArAlloc:: %x %x %x /audiorom.img Jac/ARAM/DVD:: audiorom.img Jac/ARAM/DVD:: audiorom.img(サイズ %xh bytes) Jac/ARAM/Init:: ARAMDMA Jac/ARAM/Init:: ARAM DSPSync:: SendMiss UPDATE-DAC Miss Send AudioSync Jac/Thread/Proc:: Jac/thread/DSPSync:: Jac/Thread/Init:: Jac/Thread/Init:: —\– Message Full Jac/NEOS:: NEOS Jac/NEOS:: /audiorom.img Jac/NEOS:: CPU Jac/NEOS:: audiorom.img Jac/NEOS::CPU NEOS THREAD DSP-MAIN SFR-UPDATE Jac/DVDT::DVDThread Paused! Jac/DVDT::DVDThread UnPaused! Jac/DVDT::DVD Jac/DVDT:: Jac/DVDT::DVD.¨ARAM ([%s] %d bytes) Jac/DVDT:: Finish (%d msec) Jac/DVDT :: Registered file %s, (No.%d ID.%d ) Jac/DVDT :: Cannot find file to regist %s SUPERDMA FastCopy SLOWCOPY DSPInit(): MXIC Boot failed DSP Err:not received mail (to DSP) is remained DSP Err:not received mail (from DSP) is remained Error: DSP now in framework Parameter Input : %8x PARAM[%d] = %x[h] Output Buffer : %8x DECODE BEFORE[%d] = %x[h] DECODE AFTER[%d] = %x[h] Do CARD Task CARD Task Finish Do AGB Task AGB Task Finish Audio Error:: DSP_SECURITY_CALLBACK is NULL dsp_cardunlock.c Failed assertion 0 <= chan && chan < 2 Rel.Jc (%x) Have DSPch %x DSPch Sign/Stat/CB is %x, %x, %x Error: No Member ROOTJC Error ROOTJC Error2 Jcs %x : Allocate %d Channels PHY. %x Log->phy. %x Log. %x phy->log. %x Log->phy->log %x Cut DSPSTOP (JC= %x) -->call %8x Jesus/DrvIF/CommonCB:: Error: Cut --------FORCESTOP (PHY.%x ) (JC =%x) Jesus/DrvIF/Callback:: Jesus/DRVINT: FINISH Error: UPDATECALL NULL (JC %x) Jesus/DrvIF/Stop:: ---------------- -----------------: Jesus/DrvIF/Play:: Jesus/DrvIF:: relwait Ch%dINIT %d:CUR %x Jesus/DSP-Interface:: Jesus/DspIF:: Bad INST Program Change %d Bad PERC Program Change %d Janus/BankDrv:: Warning: No Key-Map Janus/BankDrv:: Warning:Velocity-Map (%d is Upper %d) Error: No V-Map Error Error: NULL Command Pointer (cmd. %x ) SEQP %x Access Offset %d Jam/Seq :: Error Note %d Jam/main :: r-noteoff error Jam/seq :: Sequence Error occerd I try to continue ##########Error:: Track %d ‚ Jam/setup:: Error : Cannot back sequence structure %x Jam/Setup::RootSeq Jam/Setup:: Error : RootSeq (DeAlloc) Parent_Relation %d Error:: No FAT Memory Jam/Seq::ROOT Jam/Seq::SEQP StartSeq: Jam/Track/Init/Warn:: (%s) ofs %d size %d Janus/BANK/Init:: Virtual Janus/BANK/Init:: Janus/Wave/Init:: iplrom.com Test::DVD Bank&Wave Read ---- --------- Reset-ReEntry Remain Chan. %d ipl_0.aw Inf NaN BS2 ERROR >>> SHOULD NEVER REACH HERE appLoaderLength 0x%x appLoaderFunc1 0x%x Apploader Initialized Addr [0x%x] length [0x%x] offset [0x%x] /opening.bnr BS2Mach.c BS2 ERROR >>> Banner buffer address is not set BS2 ERROR >>> Banner buffer length (0x%08x) is not enough BS2 ERROR >>> UNKNOWN STATE DEMOInit: invalid TV format not support field rendering gMRbuild.c ERROR: This renderer ONLY supports J3DBinary1.5 gMRshape.c ERROR: This renderer doesn't support Enveloped Model
Present at 0x7FFC6 in the IPL ROM is some text that was used to test the Game Play section of the menu.
pokemon kingin 2000 @NINTENDO The new PokeMon Stadium!!!
"pokemon kingin" refers to Pokémon Stadium Gold and Silver.
The leaked source code confirms that it was used for the Game Play section in a C header file named 2d_gameplay_2_English.h:
#define MSG_G901 8 // [titl] pokemonkingin #define MSG_G902 9 // [makr] 2000@NINTENDO #define MSG_G903 10 // [info] ThenewPokeMonStadium!!!
Unused Error Sound
There is a seemingly unused error sound effect found in the console's BIOS.
The rotating cubes and "PRESS START" in the Game Play section of the menu were changed from pink to purple.
Brazilian NBA Courtside 2002 Patch
In the Brazil-exclusive PAL-M GameCube, upon starting a game the IPL will check to see if it has the game ID GNBE, which is the ID of NBA Courtside 2002. If the check returns true (i.e. the game has ID GNBE), a special patch will be applied. The patch prevents a crash only found when playing said game on a Brazilian GameCube due to it using the PAL-M system.
Memory Card 2043
The system supports Memory Cards of sizes up to 2,043 blocks (128 Mb), though Nintendo never released one with a capacity higher than 1,019 blocks (64 Mb). Third-party companies such as Mad Catz have released unofficial Memory Cards that utilize the 2,043-block maximum.
Some games have text referencing the scrapped Memory Card 2043, and there were development tools that could use 2,043 blocks.