If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
The Legend of Zelda: Ocarina of Time
| The Legend of Zelda: Ocarina of Time |
|---|
|
Also known as: Zelda no Densetsu: Toki no Ocarina (JP)
|
It's a bird... It's a plain... It's Ocarina of Time!
Contents
Unused Content
Animations
| Unused Link Animations Never forget the jump strike. |
| Unused NPC Animations What do the dolls do when no one is watching? |
Atmosphere
| Unused Camera Settings Camera, camera, on the wall, which is the fairest angle of all? |
| Unused Environment Settings Through sun and snow we all shall go. |
Cutscenes
| Alternate Scene Setups The ghosts of development past. |
| Unused Cutscenes I bet you haven't seen these scenes. |
Resources
| Unused Actors, Objects, & Variables ALL GLORY TO THE HYPNOSTONE! |
| Unused Sound Effects They say Hylians have big ears in order to hear the voices of the gods... |
| Unused Text How can flags be real if our eyes aren't real? |
| Unused Textures Here dwells the lost language of the Hylia. |
Data
| Unused Enemy Damage Variables Bop those baddies! |
| Unused Spawns Pull a Pocahontas and jump off the waterfall. |
| Unused Shop Data Shop till you drop. |
Uncategorized
Alternate Elemental Arrows
Using GameShark codes, you can equip the individual elemental arrow icons to the C buttons, rather than having the magic combine with your bow. These items are used for display only on the pause screen, but function as normal elemental arrows.
| Item | GameShark code |
|---|---|
| Ice Arrow | 8011A63A 000C |
| Fire Arrow | 8011A63A 0004 |
| Light Arrow | 8011A63A 0012 |
| Fairy Bow + Ice Arrow | 8011A63A 0039 |
| Fairy Bow + Fire Arrow | 8011A63A 0038 |
| Fairy Bow + Light Arrow | 8011A63A 003A |
Beam Blade Attack
| To do: Remnants like what? |
In pre-release screenshots like the one at right, Link is seen using a beam blade attack similar to the one he is able to use when his hearts are full in previous Zelda games. While this attack never made it into the final version of the game, remnants of it still exist in the code. The beam blade can be partially restored in the game using these leftovers.
Dark Link Behavior
Dark Link may be the enemy with the most extensive coding in the game, and the programmers certainly considered all options. Notably, he reacts to the player casting Nayru's Love, which will cause him to shield a lot and generally get out of the way, even though you cannot normally get that item before defeating Dark Link since it's located outside the Desert Colossus, which requires crossing the Haunted Wasteland, which in turn requires either the Longshot (obtained from beating Dark Link) or Hover Boots (obtained in the Shadow Temple, which can only be accessed after beating the Water Temple).
Seeing as the actor is just a shell which inputs buttons to the Link actor, Dark Link can also swim and dive in water, as well as climb ledges. If you are Young Link, Dark Link can also use crawling holes. However, because Dark Link has no animation for getting hit while swimming, it will instead cause him to slowly float to the sky.
Iron Knuckle Head
In the pre-boss room before Twinrova in the Spirit Temple, Link fights a brainwashed Nabooru inside an Iron Knuckle's armor. If you position the camera so that it clips into this Iron Knuckle's model, you will see Nabooru's head. If you do the same to any other Iron Knuckle in the game, you will also see a head that looks similar to Nabooru's with the same textures but has significantly different structure and design. The head is wrapped in chainmail, which covers almost everything below the nose. Also, due to the way the head is modeled, the head has no eyebrows.
The most interesting differences are that the earrings are texture-less gold hoops and that the design of the head ornament is different. This alternate head model is either an earlier version of Nabooru's head, or it was meant to be directly revealed in the same way as Nabooru's, showing that all Iron Knuckles are actually Gerudos.
Either way, regular Iron Knuckles vanish when defeated, so their true face is normally never shown. The head itself was removed in the 3DS remake, but it's still present in the model, just not in-game (with the logical exception of the one that Nabooru actually comes out of). However, when they shed enough armor in combat, a distinctly human neckline can still be seen in all versions (including Majora's Mask).
| Regular Iron Knuckle | Pre-Boss Iron Knuckle |
|---|---|
![]() |
![]() |
Sold Out Item
"SOLD OUT" is an icon that is normally only displayed in the Bombchu Shop in the Back Alley for Bombchus that you have already bought. However, if hacked into Link's inventory as an item, it works exactly like the Master Sword because it's linked to the same action (0x03). The GameShark code 8011A638 002C (US 1.0) adds SOLD OUT to Link's B button.
Triforce Transition
There's a very cool Triforce transition in the game, however, it is not used anywhere. You can force the Triforce transition to appear with the GameShark code.
| Version | Gameshark code |
|---|---|
| NTSC 1.0 | 8011B9ED 0001 |
| NTSC (GC) | 8011C565 0001 |
| NTSC (Master Quest)(GC) | 8011C545 0001 |
| PAL 1.0 | 801197ED 0001 |
| PAL (GC) | 80119D75 0001 |
Unused Child Malon Spawn in Talon's House
Inside Child Malon's actor file, there are three lines of code that spawn her in Talon's House at night after completing the quest to wake Talon in Hyrule Castle. However, Link cannot normally enter Talon's House at night. Trying to enter the door spawns a dialogue box with Talon saying that Malon is sleeping. Even if the player were able to bypass the dialogue box and enter the house via hacking, Malon would still not appear, because the map does not load an actor or object for her.
However, adding her actor and object to the map and bypassing the dialogue box shows that Malon exhibits the same behavior as she does when she appears in Lon Lon Ranch during the day, teaching Link Epona's Song.
Song of Time blocks
| To do: someone needs to check MQ Dodongo's Cavern; that has Song of Time blocks accessible as child and adult. |
Song of Time blocks in the game are actually programmed to travel through time; that is they're present on the map either as adult or child, and playing the Song of Time will transfer the Song of Time block from the child to the adult timeline and vice versa. This is actually kind of hinted at in Goron City, in the lava room, where the Song of Time blocks are present as child by default but can be transferred to adult using the Song of Time, which makes it clear that the developers wanted to make use of this mechanic to solve puzzles. Except for the single case in Goron City, all Song of Time blocks in the game are accessible only as adult because they're found either in the adult dungeons or in Dampé's Grave, so this mechanic goes unused. On top of that, a handful of dungeons have the Song of Time blocks set as temporary flags that get reset as soon as you leave the dungeon, so the state of the Song of Time block doesn't get saved either way.
The Song of Time blocks in the Ice Cavern (in the room with the block puzzle) defy this logic as they are not present either as child or adult until you play the Song of Time to make them appear.
Development Leftovers
| Developer Oversights They're only human, after all. |
| Early Rooms Even rooms have to change several times before they're ready to go. |
| Prerendered Images Oh, that you would rend the heavens and come down, that these backgrounds would tremble before you! |
Debug Content
Nearly a decade after Ocarina of Time was released, a debug version of the game's Master Quest spinoff was leaked. The ROM was used by testers at Nintendo of Europe to test Master Quest prior to its GameCube release.
Decompressed by default, it had many debug features that weren't present in the retail versions of Ocarina of Time or Master Quest. These included a memory editor, audio debugger, and a number of test maps.
While the retail version of Ocarina of Time does not contain as many debug features as the prototype, a few are still present.
Map Select
The Map Select allows you to go to any area in the game. See the Map Select section of the Debug ROM article for a detailed analysis.
| Retail Game | Debug ROM |
|---|---|
![]() |
![]() |
The Debug ROM contains nine test maps that aren't in the retail version of the game, while the retail game contains entries for two test maps that aren't in the Debug ROM. View the Test Maps section of this article for more details.
Inventory Editor
The Inventory Editor allows you to manually edit Link's inventory, equipment, and quest items.
To activate it, use the code and press Start on Controller 1 to open the Pause Menu, then L to open the Inventory Editor.
| Version | Gameshark code |
|---|---|
| NTSC 1.0 | D01C84B5 0020 801D8DD7 0002 |
| NTSC 1.1 | D01C8675 0020 801D8F97 0002 |
| NTSC 1.2 | D01C8D75 0020 801D9697 0002 |
| NTSC (GC) | D01C9675 0020 801D9F97 0002 |
| NTSC (Master Quest)(GC) | D01C9635 0020 801D9F57 0002 |
| Japan (Master Quest)(GC) | D01C9675 0020 801D9F97 0002 |
| PAL (Master Quest)(GC) | D01C6E35 0020 801D7757 0002 |
| PAL 1.0 | D01C64F5 0020 801D6E17 0002 |
| PAL 1.1 | D01C6535 0020 801D6E57 0002 |
| PAL (GC) | D01C9635 0020 801D9F57 0002 |
| iQue Chinese | D01D5A35 0020 801E6357 0002 |
| iQue Traditionnal Chinese | D01D4DF5 0020 801E5717 0002 |
View the Inventory Editor section of the Debug ROM article for more details.
Memory Usage
| Version | Gameshark code |
|---|---|
| NTSC 1.0 | 801C6F64 0001 |
| NTSC (GC) | 801C8144 0001 |
| NTSC (MQ)(GC) | 801C8104 0001 |
| PAL 1.0 | 801C4FA4 0001 |
| PAL (GC) | 801C5944 0001 |
Crash Debugger
| Crash Debugger Everything you wanted to know about the crash debugger on one convenient subpage. |
Erase Save Data Code
On the title screen, pressing D-Up, D-Down, D-Left, D-Right, Start, B, C-Down, L, C-Right, C-Left, A, C-Up, R, Z on Controller 3 resets the save data. This can be used in case the save data was corrupted, which could cause a crash on the file select menu. After the first input, there is a 16-frame timer for hitting the next input within the sequence (which reverts the timer back to 16 with each correct input).
Build Dates
A build date can be seen in the crash debugger and can be found in memory.
| Version | RAM Address | Build Messages |
|---|---|---|
| US/JP V1.0 | 0x80006800 | zelda@srd44 98-10-21 04:56:31 |
| US/JP V1.1 | 0x80006800 | zelda@srd44 98-10-26 10:58:45 |
| EU V1.0 | 0x80006D20 | zelda@srd44 98-11-10 14:34:22 |
| US/JP V1.2 | 0x80006D30 | zelda@srd44 98-11-12 18:17:03 |
| EU V1.1 | 0x80006D20 | zelda@srd44 98-11-18 17:36:49 |
| JP GameCube | 0x80006540 | zelda@srd44 02-10-29 23:49:53 |
| JP Master Quest | 0x80006540 | zelda@srd44 02-10-30 00:15:15 |
| US GameCube | 0x80006540 | zelda@srd44 02-12-19 13:28:09 |
| US Master Quest | 0x80006540 | zelda@srd44 02-12-19 14:05:42 |
| US MQ Debug | 0x80012340 | zelda@srd44 03-02-21 00:16:31 |
| EU GameCube | 0x80006540 | zelda@srd44 03-02-21 20:12:23 |
| EU Master Quest | 0x80006540 | zelda@srd44 03-02-21 20:37:19 |
| iQue Chinese | 0x8000AB60 | build@toad.routefree.com 03-10-22 16:23:19 |
| iQue Traditional Chinese | 0x8000A610 | tyu@linuxdev3 06-10-13 14:17:43 |
Ura Zelda Leftovers
An add-on was originally planned for Ocarina of Time. Known by the development nickname Ura Zelda, this expansion would make use of the 64DD, a disk drive accessory for the Nintendo 64.
Title Screen Disk Tag
It is possible to trick the game into believing you have inserted an Ura Zelda disk. This can be done with a Japanese-region Ocarina of Time ROM by changing the bytes at 0xB9CCD0 from Ocarina of Time's identifier, EZLJ, to the identifier of another 64DD disk in your possession. The game will then recognize the 64DD disk as Ura Zelda.
This will cause the game to display a Disk tag on the title screen. In addition, save files with Disk tags appended will no longer be greyed out. However, the game crashes if you try to load them, perhaps because it is trying to access non-existent files on the disk.
Alternatively, you can enable the code D00EB36E 0001 801F0ADB 0004 (NTSC 1.0) while on the title screen to display the Disk tag.
Save File Disk Tag
By using the codes below, it is possible to append a Disk tag to your save file.
| Version | GameShark code |
|---|---|
| NTSC 1.0 | 801E4EC0 0001 |
| NTSC 1.1 | 801E5080 0001 |
| NTSC 1.2 | 801E5780 0001 |
| NTSC (GC) | 801E6080 0001 |
| US (MQ)(GC) | 801E6040 0001 |
| JP (MQ)(GC) | 801E6080 0001 |
| EU 1.0 | 801E2F08 0001 |
| EU 1.1 | 801E2F48 0001 |
| EU (GC) | 801E3888 0001 |
| EU (MQ)(GC) | 801E3848 0001 |
| iQue Chinese | 801F2440 0001 |
| iQue Traditional Chinese | 801F1800 0001 |
The tagged file is greyed out by default and cannot be opened unless a 64DD is attached to the system, and the game is tricked into thinking you have the correct disk inserted using the method detailed in the section above.
Test Maps
The retail version of the game contains two Map Select entries that were presumably used to test the 64DD add-on.
64DD TEST n64dd SetDiskVersion
The first entry is 64DD TEST n64dd SetDiskVersion. Selecting this option normally freezes the game. It would've been used to enable the 64DD Mode in the game. However, if you have a 64DD attached to your system, the following message will be displayed:
| Japanese | English |
|---|---|
| ディスクを差し込んでください。 | Please insert a disk. |
No Ura Zelda disk has ever been leaked, so it is impossible to test this option using the right disk. If you insert another 64DD disk, the following message appears:
| Japanese | English |
|---|---|
| 間違ったディスクが差し込まれてい る可能性があります。正しいディス |
It's possible that you have inserted the wrong disk. Please |
64DD TEST2 n64dd SetDiskVersion
The second entry is 64DD TEST2 n64dd SetDiskVersion. Selecting this option has no effect, even if a 64DD is attached to the system. This would've turned off the 64DD Mode in the game, hence why it does nothing.
Error Messages
Error messages indicating that the wrong 64DD disk is inserted are another relic from Ocarina of Time's past. This text can be found starting at 0xB9CDF0 in a decompressed 1.0 ROM. The messages were even translated into English.
Check to see if the proper disk is inserted. Please insert the disk the correct disk. Do not remove the disk when the access light is flashing. Please read the instruction manual for details. Please read the instruction manual for details. Please insert a disk. Please insert the disk again. Please remove the disk.
These messages can be viewed on a decompressed US-region Ocarina of Time ROM by attaching a 64DD to your system, then changing the bytes at 0xB96B0A in ROM (or $1D2C5A in RAM) from FF FF to 00 00. If these bytes are not changed, the N64 enters an infinite loop while checking the region of the attached 64DD. This is because the region of the attached 64DD is, by necessity, Japanese, as the accessory never got an overseas release.
In addition, there is also an error message indicating that the Expansion Pak is not inserted. This is due to the fact that the Expansion Pak is required to use the 64DD.
Are you sure the Expansion Pak is inserted correctly?
Function of ovl_64dd
Ocarina of Time 1.0 contains a file called ovl_64dd that performs the following functions:
4D50 Disk 0x785C8 (LBA25) LBA 25: 1DC000-1E0D17 (Size: 0x4D18) Copy 1DD060-1DD177 (Offset 0x1060 of LBA 25) to 1D9C30-1D9D47 (Size: 0x118) Var0x0 - Var0x4 Var0x8 - Var0xC 801C6F30 - Copy 64DD LBA Block? Args: A0 = Destination S0/A1 = Offset S1/A2 = Size 801C7E80 - Read whatever 64DD stuff? A2 = Var0x0 - Var0x4 T1 = Var0x0 + A2 T0 = Var0x8 - Var0xC SP 8011F0C8 $SP + 0x20 = T0 $SP + 0x18 = T1 $SP + 0x24 = A2 Data: -LBA 25 Offset 0x1060- Memory Patch 0x0 - Source Start (Base Offset 0x1DC000) 0x4 - Source End 0x8 - Destination Start (Memory Address) 0xC - Destination End (Memory Address) 0x10 - Pointer to Pointer to routine 800FB4E0 - VROM Replacement Disk (part of "code" file) 9 entries by default (thx Zoinkity) 0x0 - VROM1 Start 0x4 - VROM1 End 0x8 - VROM2 Start 0xC - VROM2 End 0x10 - unknown 0x11 - unknown 0x12 - >0 = load from disk 0x13 - written, 0 = loaded from cart, 1 = loaded from disk 80121220 - Pointer to Disk function pointers (Zoinkity) +0 in 800AD4C0 after calling, sets 80121220 = p->table of these function pointers +4 in 800AD51C if 64dd hooked, call this function and set detection byte to 0 +C ???; called later in 8009CEEC +10 ???; called in 8009A750, near start +14 ???; called at end of 8009A5C0 +18 ???; called at start of 8006C340 accepts: A0=[8011BF10, which is p->800F72D8] +1C ???; called in 8006C2CC, second, before setting 8011BF10 = 0 accepts: A0=[8011BF10] +20 ???; called at end of 8006C340 +24 ???; called in 8006C2CC, first +28 at 8006C0D0; replacement for 0x976000 (map_i_static) accepts: A0, ??? +2C ???; called at end of 80066DF0 +30 ???; called in 80066EC0 with A0 = 8011BF00 before setting 8011BF00 = 0 accepts: A0=[8011BF00] +3C ???; called at end of 8005BACC +40 ???; sole purpose of 8005BC44 +44 +48 in 8009CEEC V0 = p->entry replacing entry A0 in table A1 accepts: A0=index, A1=p->table [800FB4E0] incoming entries are 0x14 long; if entry[12] > 0, appears to replace +54 ???; called in 8009A750, and if V0 skips calling 80056C70(S1) accepts: A0 +58 ???; called in 800E162C accepts: A0=[80112E34 = 8010A94C], A1=[80112E38 = 8010EA8C], A2=[80112E3C = 80112CAC] +60 called in 800DC838; if V0, replaces cart load from 0x966000 (staff_message_data_static) accepts: A0, ??? +64 called in 800DC838; if V0, replaces cart load from 0x8EB000 (jpn_message_data_static) accepts: A0, ??? +68 called in 800DC838; if V0, replaces cart load from 0x92D000 (nes_message_data_static) accepts: A0, ??? +6C ???; called in 80082790 accepts: A0, A1=[800FBD18, a table of function pointers] +70 ???; called in 80000D28 accepts: A0=, A1, A2, A3, SP+10, SP+14, SP+18 +74 ???; called in 800A0BD0 accepts: A0 +78 V0 = p->data in bank+offset A1 in table A2 accepts: A0=p->struct, A1=entry, A2=p->table [800EFE14]
Files Replaced
ovl_64dd would have rewritten the following files with files on the Zelda disk:
| Scene File | Title Card Image File |
Location |
|---|---|---|
| ydan_scene | g_pn_06 | Inside the Deku Tree |
| ddan_scene | g_pn_08 | Dodongo's Cavern |
| bdan_scene | g_pn_07 | Inside Jabu-Jabu's Belly |
| Bmori1_scene | g_pn_01 | Forest Temple |
| HIDAN_scene | g_pn_03 | Fire Temple |
| MIZUsin_scene | g_pn_04 | Water Temple |
| jyasinzou_scene | g_pn_05 | Spirit Temple |
| HAKAdan_scene | g_pn_02 | Shadow Temple |
| HAKAdanCH_scene | g_pn_54 | Bottom of the Well |
Additionally, the room files for these scenes would likely also be replaced, since most rooms reference textures stored within the scene file.
Miscellaneous Content
Blanked Files
| To do: Sort into proper section, add more detail. |
The following files contain no data and were blanked out before the game's release.
01F5 gameplay_object_exchange_static 025F object_warp2 0270 object_efc_flash 0289 object_demo_tre_lgt 0349 object_spot01_objects2 03EE elf_message_ydan 05EF anime_model_1_static 05F0 anime_model_2_static 05F1 anime_model_3_static 05F2 anime_model_4_static 05F3 anime_model_5_static 05F4 anime_model_6_static 05F5 anime_texture_1_static 05F6 anime_texture_2_static 05F7 anime_texture_3_static 05F8 anime_texture_4_static 05F9 anime_texture_5_static 05FA anime_texture_6_static
Some guesses as to the purposes of each file can be made based on their filenames:
- gameplay_object_exchange_static was likely an object file that several actors could have depended on. Since files with "static" in their name aren't compressed, it's possible that the bulk of this file might have resided on rom, with the engine loading select assets on the fly.
- the object_* files are object files. All object_* files listed here are directly referenced by the game's object table.
- object_spot01_objects2 would have been an object file specific to Kakariko Village (known as spot01).
- elf_message_ydan is one of two "elf_message" files, which contain the data for Navi's main quest hints, specifically the "spontaneous" C-Up hint Navi gives that can alternatively be brought up when Saria's Song is played. While the file is used and loaded into memory when the player is inside a dungeon and contains data for a single message ("Link, Try to keep moving!!"), there is an option that loads no "elf_message" for a given scene that still triggers the same message, suggesting that there might have been a more comprehensive hint system planned for dungeons.
- the anime_model_* and anime_texture_* files are unique in that there are no other files in the game that begin with "anime", so the purpose of these files isn't immediately clear.
Subpages
| Oddities The Odd-yssey of Hyrule. |
| Curious Collision The better question is "Where can't you use the Hookshot?" |
| Program Revision Differences Blood is thicker than bile. |
Alternate Languages
All versions have a byte which stores what language to use during play, but in the Japanese/US releases the language cannot be changed. The following GameShark codes will set what language is used.
| NTSC Version | Japanese | English |
|---|---|---|
| 1.0 | 8011B9D9 0000 | 8011B9D9 0001 |
| 1.1 | 8011BB99 0000 | 8011BB99 0001 |
| 1.2 | 8011C089 0000 | 8011C089 0001 |
| Master Quest | 8011C531 0000 | 8011C551 0001 |
Title Screen Save File
While technically not unused itself, the title screen is actually using a debug save file. You can access the save file with the below code. This will give you all equipment, songs, and most upgrades. The file name will spell Link in Japanese. Make a save file in slot 1 with the code on.
| Version | GameShark Codes |
|---|---|
| NTSC 1.0 | 81090C3A 403B 81090C78 1000 81090C7A 000B |
| NTSC 1.1 | 81090C56 403B 81090C94 1000 81090C96 000B |
| NTSC 1.2 | 8109127A 41CF 810912B8 1000 810912BA 000B |
| PAL 1.0/1.1 | 8109125A 41AF 81091298 1000 8109129A 000B |
| US (GC) | 8109099A 3F97 810909D8 1000 810909DA 000B |
| PAL (GC) | 810909CA 3F8B 81090A08 1000 81090A0A 000B |
| Japan (GC) | 810909BA 3F9F 810909F8 1000 810909FA 000B |
| US (Master Quest)(GC) | 8109097A 3F8F 810909B8 1000 810909BA 000B |
| Europe (Master Quest)(GC) | 810909AA 3F83 810909E8 1000 810909EA 000B |
| Japan (Master Quest)(GC) | 8109099A 3F97 810909D8 1000 810909DA 000B |
- Featured articles
- Games developed by Nintendo
- Games published by Nintendo
- Nintendo 64 games
- GameCube games
- IQue Player games
- Games released in 1998
- Games with unused animations
- Games with unused areas
- Games with unused enemies
- Games with unused objects
- Games with unused graphics
- Games with unused models
- Games with unused cinematics
- Games with unused items
- Games with unused abilities
- Games with unused sounds
- Games with unused text
- Games with debugging functions
- Games with regional differences
- Games with revisional differences
- To do
- Legend of Zelda series
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with regional differences
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused abilities
Games > Games by content > Games with unused animations
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused cinematics
Games > Games by content > Games with unused enemies
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused items
Games > Games by content > Games with unused models
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Nintendo
Games > Games by platform > GameCube games
Games > Games by platform > Nintendo 64 games
Games > Games by platform > Nintendo 64 games > IQue Player games
Games > Games by publisher > Games published by Nintendo
Games > Games by release date > Games released in 1998
Games > Games by series > Legend of Zelda series
The Cutting Room Floor > Featured articles













