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!

The Legend of Zelda: Collector's Edition

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

The Legend of Zelda: Collector's Edition

Also known as: The Legend of Zelda Collection (JP)
Developer: Nintendo[1]
Publisher: Nintendo[1]
Platform: GameCube
Released in JP: April 1, 2004[2]
Released in US: November 14, 2003
Released in EU: November 17, 2003
Released in AU: March 19, 2004


CopyrightIcon.png This game has hidden developer credits.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
RegionIcon.png This game has regional differences.


The Legend of Zelda: Collector's Edition is a collection of the two NES titles (The Legend of Zelda and Zelda II: The Adventure of Link) and the two Nintendo 64 titles (Ocarina of Time and Majora's Mask), as well as a 20-minute demo of The Wind Waker.

Unfortunately, the emulation quality prevents this from being an ideal way to play the games, with Majora's Mask in particular suffering from constant freezing issues that were not present in the original N64 game, sometimes leading to full-on lockups (which, due to the original game's quicksave feature, makes the journey much more difficult). In addition, the ending cutscene for Ocarina of Time was made into a 450 MB pre-recorded video file, since the music would get de-synchronized as a result of the slowdown being different in the emulator (later releases would instead correct this by patching the cutscene timings directly).

As an interesting aside, this is also the first game released in PAL territories to completely ditch 50Hz support, and one of only three GameCube games to do so (the others being Metroid Prime 2: Echoes and Geist).

Hidden Banner and Text

The tgc disc images for The Legend of Zelda and The Adventure of Link actually contain their own banners and text for the GameCube menu. The text is rather crude, so they most likely weren't meant to be visible, as the disc images for Ocarina of Time and Majora's Mask lack any info. The banners themselves are still used on the save files for the respective games. The text for Adventure of Link is actually too long and gets cut off. It should end with "adventure some quest yet..."

The Legend of Zelda The Adventure of Link
Zelda-collection-us-zelda1-tgc.png Zelda-collection-us-zelda2-tgc.png

The Japanese Zelda Collection still has a banner with text for both games, but for some bizarre reason uses the name and copyright for The Adventure of Link and text describing The Legend of Zelda for both. The banner itself also has a different design, possibly an earlier version. The text is slightly different, written in all-caps English and has less pretty formatting.

Zelda-collection-jp-zelda12-tgc.png

The descriptions for the Japanese disc images are actually much longer and contain the text for The Adventure of Link! At least, what seems to be left of it, anyway.

AFTER GANON WAS DESTROYED, LINK SET OUT ON HIS
MOST ADVENTURES
(Source: Original TCRF research)

Hidden Credits

Zelda-CE-MM-HiddenCredits.png

Majora's Mask contains hidden credits for the emulator developers. The screen can be accessed with the following button code while holding L + R + Z and using D-pad for the directions:

  • Up, Up, Down, Down, Left, Right, Left, Right
  • X, Y, B, A
  • Up, Left, Down, Right
  • A, Start

Pressing B will close the screen and resume the game.


(Source: Yanis)

Debug Text

The game has a ludicrous amount of debugging and SDK messages, such as references to N64 accessories. Due to the game's structure, they are duplicated multiple times throughout the filesystem.

Development Text

Ocarina of Time

80137A58		ENTRY-LO0
80137A64		ENTRY-LO1
80137A70		PAGE-MASK
80137A7C		(RESERVED-7)
80137A8C		BAD-VADDR
80137A98		ENTRY-HI
80137AA4		WATCH-LO
80137AB0		WATCH-HI
80137ABC		X-CONTEXT
80137AC8		(RESERVED-21)
80137AD8		(RESERVED-22)
80137AE8		(RESERVED-23)
80137AF8		(RESERVED-24)
80137B08		(RESERVED-25)
80137B18		CACHE-ERROR-EPC	
80137B30		(RESERVED-31)

80137BC0		FCR1 (RESERVED)
80137BD0		FCR2 (RESERVED)
80137BE0		FCR3 (RESERVED)
80137BF0		FCR4 (RESERVED)
80137C00		FCR5 (RESERVED)
80137C10		FCR6 (RESERVED)
80137C20		FCR7 (RESERVED)
80137C30		FCR8 (RESERVED)
80137C40		FCR9 (RESERVED)
80137C50		FCR10 (RESERVED)
80137C64		FCR11 (RESERVED)
80137C78		FCR12 (RESERVED)
80137C8C		FCR13 (RESERVED)
80137CA0		FCR14 (RESERVED)
80137CB4		FCR15 (RESERVED)
80137CC8		FCR16 (RESERVED)
80137CDC		FCR17 (RESERVED)
80137CF0		FCR18 (RESERVED)
80137D04		FCR19 (RESERVED)
80137D18		FCR20 (RESERVED)
80137D2C		FCR21 (RESERVED)
80137D40		FCR22 (RESERVED)
80137D54		FCR23 (RESERVED)
80137D68		FCR24 (RESERVED)
80137D7C		FCR25 (RESERVED)
80137D90		FCR26 (RESERVED)
80137DA4		FCR27 (RESERVED)
80137DB8		FCR28 (RESERVED)
80137DCC		FCR29 (RESERVED)
80137DE8		FCR30 (RESERVED)

80138344		start=%p, end=%p (%d) (size: %d)
80138368		tree range (%p - %p)
80138380		total nodes: %d (tree height: %d %d)
801383A8		total memory: %d

801384D0		_cpuGCN.c

80138C3C		ERROR in cpuNextInstruction() with opcode %p at %p
80138C70		CALLED: ceil_w single (%p)
80138C8C		CALLED: floor_w single (%p)
80138CAC		ERROR: CVT_S_S
80138CBC		CALLED: ceil_w double (%p)
80138CD8		CALLED: floor_w double (%p)
80138CF8		ERROR: CVT_S_D
80138D08		ERROR: ADD_W
80138D18		ERROR: SUB_W
80138D28		ERROR: MUL_W
80138D38		ERROR: DIV_W
80138D48		ERROR: SQRT_W
80138D58		ERROR: ABS_W
80138D68		ERROR: MOVE_W
80138D78		ERROR: NEG_W
80138D88		ERROR: ROUND_W_W
80138D9C		ERROR: TRUNC_W_W
80138DB0		ERROR: CEIL_W_W
80138DC4		ERROR: FLOOR_W_W
80138DD8		ERROR: CVT_W_W
80138DE8		ERROR: C.F_W
80138DF8		ERROR: C.UN_W
80138E08		ERROR: C.EQ_W
80138E18		ERROR: C.UEQ_W
80138E28		ERROR: C.OLT_W
80138E38		ERROR: C.ULT_W
80138E48		ERROR: C.OLE_W
80138E58		ERROR: C.ULE_W
80138E68		ERROR: C.SF_W
80138E78		ERROR: C.NGLE_W
80138E8C		ERROR: C.SEQ_W
80138E9C		ERROR: C.NGL_W
80138EAC		ERROR: C.LT_W
80138EBC		ERROR: C.NGE_W
80138ECC		ERROR: C.CLE_W
80138EDC		ERROR: C.NGT_W
80138EEC		ERROR: ADD_L
80138EFC		ERROR: SUB_L
80138F0C		ERROR: MUL_L
80138F1C		ERROR: DIV_L
80138F2C		ERROR: SQRT_L
80138F3C		ERROR: ABS_L
80138F4C		ERROR: MOVE_L
80138F5C		ERROR: NEG_L
80138F6C		ERROR: ROUND_W_L
80138F80		ERROR: TRUNC_W_L
80138F94		ERROR: CEIL_W_L
80138FA8		ERROR: FLOOR_W_L
80138FBC		ERROR: CVT_W_L
80138FCC		ERROR: C.F_L
80138FDC		ERROR: C.UN_L
80138FEC		ERROR: C.EQ_L
80138FFC		ERROR: C.UEQ_L
8013900C		ERROR: C.OLT_L
8013901C		ERROR: C.ULT_L
8013902C		ERROR: C.OLE_L
8013903C		ERROR: C.ULE_L
8013904C		ERROR: C.SF_L
8013905C		ERROR: C.NGLE_L
80139070		ERROR: C.SEQ_L
80139080		ERROR: C.NGL_L
80139090		ERROR: C.LT_L
801390A0		ERROR: C.NGE_L
801390B0		ERROR: C.CLE_L
801390C0		ERROR: C.NGT_L

80139964		Exception:#### INTERNAL ERROR #### Cannot match exception-handler!

8013A218		ROMS.TAG
8013A224		urazle.tpl
8013A230		urazlf.tpl
8013A23C		urazlg.tpl
8013A248		urazlj.tpl
8013A254		urazli.tpl
8013A260		urazls.tpl

8013A5AC		FrameComplete: Yield task pending...
8013AAB8		Get: DRAM Address: WRITE-ONLY?
8013AAD8		Get: CONTROL: WRITE-ONLY?
8013AE30		OS-LIBRARY

8013AF4C		send_mesg
8013AF58		__osEnqueueAndYield
8013AF6C		__osEnqueueThread
8013AF80		__osPopThread
8013AF90		__osDispatchThread
8013AFA4		osGetMemSize
8013AFB4		osInvalDCache
8013AFC4		osInvalICache
8013AFD4		osWritebackDCache
8013AFE8		osWritebackDCacheAll
8013B000		__osDisable
8013B020		__osSpSetStatus
8013B030		osVirtualToPhysical
8013B044		osPhysicalToVirtual
8013B058		guMtxF2L
8013B064		guMtxCatF
8013B070		guMtxIdentF
8013B07C		guMtxIdent
8013B088		guOrthoF
8013B094		guPerspectiveF
8013B0A4		guPerstective
8013B0B4		guScaleF
8013B0C0		guRotateF
8013B0CC		guRotate
8013B0D8		guTranslateF
8013B0E8		guTranslate
8013B0F4		guLookAtF
8013B100		guLookAt
8013B10C		guLookAtHiliteF
8013B11C		guLookAtHilite
8013B12C		guLookAtReflectF
8013B140		guLookAtReflect
8013B150		osAiSetFrequency
8013B164		osAiSetNextBuffer
8013B178		__osEepStatus
8013B188		osEepromRead
8013B198		osEepromWrite
8013B1A8		osEepromLongRead
8013B1BC		osEepromLongWrite
8013B1D0		starfoxCopy
8013B1DC		GenPerspective
8013B1EC		pictureSnap_Zelda2
8013B200		dmaSoundRomHandler_ZELDA1
8013B21C		osViSwapBuffer_Entry
8013B234		zeldaLoadSZS_Entry
8013B248		zeldaLoadSZS_Exit
8013B25C		8013AF4C
8013B260		800978BC

NES Emulator

Present at 0x7D644 in main.dol for The Legend of Zelda and 0x9D544 for The Adventure of Link is some build info and a hidden credit for the NES emulator. The version number appears to be a date indicating it was built on August 7, 2003.

QFC v030807 [hayakawa@srd] (C)2001-2003 Nintendo

Present at 0x7D72C in main.dol for The Legend of Zelda and 0x9D62C for Zelda II: The Adventures of Link is some debug text for the NES emulator.

*******-------- HVC Sound Emulator 
*******-------- NTSC/MPAL/EU60 
*******-------- Unknown TV format... 
*******-------- PAL50 
 Unsupported SoundRead %x
=== HVC Sound Emulator [AI direct version] ===
=========== AI init =========-

Present at 0x837B0 in main.dol for The Legend of Zelda and 0xA36B0 for The Adventure of Link is a string likely left over from Tetris 2 + Bombliss.

BomBliss
(Source: Original TCRF research)

Nintendo 64 Emulator

Present at various locations in the emulator's executable are the names and GameIDs of some other Nintendo 64 games explicitly supported by the emulator. Interestingly, the unreleased Panel de Pon is among this list. The GameIDs are used to identify the ROM when setting up various aspects of the emulator configuration, like controller bindings and where save data is stored, among other things. The games' full titles are used when generating GameCube save data.

0xEAA28 in main.dol (USA) for Ocarina of Time and 0xF0B40 for Majora's Mask:

Mario 64
Zelda: Collector's Edition
The Legend of Zelda Debug
Legend of Zelda
Pilotwings
Animal Forest
Cruise 'n USA
Dr. Mario
Mario Kart
Mario Party 1
Mario Party 2
Mario Party 3
PaperMario
Paper Mario
PAPERMARIO
PokemonStadium
Pokemon Stadium
POKEMONSTADIUM
Panel de Pon
YoshiStory

0xF35B0 in main.dol (USA) for Ocarina of Time and 0xFB160 for Majora's Mask

NSME
NSMJ
MARIO
CZLE
CZLJ
ZELDA1
ZELDAX
ZELDA
ZELDAD
NZSJ
NZSE
ZELDA3
NPWE
PILOT
NAFJ
AF
NBCE
NBKE
NGEE
NFUE
NBYE
NCUE
CRUISE
NDNE
NDOE
NN6E
NN6J
DRMARIO
CFZE
NLRE
NMFE
NKTE
KART
NK4E
CLBE
MP1
NMWE
MP2
NMVE
MP3
NM3E
NRIE
NMQE
NPOE
NQKE
NRSE
NRZE
NFXE
NFXJ
STARFOX
Starfox
NGUJ
NALE
NTEA
1080
NTPE
NEPE
NM8E
NYLJ
PANEL
NTUE
NWRE
NYSE
NBNJ
(Source: Original TCRF research)

Regional Differences

Progressive Scan Screen

US Japan
Zelda collection us 480p gc.png Zelda collection jp 480p gc.png

In the US version, the progressive scan prompt has a darker look consistent with the rest of the game. In the Japanese version, it appears following the Club Nintendo logo sequence.

Main Menu

International Japan

The international versions play the Hyrule Field theme from The Legend of Zelda: Ocarina of Time Bonus Disc. A new arrangement of the overworld theme from the first Zelda game was created for the Japanese version.

Additionally, the Japanese version gives more specific release dates for each game.

References