Legend of Zelda: Ocarina of Time v1.2 (c) 1998 Nintendo Rip by Ugetab on 12/13/08 (Based heavily off of 1.0 rip 9/26/04 by hcs) Titles and timing and file names by mouser_x (Timing not updated for Fire Temple, or checked for anything else) Found missing tracks, re-ripped to allow playback (Kakariko Village and End Credits B) Added Hyrule Field Battle Theme (Dusk Theme PJ64 playable, but not rippable) Intros seem intact (Gerudo Valley, Lost Woods) LOZ03-LOZ17 are pieces of the Hyrule Field theme played under different situations. LOZ57 is played at the Main Menu screen. Music Select: 800BB248 Hyrule Field Music Select: 801296E8 (00FF??00 / 00??FF00) The 00 next to ?? needs to be something other than 00 if ??=00. A little info: I used NEmu to track down and record the threads used in the game, and killed them off one by one until the game crashed on me. I then realized that threading was treeing into other threads, so I rechecked some of them without killing others. I found threads by making it break on the 'ERET' instruction, disabling the break, then stepping-over through the code's JR RAs until I came to the top of the thread loop. Since memory can be edited in NEmu, this posed nearly a non-issue to make loop exiting code and put it in to see if the music died instantly. Keeping a record of the SP value and associated Thread addresses helps identify known threads without entering them. The great bastard, UnknownFile, told me this: AM_RANGE(0x04500000, 0x045fffff) AM_READWRITE(n64_ai_reg_r, n64_ai_reg_w) // Audio Interface So, if I opened the memory viewer at 04500000, and break on read/write for viewable addresses, it'll let me step out to the main music thread in a game, most likely, and should also allow for other stuff to be discovered. Also of interest is the 04040010 area, which is used, in part, to control graphics. I've got a PJ64<->NEmu save state conversion utility in the works, and it helped show me how I could go about debugging in one emulator and hacking in the file changes for the other, as shown by a few decompressed USF save states that were converted. Zelda isn't yet compatible with this utility, but I simply reapplied the changes to save states when working between NEmu and PJ64. JoshW informed me of how 64th Note doesn't work like other emulators, in that a Break in the code will just end the interrupt routine for a frame or something, whereas it can break emulation in either of the 2 emulators, and if it doesn't it'll slow it down a lot. PJ64 will report the position in RAM of the break without issue, whereas you need to tell NEmu to break on Break instructions to get them there. HCS provided all the ripping tools he had access to, which has helped immensely, as I managed to get the auto ripper working, which turned potentially hours of manual work into about 24 hours of waiting for the auto ripper to play the hell out of all the songs in the game and dump the accessed music data. That process has been gone through twice so far, just because I'm new to the whole ripping process and program usage.