sauraen / seq64

Sequenced music editor for first-party N64 games
GNU General Public License v3.0
129 stars 23 forks source link

Audio bank manipulation fails for bank 00 #14

Open isghj5 opened 4 years ago

isghj5 commented 4 years ago

In Majora's Mask, if you load and then immediately save bank 00 it shinks from 0x81C0 to 0x6270 and trying to load a rom with this shrunken bank crashes the audio engine (In PJ64 Error "AddressError reading Vaddr 80257FCB" is presented, if you hit OK the game continues to play without any sound without working frame limiter (fast-forward) )

So bank 00 is unmodifiable currently with seq64.

Edit: hmm there are several blocks of 0, maybe thats what's tripping it up? Maybe the game uses hard memory addresses assuming that padding?

sauraen commented 4 years ago

I'm guessing there's either something hardcoded like that, or there's more to the Audiobank format that I'm not aware of, such as another struct in those places. I'm in the process of some major changes to SEQ64 right now, which will first be affecting sequence files, not banks. However, once those are done, I plan to work on more comprehensive Audiobank / Audiotable import/export. At that time I'll take a look at that bank and try to figure out if there's anything in those non-imported sections of data.