ovl_file_choose manages the Language Select (PAL only), File Select, File Name, and Options Menu screens.
All Zelda 64 titles including Ocarina, Master Quest, and Majora's Mask use almost the exact same ovl_file_choose. All textures used by ovl_file_choose are pulled from title_static which is loaded at the same time.
The loops for the Options Menu Titles and Options Menu Options are very similar. With a little extra code, the two can be combined freeing up a lot of space for your own code. This applies to all Zelda 64 titles.
Debug ROM Notes
|BD8650||Writes Sound Setting to Save File upon exiting the Options Menu|
|BD8660||Writes Z-Trigger Setting to Save File upon exiting the Options Menu|
|BD8728||Options Menu - reaction to pushing Left on the control stick|
|BD87B8||Options Menu - reaction to pushing Right on the control stick|
|BD8864||Options Menu - reaction to pushing Up or Down on the control stick|
|BD88B0||Options Menu - reaction to pushing the A-button|
|BD9170||Start of the Loop for writing the Options Menu Titles (Options, Sound, Z-Targeting, Check Brightness) to Display RAM|
|BD953c||Start of the Loop for writing the Options Menu Options (Stereo, Mono, Headset, Surround, Switch, Hold) to Display RAM|
|BD9900||Start of writing the Options Menu Check Brightness double boxes (2 double box textures side-by-side) to Display RAM|
|BD9B2C||Start of writing shared Display code for Options Menu Blue Lines to Display RAM|
|BD9C44||Start of writing Options Menu Sound Blue Line to Display RAM|
|BD9CF4||Start of writing Options Menu Z-Targeting Blue Line to Display RAM|
|BD9D94||Start of writing Options Menu Check Brightness Blue Line to Display RAM|
|BE0AE0||Table for the Screen Location for textures in the Options Menu (see section below)|
|BE1320||Letters Table for the Name Screen (00aa where aa is the value for each letter)|
|BE13B0||Draws the background for the Options Screen (possibly others)|
|BE13F0||Screen Location for Letters on the Name Screen|
|BE14F4||Offset location for textures in title_static (in a set of 3, one for each language)|
|BE154C||Offset locations for Options Menu textures in title_static (in sets of 5, 3 for languages, 2 for texture size)|
|BE1824||Offset locations for File Select Menu textures in title_static (in sets of 3, one for each language)|
|BE1980||Offset location for texture in title_static (in a set of 3, one for each language)|
|BE1C10||3-4 words describing how to draw the 4 blue lines|
|BE1F64||Overlay's relocation block start|
|BE2730||end of ovl_file_choose|
Options Menu Screen Location Table
xxxx is the x-coordinate
yyyy is the y-coordinate
Four lines, one for each corner of the texture. The x- and y-coordinates are from the center of the screen, so low numbers are up/left and high number are down/right.
Listed in sections in this order: Unknown, Titles, Options, Blue Lines. Whole sections are doubled or tripled to provide different placing for textures for different languages.