Improved Sound Mixer, by ipatix

Tags: #<Tag:0x00007f7e75995db8> #<Tag:0x00007f7e75995cc8> #<Tag:0x00007f7e75995c00>

Download here

[Source][2]

[details=Installation]Download the .bin file, then copy and paste it to an address in your ROM. Take note of the address. Then, the following must be done:

At $BE564, write the pointer to where you pasted the .bin to.

At $BE568, please write:

00 65 00 03 18 02

Then, at $BD8D4, write:

01 65 00 03

I apologise for the clunky implementation, but unfortunately since the new sound mixer is bigger than the old one I can’t just release a plain old patch without knowledge of where universal free space is.[/details]

One of PokeCommunity’s most knowledgeable and skilled coders has very kindly ported his improved Sappy sound mixer. This improves performance by the game, allowing the game to handle higher sampling rates, as well as vastly reduces noise created by Direct sounds.

Here’s a demonstration video. Note the very evident “hiss” in the first video.

Before:

After:

1/5/17: I updated the links as the dreaded Dropbox update killed the previous ones. Also, why haven’t more people been using this?!

Is this pretty cool or what?

[poll]

4 Likes

Awesome! Do you know what offsets to use for FE8?

this is just obscene

2 Likes

Not as of yet. Lemme get on ipatix for ya. --or you could do it yourself–

As far as offsets go, I have:

FE7
BE564 points to: BD8E5
BE568: 50 24 00 03 00 01
  Replace with: 00 65 00 03 18 02
BD8D4: 51 24 00 03
  Replace with: 01 65 00 03

FE8
D01CC points to: CF54D
D01D0: 60 2C 00 03 00 01
  Replace with: 00 65 00 03 18 02
CF53C: 61 2C 00 03
  Replace with: 01 65 00 03

As for the actual code, I have just replaced every instance of AE7 with BE8. I think I also need the workbuffer address for FE8?

Instead of 03006500 for the RAM pointer, you’ll probably need to try using 03006CB0.

Workbuffer address… try 03007510, which is 0x860 bytes after one of the RAM addresses I had to use for the 12-track patch. I’m a little unsure of how using this part of the IRAM is going to go but we may as well try. Otherwise, I’ll have to cut down on the number of tracks for the 12-track patch :frowning:

1 Like

ipatix is a brofessional. @ш@ I even have a song in mind that used to have a lot of discrepancy between static and silence because it was so quiet that’s going to be sounding a lot better now.

What about this is untested? It just hasn’t had a game played through with it applied yet, or does it just possibly coincide with the 12-track patch?

The former. It should definitely not coincide with the other patch.

1 Like

Tried it with a 12-track patched FE8 rom and it works!

:smiley: Keep an eye out over how the performance goes. The IRAM usually, uh… runs out?.. at around 03008000 so I’m scared of the buffer running past that for more intensive samples.

Haven’t done a whole lot of testing, but here’s a quick video: https://vid.me/gWHX

Basically, 12 sounds can play at a time with no issue. More than that and the same problem I had before pops up: for some reason the music overrides my custom sound effects rather than the other way around - the last glyph sound does not play because the music is playing 12 notes at once. Non-custom sound effects work fine, I tried overloading with about 17 notes at once and they still worked.

Performance seems fine so far, I’ve tested up to Chapter 4 and never noticed anything. Not sure what counts as an “intensive” sample though.

Ones with sampling rates in excess of 52000 Hz I’d imagine :stuck_out_tongue:

So basically a non-issue then. Though I might try it just to see what happens.

Is it possible to have a patch for FE8 then? <3
Thankies

Not a patch, but for FE8, download this .bin and paste it to some free space, noting the address.

At $D01CC, write the pointer to the .bin

At $D01D0, write: B0 6C 00 03 18 02

At $CF53C, write: B1 6C 00 03

2 Likes