If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Development:The Legend of Zelda: Ocarina of Time

From The Cutting Room Floor
Jump to navigation Jump to search

This page details development materials of The Legend of Zelda: Ocarina of Time.

How about a nice leek in this trying time?
This page or section details content from the July 2020 Nintendo Leak.
Check the July 2020 Nintendo Leak category for more pages also sourced from this material.
Hmmm...
To do:
Sort and move content into sub-pages for better readability.
A room from Fstdan, one of the early maps recovered from the leak.

On July 25, 2020, development resources for a number of first- and third-party Nintendo games, including Ocarina of Time, were leaked on 4chan. The files seem to have been resources sent by Nintendo to iQue in order to help them develop the iQue port of the game. Lucky us!

Sub-Pages

OoT-Desert 2 IGN.jpg
Player Abilities
Various references to removed abilities.
OoT compass 0.png
Compass Display
The remnants of an old patent still lurk in the source files...
OoTEventEditor.png
Early Flag List
Old plot progression and cut events ahoy!
TextIcon.png
Early Text Routine
A much more cumbersome way of handling dialogue.

Actors, Objects, and Animations

OoT-Iron Knuckle Eyes Jan 97.png
Unused Actors & Objects
Some of the earliest content ever made for the game.
OoT-Hyrule-OLD-Minimap.png
Unused Textures
Here lie the remnants of development past...
OoT-Epona.jpg
Removed Display Lists
Various references to removed parts of model files.
OoT-beam blade.jpg
Removed Link Animations
129 removed or duplicate animations.
MovieIcon.png
Unused Cutscenes
Grab some popcorn and watch!

Maps

OoT room 9 0.png
3D Maps
Unused and alternate 3D maps.
OoT Leak-Numbered Course Map.png
File Select Map
A very, very early Map Select.
OoT-Prerender Temple May 97.png
Prerenders
Unused and early versions of prerendered maps.
OoT bdan DD bak 0 0.png
Alternate Scene Setups
Lots of interesting actor and object setups.
AreasIcon.png
Removed Maps
Various references to removed maps.

Text

TextIcon.png
Text Comments
Comments from the developers shine light on unused text.
NotesIcon.png
Commit Logs
Take a deep dive into the development history.
OoT-Cucco Stable.png
Early File List
An early file list that looks to date from around May 1997.

Early Fishing Experiment

Hmmm...
To do:
Is it possible to get this working?

The file z_actor.h in the folder z_ocarina2 contains the following commit log note:

* Revision 1.204  1998-04-09 23:36:13+09  morita
*       For those who want to know the secrets of the secret project I'm
*       working on, put 1 in SEX(69) (using controller 2, hold R and press
*       L 6 times), then select "79: Water Temple Boss"....
*       When you do... there are details on the control scheme in 
*       /home/morita/JOY_FILES/secret.lst

The source code indicates that a memory register called SEX, known as "Rs" in the Debug ROM, was named by Kazuaki Morita. Morita is credited with programming the bosses in Ocarina of Time. Additionally, according to an Iwata Asks interview celebrating the release of Ocarina of Time 3D, the Fishing Pond was also his side project and brain child.

Morita: The Water Temple is in Lake Hylia. Aonuma-san designed that dungeon. The boss that appears there is Morpha. Just when I was making that, there was a landform like a pool.

Iwata: Morpha rises up out of the pool and fights Link.

Morita: Right. When I was making that boss, I casually…

Iwata: "Casually"? (laughs) I doubt you had that kind of time!

Morita: But for some reason I did. (laughs)

Morita: I just happened to have a model of a fish, so…

Iwata: You "just happened" to have it? (laughs)

Morita: Yes! (laughs) A model of a fish for putting in an empty bottle. I borrowed that and had it swim in the pool in the dungeon, and when I saw it swimming around, I thought, "Oh! I can go fishing!"

Iwata: What did you do for a fishing pole?

Morita: I took the model for something and made it a cylinder, and then… (gestures as if casting a fishing pole)

Haruhana: You used the motion for Link swinging his sword.

The aforementioned note seems to be instructions from Morita to the other staff for checking out the in-progress version of the fishing functionality he was working on. Following the instructions in the note verbatim produces no noticeable results upon entering Morpha's boss room from the Map Select screen, regardless of Link's age. Even with SEX69 (Rs69) [no comment...] set to 1, the Morpha battle starts as normal. This may indicate that the "secret" that was accessible via this method may have been removed sometime in the 7 months between the commit log note and the game's release.

However, one additional point to keep in mind is that the Water Temple boss is now number 80 in the Map Select options, while the Water Temple is number 79. This may indicate that Morita's fishing preview was created at a time before the boss rooms were split off from their Temples into separate map files, as they are in the final game. As such, perhaps if one were to attempt to enter Room 0x16 of the Water Temple (the boss transition room) without automatically being loaded into the map file for Morpha's boss room in the final game, one could still see the intended effect.

In the final game, Morpha's actor, En_Mo, contains the following strings:

fishing_line_MODE
fishing_line_model

Conversely, the strings that can be found in the actor for the fishing pond, En_Fish, are below:

fs_line_MODE
fs_line_model

Spawn An Arwing

Hmmm...
To do:
Add the chest spawn stuff from Link's actor, too.

The source code indicates that a memory register called KAZ, known as "RK" in the Debug ROM, was named after Kazuaki Morita. Morita is credited with programming the bosses in Ocarina of Time.

A file called z_actor.c in the folder z_ocarina2 contains the following code used for spawning the Arwing.

#ifndef DEBUG_MODE_NOINPUT    
    if(KAZ(0) == -100) { /* Treasure Chest Fail Test */
    Player_actor    *pla = (Player_actor *)get_player_actor(game_play);
    
    KAZ(0) = 0;
    /* Secret Set */
    Actor_info_make_actor(&game_play->actor_info,
                  (Game *)game_play,
                  En_Clear_Tag,
                  pla->actor.world.position.x,
                  pla->actor.world.position.y + 100.0f,
                  pla->actor.world.position.z,
                  0,
                  0,
                  0,
                  1);
    }
#endif    

As it suggests, setting KAZ00 (RK00) to -100 spawns an Arwing above the player, then rolls the value back around to 0.

Removed Map Events

Ocarina of Time has a complex story and a big map to traverse. As such, the game contains a map pointer system to help guide players to their next objective and mark where they've already been. After achieving certain objectives, a flashing dot appears on the world map to show where one should go. A static dot appears on the map once a location has been visited. The code in z_kaleido_scope.c that handles these functions contains several areas with commented-out cases that preserve old story events.

Events in red were removed during development.

Lake Hylia

  • A static dot appears at Lake Hylia after you enter it for the first time.
  • A static dot appears at Lake Hylia after you obtain the Scale.
  • A flashing dot appears at Lake Hylia after you obtain the Iron Boots.
  • A static dot appears at Lake Hylia after you clear the Water Temple (Adult) and obtain Ruto's seal.

Lon Lon Ranch

  • A static dot appears at Lon Lon Ranch after you clear the Deku Tree.
  • A flashing dot appears at Lon Lon Ranch after you speak with Kaepora Gaebora upon leaving Kokiri Forest.
  • A static dot appears at Lon Lon Ranch after you obtain the Weird Egg ("Egg of Awakening") from Malon.
  • A flashing dot appears at Lon Lon Ranch after you obtain the Fairy Ocarina from Saria.
  • A static dot appears at Lon Lon Ranch after you obtain Epona's Song.
  • A flashing dot appears at Lon Lon Ranch after you wake Talon at Kakariko Village.
  • A static dot appears at Lon Lon Ranch after you escape from it and obtain Epona.

Hyrule Castle Town

  • A flashing dot appears at Hyrule Castle Town after you clear the Deku Tree.
  • A static dot appears at Hyrule Castle Town after you obtain Zelda's Letter.
  • A flashing dot appears at Hyrule Castle Town after you clear Dodongo's Cavern.
  • A static dot appears at Hyrule Castle Town after you obtain Zelda's Lullaby.
  • A flashing dot appears at Hyrule Castle Town after you clear Jabu Jabu's Belly.
  • A flashing dot appears at Hyrule Castle Town after you obtain the Ocarina of Time.
  • A static dot appears at Hyrule Castle Town after you obtain the Master Sword.
  • A flashing dot appears at Hyrule Castle Town after you clear the Forest, Fire, and Water Temples.
  • A static dot appears at Hyrule Castle Town after you first return from the Adult Era to the Child Era.
  • A flashing dot appears at Hyrule Castle Town after you obtain the Light Arrows.

Kakariko Village

  • A static dot appears at Kakariko Village after you enter it for the first time.
  • A flashing dot appears at Kakariko Village after you obtain Zelda's Lullaby.
  • A static dot appears at Kakariko Village after you obtain the Sun's Song.
  • A flashing dot appears at Kakariko Village after you obtain the Master Sword.
  • A static dot appears at Kakariko Village after you obtain the Hookshot.
  • A flashing dot appears at Kakariko Village after you obtain the Song of Storms.
  • A static dot appears at Kakariko Village after you clear the Bottom of the Well ("Shadow Temple (Child)") and obtain the Lens of Truth ("Looking Glass of Truth").
  • A static dot appears at Kakariko Village after the well water has disappeared.
  • A flashing dot appears at Kakariko Village after you view the Bongo Bongo ("Shade Stalker") cutscene.
  • A static dot appears at Kakariko Village after you clear the Shadow Temple (Adult) and obtain Impa's Seal.

Lost Woods

  • A static dot appears at the Lost Woods after you enter it for the first time.
  • A flashing dot appears at the Lost Woods after you speak with Mido after obtaining Zelda's Letter.
  • A static dot appears at the Lost Woods after you obtain the Fairy Ocarina from Saria.
  • A static dot appears at the Lost Woods after you obtain Saria's Song.
  • A flashing dot appears at the Lost Woods after you obtain the Hookshot.
  • A static dot appears at the Lost Woods after you clear the Forest Temple.


(Source: GlitterBerri)

Lifemeter Environmental Behavior

Commented out code inside the file z_parameter.c utilizes three unused leftover functions of z_lifemeter.c, which would change the behavior of the lifemeter according to Link's environmental conditions, like being in hot rooms or underwater.

////////extern int initial_LifeRestChange_Damage( Game_play * );
////////extern void initial_LifeRestChange( Game_play * );
////////extern int  LifeRestChange( Game_play * );
////////    if ( count >= 0 ) {
////////	initial_LifeRestChange( game_play );
////////    } else {
////////	if ( player_condition == 1 || player_condition == 2 ) {
////////	    initial_LifeRestChange_Damage( game_play );
////////	}
////////    }
////////    if ( player_condition == 1 || player_condition == 2 ) {
	if ( EVENT_FG >= Event_MD3 ) {
	    if ( !(KALEIDO_SCOPE_Pause_on_off( game_play )) &&
		 !message->msg_mode &&
		 !bitcheck( player->action2, P_ACTION2_OKARINA_REQUEST_OK ) &&
		 !game_play->fade_direction &&
		 !game_play->fbdemo_wipe_mode &&
		 !Game_play_demo_mode_check( game_play ) ) {
////////		LifeRestChange( game_play );
	    }
	}
////////    } else {
////////	initial_LifeRestChange( game_play );
////////    }

The unused lifemeter functions inside z_parameter.c temporarily deplete Link's hearts while he is exposed to these conditions. In the case of taking damage or if the temporary heart count reaches zero, the hearts would be permanently depleted, otherwise the original heart count is completely restored.

The lifemeter was also meant to change its visual appearance according to these conditions with different color values still being left unused in the final game. This visual change can be observed in pre-release footage.

Hot Room Underwater
OoT burn hearts.png OoT drown hearts.png

Curiously, the commented out code doesn't account for the case of Link floating underwater yet, so it only engages when Link is touching the ground with the Iron Boots equipped. The count used to decrease a single heart indicates that the environmental hazard timer was originally double the length compared to the final version.

(Source: GlitterBerri, CDi-Fails & ZeeRoX)

Drained Spiritual Stones

OoT spiritual stones drained.png

Commented out code inside z_kaleido_scope.c would render the individual Spiritual Stones colorless inside the Quest Status screen when Link is adult and the related event flags for clearing the first three adult dungeons haven't been set yet.

# if 0
	SetSegmentK0( ICON_ITEM_24_SEGMENT, kscope->icon_item24Segment );
	for ( i = 0; i < 3; i++ ) {	/* 精霊石輝きチェック */
	    if ( ZCommon_LinkAgeIsAdult() ) {
		if ( !Get_Event_Chk_Inf( 4, check_bit[8+i] ) ) {
		    black_white_data( (unsigned int *)SEGMENT_TO_KSEG0(item_data[H_holystone_1+i]), (24*24) );
		}
	    }
	}
# endif

"精霊石輝きチェック" translates to "Spiritual Stone Sparkle Check".

This removed detail refers to cut events where Adult Link would have to restore the Spiritual Stones before the Door of Time would open again. View the unused Temple of Time cutscenes for more details.

Empty Chest Markers

OoT empty chest mark.png

The file z_map_mark.h includes an commented out #define and enum constant for "KARABAKO":

enum {
    NON_MARK = -1,
    MK_TAKARABAKO = 0,
    MK_BOSS = 1,
    MK_KARABAKO = 2,
    MAX_MARKKIND
};
#define	MARK_Takarabako	{ h_dm_box_txt, G_IM_FMT_RGBA, CUSTOM_G_IM_SIZ_16b, 8, 8, 32, 32, 1024, 1024 }
#define	MARK_Boss	{ h_dm_boss_txt, G_IM_FMT_IA, CUSTOM_G_IM_SIZ_8b, 8, 8, 32, 32, 1024, 1024 }
/*#define	MARK_Karabako	{ h_dm_empty_txt, G_IM_FMT_IA, CUSTOM_G_IM_SIZ_8b, 8, 8, 32, 32, 1024, 1024 }*/

"TAKARABAKO" means "treasure chest" and "KARABAKO" translates to "empty chest", which indicates that already opened chests would have been drawn to the dungeon minimaps with their own texture called h_dm_empty_txt, a feature that can be seen in pre-release footage.


(Source: GlitterBerri)

Pause Dungeon Map Colors

The file z_map_exp.h includes commented out color values for the dungeon map display, which would render visited rooms in a slightly different shade of blue and highlight the current room in red instead of cyan.

////////#define MAP_COLOR	0x52bf
////////#define LINK_MAP	0xf801
#define MAP_COLOR	0x02bf
#define LINK_MAP	0x0663
Early Colors Final Colors
OoT dmap color 0.png OoT dmap color 1.png

File Select

Skybox & Color Change

The file z_file_choose.c from the attic folder includes a commented out function called frame_color_change and a removed part inside the function cursor_color_change:

# if 0
/*===============================================================
  =	   Frame PRIM Colour Calculation				=
 ===============================================================*/
static void
frame_color_change( Game *thisx )
{
    Game_file_choose	*this = (Game_file_choose *)thisx;

    short	rc, gc, bc, k;


    /* Frame PRIM Colour Calculation */
    if ( this->kankyo.vr_box_scale ) {
	k = 256 - this->kankyo.vr_box_scale;
	rc = (ABS(this->frame_rgb[0] - XREG(84+this->kankyo.vrbox_tenso_1) )) / k;
	gc = (ABS(this->frame_rgb[1] - XREG(88+this->kankyo.vrbox_tenso_1) )) / k;
	bc = (ABS(this->frame_rgb[2] - XREG(92+this->kankyo.vrbox_tenso_1) )) / k;
	
	if ( this->frame_rgb[0] >= XREG(84+this->kankyo.vrbox_tenso_1) ) this->frame_rgb[0] -= rc;
	else                                                             this->frame_rgb[0] += rc;
	if ( this->frame_rgb[1] >= XREG(88+this->kankyo.vrbox_tenso_1) ) this->frame_rgb[1] -= gc;
	else                                                             this->frame_rgb[1] += gc;
	if ( this->frame_rgb[2] >= XREG(92+this->kankyo.vrbox_tenso_1) ) this->frame_rgb[2] -= bc;
	else                                                             this->frame_rgb[2] += bc;
    } else {
	this->frame_rgb[0] = XREG(84+this->kankyo.vrbox_tenso_0);
	this->frame_rgb[1] = XREG(88+this->kankyo.vrbox_tenso_0);
	this->frame_rgb[2] = XREG(92+this->kankyo.vrbox_tenso_0);
    }
}
# endif
# if 0
    static short cursor_color[][3] = {
    	{ 255, 200, 200, },	// Morning
    	{ 220, 220, 255, },	// Noon
    	{ 255, 200,  70, },	// Evening
    	{ 155, 255, 255, },	// Night
    };
# endif
    static short cursor_alpha[] = {
	70, 200,
    };
////////    short	rc, gc, bc, ac;
    short	ac;


# if 0
    if ( this->kankyo.vr_box_scale ) {
	ac = 256 - this->kankyo.vr_box_scale;
	rc = (ABS(this->cursor_rgba[0] - cursor_color[this->kankyo.vrbox_tenso_1][0])) / ac;
	gc = (ABS(this->cursor_rgba[1] - cursor_color[this->kankyo.vrbox_tenso_1][1])) / ac;
	bc = (ABS(this->cursor_rgba[2] - cursor_color[this->kankyo.vrbox_tenso_1][2])) / ac;
	
	if ( this->cursor_rgba[0] >= cursor_color[this->kankyo.vrbox_tenso_1][0] ) this->cursor_rgba[0] -= rc;
	else                                                                       this->cursor_rgba[0] += rc;
	if ( this->cursor_rgba[1] >= cursor_color[this->kankyo.vrbox_tenso_1][1] ) this->cursor_rgba[1] -= gc;
	else                                                                       this->cursor_rgba[1] += gc;
	if ( this->cursor_rgba[2] >= cursor_color[this->kankyo.vrbox_tenso_1][2] ) this->cursor_rgba[2] -= bc;
	else                                                                       this->cursor_rgba[2] += bc;
    } else {
	this->cursor_rgba[0] = cursor_color[this->kankyo.vrbox_tenso_0][0];
	this->cursor_rgba[1] = cursor_color[this->kankyo.vrbox_tenso_0][1];
	this->cursor_rgba[2] = cursor_color[this->kankyo.vrbox_tenso_0][2];
    }
# endif

There is a commented out line of code on two occasions, which would move on time:

/////////    ZCommonSet(zelda_time, ZCommonGet(zelda_time) + TIME_SPEED );

Other commented out color values for the window colors:

# if 0    
    XREG(84) = 255;		// Frame PRIM─R(Morning)
    XREG(85) = 150;		//                        (Afternoon)
    XREG(86) = 200;		//                        (Evening)
    XREG(87) = 100;		//                        (Night)
    XREG(88) = 215;		// Frame PRIM─G(Morning)
    XREG(89) = 150;		//                        (Afternoon)
    XREG(90) = 150;		//                        (Evening)
    XREG(91) = 150;		//                        (Night)
    XREG(92) = 225;		// Frame PRIM─B(Morning)
    XREG(93) = 255;		//                        (Afternoon)
    XREG(94) = 100;		//                        (Evening)
    XREG(95) = 255;		//                        (Night)
# endif

These differences would change the skybox and the color values of the visual elements as time moves on, the developers later made the decision to only use the night settings:

Demo Leftovers

Hmmm...
To do:
There are several commented out demo related parts, add more info about it.

Hmmm...
To do:
Originally the title logo would have appeared in file select, add more info about it.
(Source: GlitterBerri, CDi-Fails & Zel)

Items

z_parameter_h.h contains early names for some items, as well as identifications for others that were dummied out of the final item list.

z_parameter_h.h
ID Filename Description Translation Final Name
0A H_S_hookshot 10『ショート・フックショット』 10: "Short Hookshot" Hookshot
0B H_L_hookshot 11『ロング・フックショット』 11: "Long Hookshot" Longshot
0F H_magicglass 15『まことの虫メガネ』 15: "Magnifying Glass of Truth" Lens of Truth
1B H_bottle_7 27『ルトの手紙』 27: "Ruto's Letter" Letter
1C H_bottle_8 28『炎』 28: "Fire" Blue Fire
37 H_reserve_30 55 大人『ゴロン刀引換券』 55: Adult "Goron's Sword Claim Check" Claim Check
3B H_sword_0 59『ナイフ』 59: "Knife" Kokiri Sword
50 H_bracelet 80『銅のブレスレット』 80: "Bronze Bracelet" Goron's Bracelet
56 H_purse_2 86『大人のがま口』 86: "Adult's Purse" Adult's Wallet
57 H_purse_3 87『大金持ちがま口』 87: "Wealthy Man's Purse" Giant's Wallet
5A H_melody_1 90『風のメヌエット』 90: "Minuet of Wind" Minuet of Forest
66 H_seal_medal_1 102『サリアの封印』 102: "Saria's Seal" Forest Medallion
67 H_seal_medal_2 103『ダルニアの封印』 103: "Darunia's Seal" Fire Medallion
68 H_seal_medal_3 104『ルトの封印』 104: "Ruto's Seal" Water Medallion
69 H_seal_medal_4 105『ナボールの封印』 105: "Nabooru's Seal" Spirit Medallion
6A H_seal_medal_5 106『インパの封印』 106: "Impa's Seal" Shadow Medallion
6B H_seal_medal_6 107『ラウルの封印』 107: "Rauru's Seal" Light Medallion
71 H_N_coin 113『Nコイン』 113: "N Coin" Gold Skulltula
76 H_map 118『マップ』 118: "Map" Dungeon Map
77 H_key 119『ダンジョンの鍵』*/ 119: "Dungeon Key" Small Key
7A H_heart_1 122『ハートの欠片(1/4)』 122: "Piece of Heart (1/4)" Piece of Heart
7B H_heart_2 123『ハートの欠片(2/4)』 123: "Piece of Heart (2/4)" [Removed]
7C H_heart_3 124『ハートの欠片(3/4)』 124: "Piece of Heart (3/4)" [Removed]
7D H_note_1 125『音符:上』 125: "Note: Up" [Removed]
7E H_note_2 126『音符:下』 126: "Note: Down" [Removed]
7F H_note_3 127『音符:左』 127: "Note: Left" [Removed]
80 H_note_4 128『音符:右』 128: "Note: Right" [Removed]
81 H_note_5 129『音符:A』 129: "Note: A" [Removed]
87 H_rupy03 135『大ルピー(50ルピー)』 135: "Big Rupee (50 Rupees)" Purple Rupee
89 H_rupy05 137『銀のルピー(10ルピー)』 137: "Silver Rupee (10 Rupees)" [Removed]

Additionally, Silver Rupees are worth 5, not 10, in the final game.

Music

Hmmm...
To do:
Volunteers with keen ears can help determine what is causing the byte differences in particular tracks.

They're not new masterpieces from Koji Kondo, but near-final music sequences exist in z_ocarina/data/ZeldaAudio_music.o. Rather then having new melodies, small differences can be heard in the notes of a few tracks. These are very close to the final sequences used in z_ocarina/data/lib/ZeldaAudio_music.o.

Water Temple

Around 0:39 in the track, the dulcimer seems to be louder and more staccato.

Insights from Mdebug Text

Object files contain names of particular functions in the ".mdebug" portion of the ".o" file. These names originate from the original ".c" scripts that aren't included in the z_ocarina source, but can still yield insight.

Hmmm...
To do:
For those inclined, there are likely many insights derived from these mdebug files.

Princess Ruto's Kiss

The cutscene that follows Link completing Jabu Jabu's Belly is known as "CRYST". In the final game, once Link and Ruto teleport back outside, Link is startled when seeing Ruto staring into him. The mdebug file labels this scene action for Ruto leaning as "CRYST_MAIN_KISS". It's not clear from the cutscene that Ruto is trying to kiss him, but this action may have once been more evident. Located in "z_ocarina/src/rom_f/z_en_ru1.o".

Ura Zelda Leftovers

xxx

Lodgenet Gateway Build Info

Hmmm...
To do:
Thoroughly research all references to GATEWAY_VERSION.

Lodgenet was a service predominately used in North America that allowed hotel guests to play Nintendo 64 games from their rooms. Each game featured on Lodgenet had to follow a list of guidelines to be published to the service, namely remove the ability to save and remove multiplayer features (as can be seen in this Star Fox 64 video). The Ocarina of Time Gateway version is technically the only released version of OoT that has yet to be documented and analyzed. Thanks to build information found in the source listed as GATEWAY_VERSION, it offers insight of what was included in this undocumented build.

Here is a function to clear the saves for Lodgenet usersː

# endif    /* GATEWAY_VERSION /
    / ゲーム前CLEAR─RAM /
    ZCommonSet(game_info.restart_flag, 0);
    ZCommonSet(game_info.restart_data[0].scene, -1);
    ZCommonSet(old_bgm, 255);
    ZCommonSet(old_env, 255);
    ZCommonSet(game_info.name_display, ON);
    ZCommonSet(game_info.dog_flag, 0);
    ZCommonSet( event_fg, Event_MD0 );
    ZCommonSet( total_event_fg, TEvent_MD0 );
    ZCommonSet(event_inf[0], 0);
    ZCommonSet(event_inf[1], 0);
    ZCommonSet(event_inf[2], 0);
    ZCommonSet(event_inf[3], 0);
    ZCommonSet(last_time_type, 50);
    ZCommonSet(game_info.shield_magic_timer, 0);
    ZCommonSet(life_mode, 0);
    ZCommonSet(magic_flag, 0);
    ZCommonSet(keep_magic_flag, 0);
    /[ファイル選択時 に お願いしたい物]*/
    ZCommonSet( NottoriBgm,   0 );
    ZCommonSet( kankyo_time,  0 );
    ZCommonSet( next_wipe,    0xff );
    ZCommonSet( next_daytime, 0xffef );
    ZCommonSet( doukidemo,    0 );
    ZCommonSet( Kenjya_no,    0 );
    ZCommonSet( next_zelda_time, 0xffff );
    ZCommonSet( game_info.next_walk, 0 );

According to the section "ロムヘッダ定義(仮)" (ROM Header Definition (Temporary)) in GNUmakefile,v the initialization for the PAL Gateway version is NZLL, while the default Gateway version is CZLG. In comparison, the codes for the other versions of the final game are CZLJ (Japan), CZLE (North America), and NZLP (PAL).

ROM Versions

  • ROM_C: C++ ROM.
  • ROM_D: Debug ROM for use on an emulator board.
  • ROM_F: Final ROM.
  • ROM_S: Show ROM.
  • ROM_X: Debug ROM for use on real hardware.