Previous Page

by WDLmaster at 10:17 AM EST on February 3, 2025
I think the problem is not the edited MIDI itself but the re-importing of data. I never worked with those MIDI tools but if the newly imported data is longer (uncompressed?) it overwrites data of the next song.

Yes, there should be a "master offset table" for each file in the ROM. That list could also contain a flag or other value which tells the loader if a file is compressed or not. At least in theory it should be possible to relocate any file to the end of the ROM (and in uncompressed form) but I never tried such a thing.

What happens if you re-import a file that consists only of zeros? The minimum header size in this format is 8 bytes (4 bytes delta time per quarter note, 4 bytes channel count). 00000180 00000000 should be enough to qualify as "valid" file with zero channels.

If nothing helps you could also silence the ADPCM samples themselves. A huge chunk in the wavetable is SFX only. But as with Banjo Kazooie, some SFX is located between the instrument sounds.
by Volkov73 at 11:52 AM EST on February 3, 2025
cool that works

now i can do any songs that dont have sfx or require walking from the level entrance (footprint sounds)

if i could manually identify the sounds somehow i could go through and silence them?
by WDLmaster at 12:36 PM EST on February 3, 2025
Well, this will be super complicated, you'll love this :D

I just had a look at the ROM again and came to the conclusion that finding the offsets for each ADPCM sample is equally complicated as setting attack and decay volume for each sample to zero. The complicated part is figuring out which sample is SFX and which is not. At offset 27348454 starts a huge list with sample information. Each entry is 216 bytes long. There are 938 (!) entries in the list, referencing 827 samples.

As far as I can tell the first 150120 bytes are SFX only and can safely be filled with zeros. After that start the instruments. Bytes 14 and 15 of each list entry is the attack and decay volume for each instrument (it's actually keyzones, not instruments).

I have to take a deeper look into it, maybe there's a way to identify what is SFX.
by Volkov73 at 7:49 PM EST on February 7, 2025
Welp. From what I can tell, editing the banjo tooie sequence (testing spital mountain) to blank the channel pointers (which was my main banjo kazooie method), ends up making the game freeze as soon as the into sequence ends and spiral mountain loads. This has a positive side effect, where the game sfx won't play and the music keeps playing. But I blanked a bunch of channel pointers and the entire sequence was still playing.

It didn't work out, I'll have to keep experimenting. Maybe I can go to the channel pointer locations and set the channel volume to 00, if there's a function for that at the start of each channel, which I think there is. A lot of work, I'll try this step tonight

Previous Page
Go to Page 0 1 2

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source