The Cutting Room Floor now has a Patreon page. Thanks for all your support!

If you've blocked our ad, please consider unblocking it.
We promise it isn't annoying. No flash, no sound, ever.

Ads by Project Wonderful! Your ad here, right now: $0

The Legend of Zelda: Ocarina of Time

From The Cutting Room Floor
Jump to: navigation, search
Featured article

Title Screen

The Legend of Zelda: Ocarina of Time

Also known as: Zelda no Densetsu: Toki no Ocarina (JP)
Developer: Nintendo
Publisher: Nintendo
Platforms: Nintendo 64, GameCube, iQue Player
Released in JP: November 21, 1998 (Nintendo 64), November 28, 2002 (GameCube)
Released in US: November 22, 1998 (Nintendo 64), February 18, 2003 (GameCube)
Released in EU: December 11, 1998 (Nintendo 64), May 3, 2003 (GameCube)
Released in AU: December 18, 1998 (Nintendo 64)
Released in CN: November 17, 2003 (iQue Player)


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
EnemyIcon.png This game has unused enemies.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
ItemsIcon.png This game has unused items.
Sgf2-unusedicon1.png This game has unused abilities.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.


NotesIcon.png This game has a notes page
ProtoIcon.png This game has a prototype article
BugsIcon.png This game has a bugs page
PrereleaseIcon.png This game has a prerelease article

It's a bird... It's a plain... It's Ocarina of Time!

Unused Content

Animations

OoT-beam blade.jpg
Unused Link Animations
Never forget the jump strike.
OoT-beam blade.jpg
Unused NPC Animations
What do the dolls do when no one is watching?

Atmosphere

Oot-unusedcamera dekutree2Editor.png
Unused Camera Settings
Camera, camera, on the wall, which is the fairest angle of all?
OoTEnvironment DT Unused2.png
Unused Environment Settings
Through sun and snow we all shall go.

Cutscenes

OoTOcarinaPedestal.png
Alternate Scene Setups
The ghosts of development past.
MovieIcon.png
Unused Cutscenes
I bet you haven't seen these scenes.

Resources

OoTGiganticRectangle.png
Unused Actors, Objects, & Variables
ALL GLORY TO THE HYPNOSTONE!
SoundIcon.png
Unused Sound Effects
They say Hylians have big ears in order to hear the voices of the gods...
TextIcon.png
Unused Text
How can flags be real if our eyes aren't real?
ZeldaOOTdebug-earlyrupeesbag.png
Unused Textures
Here dwells the lost language of the Hylia.

Data

OoT-A0192-O0164.png
Unused Enemy Damage Variables
Bop those baddies!
OoT-Unused exit Zoras river.png
Unused Exits
Pull a Pocahontas and jump off the waterfall.
MM-O0113.png
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

Beam Blade Attack

Hmmm...
To do:
Remnants like what?
OoT-beam blade.jpg

In prerelease 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.


(Source: Dark_link-77 (Discovery & Restoration))

Dark Link Behavior

Dark Link may be the enemy with the most extensive coding in the game, and the programmers certainly considered all options. 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 as the Longshot, gained from defeating him, is needed to cross the desert, which is a requirement for obtaining Nayru's Love.

Seeing as the Dark Link 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. 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
OoTheadunused.png OoTheadused.png

Sold Out Item as Master Sword

This item can be equipped with the use of a cheat, this is linked to action 0x03 that makes Link to use the Master Sword. You can add it in the B button with the code 8011A638 002C for version 1.0

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 8011B9ED 0001 (U v1.0).

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 behaviour as she does when she appears in Lon Lon Ranch during the day, teaching Link Epona's Song.


(Source: Porcino)

Development Leftovers

OoT-ganons castle forgotten sun block actor.png
Developer Oversights
They're only human, after all.
OoT-FireT prebossearly.png
Early Rooms
Even rooms have to change several times before they're ready to go.
OoT-Market Preview.png
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
OOT MapSelect1.png OOT MapSelect2.png

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

OoTInventoryDebug.png

The Inventory Editor allows you to manually edit Link's inventory, equipment, and quest items.

To activate it, use the code D01C84B5 0020 801D8DD7 0002 with OoT 1.0. Press Start on Controller 1 to open the Pause Menu, then L to open the Inventory Editor.

View the Inventory Editor section of the Debug ROM article for more details.

Crash Debugger

ZeldaOoT-CrashDebug-001.png
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).


(Source: mzxrules)

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

OoT-disktitle.png

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

OoT-DDSave.png

By using the codes below, it is possible to append a Disk tag to your save file. It is also possible to achieve this effect without a GameShark by slowly pulling out the left side of your Ocarina of Time cartridge while copying a file. However, this is not recommended, as meddling with your cartridge in this manner may cause permanent damage.

Version GameShark code
NTSC 1.0 801E4EC0 2222
NTSC 1.1 801E5080 2222
NTSC 1.2 801E5780 2222

The tagged file is greyed out 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. 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
switch it for the correct disk.

Please remove the disk.

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.

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?


(Source: Jimmy130)

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]


(Source: LuigiBlood & Zoinkity)

Files Replaced

ovl_64dd would have rewritten the following files with files on the Zelda disk:

Filename Filetype Filename Filetype Location
ydan_scene .zscene g_pn_06 .zdata Inside the Deku Tree
ddan_scene .zscene g_pn_08 .zdata Dodongo's Cavern
bdan_scene .zscene g_pn_07 .zdata Inside Jabu-Jabu's Belly
Bmori1_scene .zscene g_pn_01 .zdata Forest Temple
HIDAN_scene .zscene g_pn_03 .zdata Fire Temple
MIZUsin_scene .zscene g_pn_04 .zdata Water Temple
jyasinzou_scene .zscene g_pn_05 .zdata Spirit Temple
HAKAdan_scene .zscene g_pn_02 .zdata Shadow Temple
HAKAdanCH_scene .zscene g_pn_54 .zdata Bottom of the Well


(Source: LuigiBlood & Zoinkity)

Miscellaneous Content

Blanked Files

Hmmm...
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

OoTHyruleFieldAxis.png
Oddities
The Odd-yssey of Hyrule.
OoT ST Hidden HS.png
Curious Collision
The better question is "Where can't you use the Hookshot?"
OOT GerudoSymbol1.png
Program Revision Differences
Blood is thicker than bile.

Alternate Languages

Zelda ocarina us japan.png

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