You are on page 1of 22

the legend of zelda: ocarina of time

-debug version-
0. document information
last revision: sept. 20 2005
history:

sept. 20 2005
• initial release.

1. introduction
the ocarina of time debug version is a leaked n64 rom of the legend of zelda: ocarina of
time with several neat development features enabled. this document will attempt to
describe these featues in as much detail as possible. this rom is based on master quest, so
some differences will be visible from regular oot roms.
note: in some screenshots you may see a small square in the top left corner of the screen.
this is part of the map and appears to be an emulation error.

2. getting it to run
because the debug rom contains a lot of code which was never intended to be used in the
final release and therefore never verified for correctness, many emulators have trouble
running the rom. (no information is currently available about running it on an actual n64
system. details are welcome.) setting up emulators to run the rom properly can be tricky...

project 64
pj64, for the most part, will run the rom with no significant problems (though it does have
a tendency to go into an endless loop spewing message boxes, at which point you can
only close the emulator). because pj64 uses the rom checksum to identify a game, it won't
recognize this rom as oot and will therefore use the default rom settings. to get it working
you should go into the rom settings (options -> settings -> rom settings while the game is
running, or right-click the rom in the rom list and click edit game settings) and set up
everything the same way as oot. for reference, oot has the following settings in pj64 v1.6.
also, an alternate configuration is provided in case oot's doesn't work as well.
property oot setting alternate setting
cpu core style recompiler recompiler
self-modifying code method check memory advance protect memory
memory size 8mb* 8mb
advanced block linking default on
default save type use first used use first used
counter factor 2 default
larger compile buffer no no
use tlb no no
register caching yes yes
delay si interrupt no no
sp hack no no
rsp audio signal no no
*although oot uses 4mb, the debug rom needs 8mb to function properly.

nemu
though nemu has some trouble running the rom, it will run with a few simple tweaks.
first, set the memory size to 8mb. second, use any video plugin other than the default, as
this plugin will not render the graphics at all. some errors may be reported when the rom
is first loaded; these can be ignored.

all emulators
because the debugging features use all 4 controllers, you will need to configure all of
them. if you have 4 joysticks or an adaptoid, great. otherwise, use as many controllers as
possible and map the rest to the keyboard. you may simply map controllers 2, 3 and 4 to
the same set of keys and only enable one at a time as there is no known instance where
multiple controllers (aside from 1) need to be used at once. additionally, you may want to
enable a memory pak in one or more controllers as this will be used in the camera
debugger. if you only have one joystick and use pj64, here is an alternate layout which
maps every button on controllers 2, 3 and 4 to its own key, so that they may all be used at
once.
finally, make sure that you are not using any of the following graphics plugins:

• nemu's default plugin (won't render at all)

• jabo's video plugin v1.60 (renders incorrectly; v1.52 works)

plugin settings
some plugins will require a bit of tweaking to get the game running properly. these
settings may not work perfectly for you but should get the game running.
jabo's video v1.52
this should work fine, just uncheck self-rendered textures.
rice's video v6.10
full tmem emulation: on
load hi-res textures if available: off
accurate texture mapping: on
n64 frame buffer emulation: basic framebuffer & with emulator
rendering to texture emulation: basic render-to-texture
try to save vram: on

3. map select

the map select screen allows you to jump to any area in the game. to access it, either
select file #1 or press l+r+z on controller 1 at any time. (note: the controller combo does
not always work for some reason.) the controls are as follows, using controller 1:
button action
d-pad up/down/left/right select area
a/start enter area
b choose link's age
l next page
r decrease 'stage'
z increase 'stage'
c-up decrease 'opt'

stage determines what part of the area you'll appear in or what cutscene will play (if any).
opt's effect is unknown. age is 5 for young link and 17 for adult link. the names in the list
are unfortunately not very explanatory and mostly in japanese. harrosin has written an
english list (though some revisions have been made):
1: hyrule field
2: kakariko village
3: graveyard
4: zora's river
5: kokiri forest
6: sacred forest meadow
7: lake hylia (stage 01 shows the credits)
8: zora's domain
9: zora's fountain
10: gerudo valley
11: lost woods
12: desert colossus
13: gerudo's fortress
14: haunted wasteland
15: hyrule castle
16: death mountain trail
17: death mountain crater
18: goron city
19: lon lon ranch
20: temple of time
21: chamber of sages [cutscene]
22: shooting gallery
23: castle courtyard game
24: underground grave 1
25: underground grave 2
26: royal family's tomb
27: great fairy's fountain (din)
28: great fairy's fountain (farore)
29: great fairy's fountain (nayru)
30: ganondorf's tower - collapsing [cutscene]
31: zelda's courtyard
32: fishing pond
33: bombchu bowling alley
34: lon lon ranch house
35: lon lon ranch silo
36: hyrule castle town - guard house
37: potion shop
38: treasure box shop
39: house of skulltula
40: hyrule castle town - main alley
41: market
42: back alley
43: tempe of time - outside
44: link's home
45: house (kakariko)
46: house (back alley)
47: house of the know-it-all brothers
48: house of the twins
49: mido's house
50: saria's house
51: stable
52: gravekeeper's hut
53: house (back alley)
54: house (kakariko)
55: lakeside laboratory
56: running man's tent
57: bazaar
58: kokiri shop
59: gordon shop
60: zora shop
61: closed shop
62: potion shop
63: back alley night store
64: happy mask shop
65: gerudo training ground
66: inside the deku tree
67: deku tree boss [boss]
68: dodongo cavern
69: dodongo cavern boss [boss]
70: inside jabu-jabu's belly
71: inside jabu-jabu's belly boss [boss]
72: forest temple
73: forst temple boss [boss]
74: bottom of the well
75: shadow temple (literal translation: dungeon beneath the grave)
76: shadow temple boss [boss]
77: fire temple
78: fire temple boss [boss]
79: water temple
80: water temple [boss]
81: spirit temple
82: spirit temple [iron knuckle]
83: spirit temple boss [boss]
84: stairs to ganondorf
85: ganondorf [boss]
86: ice cavern
87: dampé's grave (literal translation: beneath the grave rirei)
88: inside ganon's castle
89: escaped ganon's castle [final boss fight]
90: escaping ganon's castle 1
91: escaping ganon's castle 2
92: escaping ganon's castle 3
93: escaping ganon's castle 4
94: escaping ganon's castle 5
95: thieves' hideout 1
96: thieves' hideout 2
97: thieves' hideout 3
98: thieves' hideout 4
99: thieves' hideout 5
100: thieves' hideout 6
101: underground grotto 1
102: underground grotto 2
103: underground grotto 3
104: underground grotto 4
105: underground grotto 5
106: underground grotto 6
107: underground grotto 7
108: underground grotto 8
109: underground grotto 9 (looks beta)
110: underground grotto 10
111: underground grotto 11
112: underground grotto 12
113: underground grotto 13
114: underground grotto 14
115: various cutscenes
116: special room (strongbox warp)
117: bamboo grass test (assumption: ground test)
118: test map (lots of water and ledges, ladders, etc)
119: test room (craploads of treasure boxes)
120: medium/mediocre stalfos room
121: boss stalfos room (beta; not much there, the warp takes you to the
courtyard)
122: beta dark link arena, including dark link
123: shooting gallery
124: depth test (9 squares way off in distance, link falls to his doom)
125: hyrule garden game 2 (pj64 goes into endless error message loop)
title: title screen
note that if you warp to an underground grotto or similar area, trying to leave will take
you to an undefined area which appears to be an unused part of the deku tree. also, if
when you select a map, the input display just stays on the screen forever, it means the
game has crashed, most likely because you specified an invalid stage.

4. inventory editor

this screen allows you to edit your current items, equipment, and other related variables.
to access it, press l on any pause menu. press l again to exit. the controls are as follows,
using controller 1:
button action
d-pad select value
c change value
note that the pause menu is still active, thus pressing other buttons will perform the
actions they normally would on that menu. the c buttons work differently depending
which value is selected. from left to right, top to bottom, the values are:

• rupee - allows you to change your rupee count, from 0 to 9999. c-up subtracts
100, c-down adds 100, c-left subtracts 1, and c-right adds one.

• hearts - allows you to change your current and max health, from 0 to 20 hearts.
the first value is max, second is current. c-left or c-up decrease, c-right or c-down
increase. when changing current health, c-left and c-right increase/decrease by 1/4
while c-up and c-down increase by an entire heart.

• item - allows you to change the quantity of each of your items. use left and right
to select an item slot. c-left increases, c-right decreases, c-up sets to zero. for
items that do not have quantities, the number represents an item number. only
numbers valid for that slot can be used. note that to get rid of an item without a
quantity, you must press c-up.

• key - allows you to change the amount of keys you have in each dungeon, from 0
to 9. while the cursor may appear to be covering two digits, it's actually only
supposed to cover one. c-up and c-left decrease, c-right and c-down increase. note
that there are 18 values, which is more than are actually used in the game.

• upgrades - allows you to select equipment upgrades. from left to right, the values
control quiver, bomb bag, gauntlet, scale, wallet, bullet bag, and two values that
don't seem to be used. c-left or c-up decreases, c-right or c-down increases.

• equipment - allows you to specify which equipment you have. from left to right,
the values control sword, shield, tunic, and boots. the c buttons work a little
differently here in that they toggle the bits of each value. c-up toggles bit 3 (not
used), c-right toggles bit 2 (slot 3), c-down toggles bit 1 (slot 2), and c-left toggles
bit 0 (slot 1). the value 7 gives you all items. values above 9 aren't displayed
correctly.

• map - not tested, but assumed to control dungeon items (big key, compass and
map). the c-buttons work the same as they do for equipment, except that c-up does
not do anything (nor should it in equipment; apparently a small oversight on the
programmers' behalf).

• medallions - allows you to control whether you have each medallion. the values,
from left to right, control forest, fire, water, spirit, shadow, and light. c-up or c-
left toggles the value. (note that there's no bit that lights up that triforce. though
there isn't one that gives you magic or double defense either...)

• stones - same as medallions, but for the spiritual stones instead. from left to right,
the values control kokiri's emerald, goron's ruby and zora's sapphire. (note: to
reach this option, you need to move the cursor past ocarina.)

• ocarina - same as medallions, this time for ocarina songs. from left to right, the
values control minuet of forest, bolero of fire, serenade of water, requiem of
spirit, nocturne of shadow, prelude of light, zelda's lullaby, epona's song, saria's
song, sun's song, song of time and song of storms. the scarecrow's song is not
included in this list.

• collect - these values again work the same as the medallions. the first controls
whether you have the stone of agony, the second the gerudo's card.

• gold skulltula - allows you to change the number of gold skulltulas you have. c-up
and c-left increase, c-right and c-down decrease.

• heart piece - allows you to choose how many heart pieces you have. c-up and c-
left increase, c-right and c-down decrease. the game allows values up to 5, even
though only up to 3 is valid.
5. memory editor

this feature displays variables from various areas in memory and allows you to edit them.
to display them, press any of the following button combinations on controller 2. each
combo displays a different variable group (sorted alphabetically).

buttons group buttons group


l+c-up r l+right ru
r+left ra r+c-left rv
l+z rc r+c-right rw
l+left rd r+b rx
l+start rg l+r ry
r+start rh l+b rz
l+up ri c-right+start rb
r+a rk r+z rc
l+c-right rm a+start rd
l+down rn r+c-up ri
l+c-down ro b+start rk
l+a rp r+right rm
r+c-down rq r+up rn
l+c-left rs
(all directions refer to the d-pad.)
note: to activate a menu whose combo uses the start button, you must press start first.
pressing it second won't have any effect. also, sometimes it takes a few tries for the menu
to appear.
press up and down on the d-pad to select a value, and left and right to change it. to close
the menu, press any other valid button combo. to view the next page press the same
combo again. the menu will disappear when you scroll past the last page. (these actions
are done using controller 2 as well.)
though many of the variables are unknown and probably unused, some have interesting
effects, which are listed here. variables that aren't listed don't appear to do anything
noticable. (since the game simply displays all data in memory from a certain area, it's
likely that those whose value is always 0 don't do anything at all.)
group r (press l+c-up)
• r00: red intensity 1. (tip: 256 = 0, -1 = 255.)

• r01: green intensity 1.

• r02: green intensity 2.

• r03: red intensity 2.

• r04: green intensity 2.

• r05: blue intensity 2.

• r06: red intensity 3.

• r07: green intensity 3.

• r08: blue intensity 3.

• r09: colour edit switch. 0 means you can edit the colour intensities and they won't
change. anything else means the game will update them and you can't edit them.

• r10: red intensity 4.

• r11: green intensity 4.

• r12: blue intensity 4.

• r14: visibility. 1000 is fully visible.

the visibility setting drastically changes the area's appearance. one wonders why nintendo
didn't use 1000 for hyrule field; it looks a lot more impressive.

group ra (press r+left)


unknown; contains a setting that colour-codes the ground you're standing on (what colour
means what is unknown). to activate it, ra15, ra23 and ra25 must all be set to a nonzero
value.

group rc (press l+z)


• rc02: enable time display

• rc11: override default entrance/exit animation (needed for rc12)

• rc12: select animation:

• 0: circles
• 1: beta triforce fade

• 2: fade to black

• 3: fade to white

• 4: fade to black fast

• 5: fade to gray fast

• 6: fade to black slow

• 7: fade to white slow

• 8: same as 0

• 9: same as 3

• 10: same as 3

• 11: no transition

• 12: same as 3

• 13: area doesn't actually load

• 14: normal, sand effect

• 15: normal, temporary sand effect

• 16: cutscene mode(?) - doesn't render anything, can't pause, time stopped

• 17: screen turns gray

• 18: fade to green

• 19: fade to blue

• 20+: crash

• rc16: unknown, can't edit

• rc17: unknown, can't edit

• rc18: unknown, can't edit

• rc19: unknown, can't edit


rd group (press l+left)
• rd00: toggles slow motion.

ro group (press l+c-down)


• ro00: displays camera debug info if set to 1. warning: if set to a negative value,
you won't be able to set it to a positive value again.

rs group (press l+c-left)


• rs00: toggle cpu status display. specify a value from 1 to 3; higher values show
more detail. (interesting note: cannot be set negative.)

• rs01: unknown, but can't be set negative.

rw group (press r+c-right)


• unknown. rw07 changes when the a button icon moves.

rx group (press r+b)


• rx16: a button y position.

• rx17: a button x position.

• rx19: a button text y position.

• rx20: a button text x position.

• rx21: a button text width.

• rx22: a button red intensity.

• rx23: a button green intensity.

• rx24: a button blue intensity.

• rx28: a button text height.

6. audio debug

the audio debugger is one of the most extensive debugging systems ever seen in a video
game and allows for just about every (if not every) aspect of the game's sound system to
be tested in any number of ways. it contains 15 pages of debugging menus and
information. no way has yet been found to access it within the game normally, but some
clever hackers came up with the gameshark code 81210b2f 1111 to break into it.
the controls are as follows, using controller 4:
button action
l previous page
r next page
z change text colour
note: the debug print colour is a separate setting.
note that this menu lags the game considerably (though this may just be a pj64 issue, or
the computer it was tested on may not have been fast enough). a good place to
experiment with it is map #118, since there is absolutely nothing there save for some
water and ground and link. of course, this means there won't be a lot of sounds being
made there, so you may want to experiment on other maps with certain features.

page 1: non
this page allows you to toggle the music and sound effects, and displays information
about current sounds.
bgm cancel: disables the music. press a to toggle.
se mute: disables the sound effects. press b to toggle.
se handle: doesn't seem to be changable.
additional info is displayed here when link makes a sound.

page 2: free area


this page displays various statuses.
sound game frame now: unknown. the more simultaneous sounds play, the higher the
value.
sound game frame max: the highest recorded frame value.
switch bgm mode: unknown.
enemt dist: unknown, probably related to enemy sounds.
ganon dist: unknown.
demo flag: value is 1 on the title screen, 0 during the game. unsure of its purpose.
note: this screen also displays any errors that occurr, as in this example:

there is no currently known way to reproduce this error.

page 3: scroll print


this page controls the debug print at the right side of the screen. press up and down to
select a value, and left and right to edit it.
switch: toggles the debug print.
lines: selects how many lines are displayed at a time.
color: changes the text colour.
player: toggles whether player sounds (sounds made by link) are logged.
item: toggles whether item sounds (eg a bomb's fuse burning) are logged.
envrom: toggles whether environment sounds (eg running water) are logged.
enemy: toggles whether enemy sounds (sounds made by an enemy) are logged.
system: toggles whether miscellaneous sounds (eg toggling the map) are logged.
ocarina: toggles whether ocarina notes are logged.
voice: toggles whether voice clips are logged.
seq ent: toggles whether sequences beginning and ending are logged.
note: on this page, the c buttons may be used to move the debug print, a to return it to its
default position, and b to clear it. moving the text right to the top of the screen displays
several japanese characters, though this appears to be garbage text.

page 4: se parameter change


this page allows you to test the sound effects. press up and down to select a value, left
and right to modify it, a to play the sound, and b to stop a looping sound.
se hd: selects a sound effect type.
se no: selects a sound effect.
se sw: unknown. left and right select a bit, c-down toggles it. the hex value is shown at
the right.
se pr: unknown.
note: the ocarina bank contains a lot of miscellaneous sounds, since only one sound is
actually needed for ocarina notes.

page 5: ocarina test


this page displays various ocarina-related info. obviously, it doesn't mean much unless
you're actually playing the ocarina.
seq info: unknown. the first byte changes when a song is played.
play info: the first byte tells which note is being played (63 means none). the second byte
is unknown but has the value ff if you aren't playing the ocarina and fe if you are. the
third byte counts how many notes you've played.
8note rec pointer: unknown, presumably the ram address that stores the notes you've
played.

page 6: natural sound control


this page seems to be completely blank. it may require further hacking to unlock. (or, it
may just be blank for some reason.)

page 7: block change bgm


this page allows you to select the background music to play. press up and down to select
a value, left and right to modify it, a to play the selected song, and b to stop the song.
bgm no: selects a track.
scene set: selects a part of the track, for tracks with multiple parts (eg hyrule field).
next scene: displays the next scene that will be played.
now scene: unknown.
now block: unknown.
port: unknown.
page 8: se flag swap
this page's purpose is unknown. press up and down to choose a row, and a to select it.
once you've selected a row, press left and right to choose a value, and up and down to
change its value. press a again to deselect the row. press b to reset all values in the current
row to 0.

page 9: interface info


this page displays information about each type of sound effect currently being played.
press up and down to select a value and left and right to change it. the value determines
what information will be displayed.

page 10: channel info


this page also appears to be blank.

page 11: sub track info


this page displays detailed information about the current bgm track. press up and down to
change the group track value, and left and right to change the sub track value. all of the
information is either self-explanatory or unknown.

page 12: grp track info


another blank page.

page 13: heap info


this page displays various information about the game's sound program. nothing is known
about the actual information displayed.

page 14: spec info


another blank page.

page 15: sound control


this page allows more in-depth testing of the music and sound effects. press up and down
to select a value, and left and right to change it.
seq 0: selects a song. press a to play the song, b to stop.
seq 1: same as seq 0. 2 songs may be played at once.
se hd: selects a sound effect group. press a to play the sound, b to stop.
se no: selects a sound effect. press a to play the sound, b to stop.
s-out: selects the sound output mode.
bgm ent: unknown.
spec: unknown. pressing a stops the music.
na snd: plays nature sounds. press a to play the sound, b to stop.
cam wt: unknown.
link wt: unknown.
se ent: unknown.

7. camera debug

the camera debugger is by far one of the coolest debug features ever. with it, you can
change the camera angle to wacky new views, move around in cutscenes, fly through the
air, water, or whatever, and even record your own demos like the ones shown when you
first enter an area.
the camera debugger is broken down into 3 different modes. to activate or deactivate it,
press start. (all input is done through controller 3.) press z to switch modes.

debug camera mode


this mode changes how the camera acts. there are 3 settings to choose from (shown at the
top of the screen in japanese); press c-left to switch settings.
the first setting is fixed-position (see above screenshot). with this, the real camera stays
where it is, and a red ghost camera follows link instead, along with an arrow on his head
to indicate which way he's facing. this allows you to see how the camera behaves in
various situations. in this mode, the camera follows link, but does not automatically rotate
itself like normal. in the first 2 modes, the d-pad can be used to move the real camera up,
down, left, and right. in all 3 modes, the joystick can be used to rotate it, and a and b can
be used to move it forward or backward. (note that in follow mode, when the buttons are
released it will move back to its original distance from link.) additionally, r will move the
real camera to the ghost camera's position. if you hold r, it will move like normal.

demo camera tool mode


this mode lets you control the camera completely independent of link. again, there are 3
settings which you can choose by pressing c-left. this mode is mainly used to record
demos, but also can be used simply to view any area from any angle.
the first setting is free movement: in this mode, you can use the d-pad to move the camera
up, down, left and right. the second setting is advanced movement:

in this mode, the d-pad is used to navigate an on-screen menu. up and down select a
value, left and right modify it. the first option moves the camera forward or backward. the
second changes the number of frames that will be generated between this point and the
next. the third rotates the camera. the effects of the other options are not yet known.
the third setting displays the points you've set as green ghost cameras and arrows.

the controls are as follows:

• a: move camera forward.

• b: move camera backward.


• r: create point at current position.

• c-up: view next point.

• c-down: view previous point.

• c-left: change mode.

• c-right: hold to view demo frame-by-frame.

• l:

• in mode 1, while holding l, a and b move the axes toward or away from
the camera. the farther they are, the faster the camera moves. pressing up
and down will move the camera forward or backward.

• in mode 2, speeds up menu work. holding l while adjusting an option


changes its value by 5-10 (depending on the option) instead of 1.

• in mode 3, it has the same effect as in mode 1, but instead of moving the
axes away from the camera, it moves the camera away from the axes. the
closer it gets to them, the slower it moves, eventually stopping at the
center. this looks cool if you zoom way out so you can't see the area, then
zoom back in.
pressing r creates a point at the current position. these points are used to create demos. the
game uses a process called 'tweening' to create a full-motion video out of these points. the
game places the camera at the first point, then uses a complex algorithm to move the
camera smoothly to the next point by generating several 'sub-points' between them and
simply jumping from one to the next. (the number of sub-points can be changed to adjust
the motion speed; this is the number of frames (second option) in the mode 2 menu.) if
you place a point incorrectly, you can use c-up and c-down to navigate to it, move the
camera, and press r to overwrite it. be sure to navigate back to the current camera position
afterward (keep pressing the buttons until the point counter doesn't show 'xx/xx') or you'll
end up overwriting other points.
holding c-right allows you to view the demo you've created so far; you can stop at any
time by letting go of the button. this is good for testing your animation to ensure that the
camera does not go through an object and that it will actually play the sequence properly.
(the editor seems to have a lot of bugs which often prevent the sequence from playing or
cut it off early.)

demo control mode


this mode allows you to save your created sequences to a memory card (not sure which
card yet), load sequences from the card, and arrange the sequences to form the demo. the
controls are as follows:

• d-pad left/right: select slot


• d-pad up/down: navigate menu

• a: insert sequence

• b: remove sequence

• l: rearrange sequences

• c-right: play demo

once you've created a sequence, select a question mark and press a to insert your
sequence in this slot. the sequence is assigned a letter, starting with a and increasing.
pressing b removes the sequence. selecting one of the dashes next to a question mark and
holding l will display that sequence's letter in green. you can then use the d-pad to select
a different dash and release l, and the sequence will be moved to this slot (all sequences
after it are moved ahead). press c-right to view the entire demo. a green arrow will mark
the current sequence that is playing. the counters displayed on the screen display
information about the demo. the first number is the number of frames played in the
current sequence. the second is the number of frames played in the entire demo. the third
is the current point number. press c-left at any time to stop the demo. the beginning of the
sequence is marked with a rupee sound, and the end by a recovery heart sound.
note: inserting and arranging sequences can be difficult. if you create a sequence and
insert it as a, then create a different sequence and don't insert it, only the old sequence
will play. to replace it with your new sequence, you must remove it and insert the new
one. if you don't want to remove the old one, you can insert your new one in another slot,
then move it in front of the first with l.
pressing up or down navigates through the menu. the menu is only displayed if save, load
or clear is selected, but pressing up or down will still display it in edit mode. the first
option is save, the second is load, and the third is clear. (tip: look at the letter in front of
the save slots. s means save, l means load, c means clear.)

these options allow you to save and load your created sequences to and from the memory
card. the process works the same way as editing the demo; use left and right to select a
slot, then press a to save to/load from/clear (erase) that slot. note that the letters assigned
to a sequence here are not the same as those assigned in the demo itself. you can save
over an existing sequence in which case you'll be prompted to overwrite it; press left or
right to select yes (option on the left) or no (on the right). when you are prompted to press
b, the operation succeeded.
unfortunately, the demo editor seems to have a number of limitations which seem to be
bugs. these bugs can make it difficult or even impossible to use at times. any information
on what causes them and/or how to work around them would be highly appreciated.

• sometimes the game will refuse to play a sequence, displaying the same error it
would if no points were created no matter how many actually were. (the error
message has not been successfully translated, partially because of the difficult-to-
read font, but it mentions a 'key frame' which is another term for a point.)
unfortunately this seems to be quite common.
• in just about every case, the number of points that can be used is severely limited.
though there doesn't appear to be a limit to the number of points that can be
actually created, the game will cut the sequence short (you will notice when
viewing the sequence that the total number of points is too low). sometimes the
number of points allowed is more than adequate (current record is 11), but in
many cases it's a very low number like 4 or even 0 (only one point is displayed).
this is much more common after one sequence has already been created.

• the first point created in a sequence seems to be omitted entirely. this can be
worked around by simply placing it in some random location.

• in certain areas, points often become corrupted (usually when saving) or the demo
simply won't play (it just ends immediately). though little testing has been done
due to the other annoying bugs, the following notes have been made:

• in an area which already contains a demo (lake hylia), points get


corrupted.

• in an area which does not contain any sequences (the test map), nothing
will play.

• in an area which contains a sequence, but not one that plays on entry (any
great fairy's fountain), the sequences will usually play. for best results, the
existing sequence should be triggered and interrupted (pressing right on
controller 1), but this may not be necessary.
finally, an added bonus of this feature is that combined with other debugging featues (see
below), you can move the camera around in a cutscene, watch any scene from any angle,
etc.

8. other debugging features

this section lists other debug features that aren't intricate enough to have their own
section. the game contains tons of these little features, most of which are activated by
some crazy button sequence.

status display
this feature adds some bars to the screen that display various information about cpu
usage, graphics, sounds, etc. the time display and bars can be toggled seperately via the
memory editor, or you can use the code 80210ae4 0001 (both are enabled with this code).
one unique attribute of this feature is that it still exists in the released version of oot,
though of course a code is required to access it. the released version also doesn't appear to
have the time display. a similar feature is actually present in many other n64 games such
as super mario 64 and mario kart 64. the bars, while interesting to look at, don't provide
much useful information and for that matter don't give any indication as to what they
mean. the text displays various time-related information. hiru appears to mean day, while
yoru means night. the exact meaning of the t and e values is unknown but they appear to
display a day counter. zeldatime and vrboxtime always seem to display the same values,
which is the current in-game time. (very useful.)

input display
nothing really special. see those dots that keep appearing in the bottom right corner?
they're displaying the status of each button on controller 1. notice that they're coloured
the same as the actual buttons on an n64 controller.

free movement mode


this is one of the more useful debug functions. pressing either l+right or l+r+a+b on
controller 1 will enable free movement mode. in this mode, link does not fall or interact
with anything; he just stays frozen in place. use the d-pad to move left, right, forward and
backward, b to go up, and a to go down. if you hold r, link will move faster. to return to
normal mode, just press the buttons again. (interestingly enough, super mario world has
the exact same feature.)

cutscene control
during any cutscene, you can press right on controller 1 to interrupt the scene and regain
control of link. in many cases, such as the title screen demos, you'll be able to walk
around in the area with things close to how they were when you interrupted the scene. in
scenes where link isn't present, the game will just kinda hang there, but you can still use
the camera debugger to look around. pressing left, up or down will return to the scene or
in some cases restart it. one very cool trick you can do with this is to move around with
the camera debugger, leave it in demo camera tool mode, and restart the scene. from there
on, the camera won't move, so you can watch the action from wherever you want!
additionally, most objects in cutscenes don't have any collision data, so you can walk
right through them. this can produce some interesting results.

language select
a minor feature, but neat nonetheless. controller 3 can be used to change languages mid-
game. d-pad left switches to english, right to french, and up to german. (one would think
japanese would be an option too...) of course this does mean that the language will switch
around when you use the camera debugger.

free camera movement


one feature that doesn't seem to be working is free camera movement. pressing the c
buttons on controller 3 moves the camera, but it will move back to its original position
immediately. (perhaps one of the values in the memory editor can make this work
properly.)
9. beta stuff
this section shows interesting beta findings. some of this may exist in the released version
as well.

grotto with wolves (room 109)


this may not be actual beta but it seems unfamilliar. it's an underground grotto with
rainbow walls and wolves popping up out of a cement floor.

prototype castle courtyard (room 125)


this is a beta version of the courtyard area with the guards. it won't load properly using
jabo's video plugin, and is only partially finished.

alternate dark link arena (room 122)


this is an alternate dark link arena.

depth test (room 124)


this is an interesting test map. 9 squares appear in the background, and link falls past
them. using the free movement feature you can move him around, but there's not much to
do except fall.
ganon's castle
this isn't actually a beta room; it's just ganon's castle falling apart, viewed from behind.
however, for some reason the textures are animated.

stalfos boss room (room 121)


this is a very old beta room that once contained a giant stalfos boss. it was featured with
some very early versions of the interface. if something this old made it into the final
debug rom, who knows what else there could be? all there is, however, is a warp to the
castle courtyard.

test map 1 (room 118)


this is a simple testing area containing checkered platforms of various colours, water,
non-functioning ladders, and a really high tower.
test map 2 (room 117)
this is another testing area which is entirely flat and textured in an odd pink-and-purple
pattern. (if you zoom out you can see the letters 'srd' made out of the triangles in blue. the
debug error screen contains 'creator:zelda@srd44', so this 'srd' is probably the initials of
one of the game designers.) there are several different types of ground (though they all
look the same), a scarecrow, 5 silver rupees and a chicken in a box. if you wander around
a bit, navi turns green in some places; in one of those places, pressing a shows the
message "hi, i'm a talking door!". messages from the royal tombstone also show up
randomly in the green areas.

test map 3 (room 119)


this map contains a crapload of treasure boxes and items. presumably the developers used
this to test item pickup and possibly to get whatever item they needed (before the
inventory editor was implemented). the area is divided into several rooms. the first room
with the treasure boxes has a hole in the right wall, which leads to an empty, textureless
room. if you poke around a bit at the wall furthest from the hole in that room, you'll find
another hole which leads to another such room.

weird box (room 116)


this map is basically a large box. while it appears to be empty, it uses some very cool
textures which don't seem to be used elsewhere.

beta text
the following text can be found in the game's memory: (note: | is used to separate strings.)

• swap|add|a|s|x|off|on|stby [near the audio debug options; swap is used, but add,
which is right next to it, doesn't seem to be. a, s and x are separated by only one
byte, just like swap and add.]

• congraturations! all pages are displayed. thank you! you are great debugger! [in
debug error text. note the engrish.]

• some 64dd references are scattered about.

• audio : ocarina control assign normal|audio : ocarina control assign normal|press


na_key_d4 %08x|press na_key_f4 %08x|press na_key_a4 %08x|press na_key_b4
%08x|press na_key_d5 %08x [near the audio debug. seems to be an ocarina key
editor.]

• arena info (0x%08x)


• debug mode.tool mode=%d.demo mode=%d

10. other interesting notes


this section lists some oddities in the rom.

• no n64 logo at startup.

• file 1 has no name defined, and doesn't have any magic. there doesn't seem to be
any debug option to change the player's magic either.

• room 115, which is used in the various goddess scenes, is accessible in normal oot
via beta quest. unfortunately, all it is is rain and clouds.

• loading room 7, stage 01, shows the credits.