Audiotable
Audiotable possibly contains the raw sound samples used to create the sound effects and music of Ocarina of Time
Moving Audiotable
To move the Audiotable file to another location in ROM, you will need to correct its entry in the file table, update the assembly code used to load sounds from the file, and update the CRC. This can be found at 0xB5A4D4 (Debug ROM) and looks like:
3C05 xxxx 24A5 yyyy
In MIPS assembly:
LUI $A1,xxxx ADDIU $A1,$A1,yyyy
- x = upper half of address
- y = lower half of address
Audiotable Pointer Table
Version | Offset | VRom | VRam | ||
---|---|---|---|---|---|
Debug | 138D90 | 00BCCD90 | ? | 80155BF0 | ? |
NTSC 1.0 | 1031C0 | 00B8A1C0 | ? | 80114260 | ? |
NTSC 1.1 | 103380 | 00B8A380 | 00B8A400 | 80114420 | 801144A0 |
NTSC 1.2 | 103230 | 00B8A230 | 00B8A2B0 | 80114910 | 80114990 |
PAL 1.0 | 100980 | 00B89980 | 00B89A00 | 80112060 | 801120E0 |
PAL 1.1 | 1009C0 | 00B899C0 | 00B89A40 | 801120A0 | 80112120 |
JP GC | 1028E0 | 00B888E0 | 00B88960 | 801137C0 | 80113840 |
JP MQ | 1028C0 | 00B888C0 | 00B88940 | 801137A0 | 80113820 |
USA GC | 1028C0 | 00B888C0 | 00B88940 | 801137A0 | 80113820 |
USA MQ | 1028A0 | 00B888A0 | 00B88920 | 80113780 | 80113800 |
PAL GC | 1000B0 | 00B880B0 | 00B88130 | 80110FB0 | 80111030 |
PAL MQ | 100090 | 00B88090 | 00B88110 | 80110F90 | 80111010 |
JP Collection | 1028C0 | 00B888C0 | 00B88940 | 801137A0 | 80113820 |
Notes
The third byte is an index for a list at 0xBCCD90 which gives the base address to load samples from. What is the purpose of this? Well apparently just to be a pain in the arse, because taking these numbers and adding them to sample pointers will load that sample perfectly if the index is changed to 1, which has a base address of zero and is what most instrument sets use. Only four sets seem to actually do this though, namely the Deku Tree, Jabu-Jabu's belly, Goron City and the Spirit Temple. Super Mario 64 does something similar but it affects every single instrument set in the game.