We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

GameCube

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

GameCube

Also known as: Nintendo GameCube, GCN, Panasonic Q (JP alt)
Developer: Nintendo
Publishers: Nintendo (JP standard/INT), Panasonic (JP Q), Daiwon C&A (KR)
Released in JP: September 14, 2001 (standard), December 13, 2001 (Q)
Released in US: November 18, 2001
Released in EU: May 3, 2002
Released in AU: May 17, 2002
Released in KR: Dec 14, 2002
Released in BR: August 23, 2002


CopyrightIcon.png This console has hidden developer credits.
DevTextIcon.png This console has hidden development-related text.
SoundIcon.png This console has unused sounds.
TextIcon.png This console has unused text.
Carts.png This console has revisional differences.


PrereleaseIcon.png This console has a prerelease article

Hmmm...
To do:
GameCube IPL source was leaked in July 2021. Add interesting finds and use it to clarify existing info. Look at the devkit BIOS versions, like the TDEV has a different main menu.

The GameCube was Nintendo's first standalone disc-based console. Unfortunately, the disc format used was rather odd and the console could not play DVDs, which along with the "kiddy" perception of Nintendo as a whole 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.

The "Q" was a special model released in Japan by Matsushita's Panasonic brand (who developed the OEM for the GameCube's optical drive) which included movie DVD and audio CD compatibility, along with a number of other additions, though the integration was still a bit poor compared to the rival DVD consoles, due in part to aspects like the non-interchangeable input devices. It was discontinued in December 2003 due to low sales and the fact it cost more than buying a regular GameCube and DVD player separately, preventing any plans to bring it to western territories.

While the GameCube itself may have died relatively young, its incredibly forward-thinking architecture lived on: the Wii is a major yet linear (and compatible) upgrade to the GameCube, and the Wii U is built on top of that. Its controller, which was initially criticized for its unusual layout and lack of certain buttons, since gained a huge cult status (particularly among Super Smash Bros. players) for its level of comfort, leading every subsequent Nintendo home console to feature at least some form of compatibility with it (early models of the Wii, being completely backwards-compatible with the GameCube, had the four controller ports; the Wii U had a special USB adapter made specifically for use with Super Smash Bros. for Wii U; and the Switch was made compatible with that adapter in an update, though there it works with any game). Overall, while the GameCube didn't make all that huge a splash, its impact on Nintendo as a whole is undeniable.

Sub-Page

Read about prerelease information and/or media for this game.
Prerelease Info

Copyright String

There is 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.

Note that in the below table, PAL v1.1 uses "MPAL" in the version string due to only being shipped on systems in Brazil, which uses the 60Hz PAL-M format.

Version Text
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

Unused Graphics

Acactussayswhat?
Please elaborate.
Having more detail is always a good thing.
Gcn-kirby-Icon-32.png

An unused icon exists in the bios as a dummy icon for Memory Card save data, a small render of Kirby that was used on the Japanese website for Kirby 64: The Crystal Shards.

Unused SDK Support

Nintendo 64 Accessories

As the GameCube's JoyBus Protocol 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 official N64 peripherals, including obscure ones such as the 64DD's keyboard and mouse. 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.

(Source: 1, 2)

Memory Card 2043

The system supports Memory Cards of sizes up to 2,043 blocks (128 Mb), though for whatever reason 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, and Nintendo's DOT-005 Memory Card Emulator developer tool is capable of emulating Memory Cards as high as 4,091 blocks (256 Mb). Games may also recognize Memory Cards of sizes 123 and 507 blocks, in addition to the official size capacities of 59, 251, and 1,019 blocks.

Blocks Size Exists?
Usable Total Bits Bytes
59 64 4 Mb 512 kB Official
123 128 8 Mb 1 MB No
251 256 16 Mb 2 MB Official
507 512 32 Mb 4 MB No
1019 1024 64 Mb 8 MB Official
2043 2048 128 Mb 16 MB Third-party
4091 4096 256 Mb 32 MB No

Multiple Disc Games

GameCube games could theoretically read data from up to 256 separate Game Discs in the same power state; the disc number is specified by an 8-bit register. Despite this, Nintendo requested that games were limited to a maximum of two discs.

(Source: Optical Disc Drive Guidelines)

Logo Reflection

The reflection map on the GameCube logo is a higher-resolution version of the reflection map used in The Legend of Zelda: Ocarina of Time and Majora's Mask for the N64 logo and shiny items:

Ocarina of Time/Majora's Mask GameCube Menu
OoTenvtex.png GCNBiosShine.png

Alternate Music

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.

Audio Description
Standard startup sound.
Startup sound when Z is held on one controller. This is referred to as "baby" in the source code.
Startup sound when Z is held on all four controllers. This is referred to as "歌舞伎" (kabuki) in the source code.

Menu Music Reference

The main menu ambience doesn't sound like much at first listen. However, if it is sped up by 19× it becomes clear that it's the Famicom Disk System's startup fanfare slowed down.

FDS GameCube (sped up)
(Source: ABoredGameDev)

Development-Related Text

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

Unused Text

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 the game released internationally as Pokémon Stadium 2.

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!!!

Revisional Differences

Hardware

The DOL-001 received a minor revision that removed the connector for Serial Port 2, which never received any official, non-developer use.

Later, the DOL-101 removed the proprietary Digital AV Out connector as well as interchangeable "jewels" (the round logo plates on top of the disc cover). Curiously, the console's digital audio output went officially unused. The first-party component/d-terminal cables only provide video (a secondary AV cable is required for audio).

Software

v1.0 v1.1
GCN-gameplay1.0.png
GCN-pressstart1.0.png
GCN-gameplay1.1.png
GCN-pressstart1.1.png

The rotating cubes and "PRESS START" in the Game Play section of the menu were changed from pink to purple. The background ambiance was also changed slightly.

Regional Differences

Language Select

European revisions of the BIOS boast an additional option in the System Settings submenu, allowing the user to change the language to one of six commonly spoken European languages. It is notably absent in the North American BIOS, even though languages such as Spanish and French are also widely spoken in the Americas.

Europe US
GameCube-SystemSettings-PAL.png GameCube-SystemSettings-NTSC.png

Despite this, internally, NTSC-U/NTSC-J BIOS versions support both the English and Japanese operating environments. Several NTSC devkit models feature a region toggle switch that was omitted from retail consoles.

Brazilian NBA Courtside 2002 Patch

In the Brazil-exclusive PAL-M GameCube, upon starting a game the IPL will check to see if the inserted game has the ID "GNBE", which is the ID of NBA Courtside 2002. If the check returns true (i.e. the game has the ID GNBE), a special patch will be applied that prevents a crash only found when playing said game on a Brazilian GameCube due to it using the PAL-M system.

(Source: ecumber05)