From CloudModding OoT Wiki

Notes

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.

Hacking Notes

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

ROM offset Description
BD2C70 ovl_file_choose start
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

Displayed as:

xxxxyyyy .....
xxxxyyyy .....
xxxxyyyy .....
xxxxyyyy .....

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.