Language…
18 users online: anonimzwx,  Atari2.0, codfish1002,  Deeke, Domokun007, gemstonezVA, iamtheratio, Macrophaje, mario90, mathie, Maw, nonamelol1,  nycvega,  Ringo,  Segment1Zone2, SirMystic, synthie_cat, xMANGRAVYx - Guests: 277 - Bots: 349
Users: 64,795 (2,375 active)
Latest user: mathew

Romi's Addmusic VS HuFlungDu's Addmusic: "What's wrong?"

Okay, everybody is pretty much aware that our main choices of Addmusic now are "AddmusicM" and "Addmusic4" (AKA HuFlungDu's Addmusic). This thread specifically targets Addmusic4, which is based off Romi's if I'm not correct.

As we all know, a lot of music in the Custom Music Section (with the exception of $E5 and the now HuFlungDu MORE.bin required) is built to work with Romi's. Now if HuFlungDu's MORE.bin is based off Romi's, just tweaked to be better; why is it that certain songs that used to work with Romi's will not work with HuFlungDu's? Such an Example is "Live-A-Live: Silent Labyrinth". I don't know if it isn't updated or not. My main answer to that question might the presence of certain NSPC commands that are not yet supported by HuFlungDu's. This might be one of the few other things that might be wrong with HuFlungDu's addmusic. Basically, just pasting the commands that come with the Python files is not enough.

I post this because the guidelines require hacks to be BSNES compatible now if I didn't misread anything. In order for a hack to be BSNES compatible, it must use BSNES friendly addmusics, e.g. Addmusic4/HuflungDu's and/or AddmusicM. A lot of the music chosen for the Crater is Bank supported, and not .brr; so that leaves AddmusicM out of the question. If there's an easy way to convert .bnk songs to work with AddmusicM, do let me know.

Basically, that leaves Addmusic4 as our only choice. (I say our because I'm working with Metalgearhunter on this hack) Unfortunately, a good amount of the select tracks for the Crater will not work with Addmusic4. So my question is, what do I do?

---

As of right now, it is specifically because of the music and maybe ASM available on this site that makes such a complex hack like the Crater to not be compatible with BSNES or even SNES9x. My main guess is the presence of certain NSPC commands is what is messing things up. Other than that, the hack works perfectly in ZSNESW, but a LOT of people hate using that emulator; and I don't want to release a hack that absolutely nobody will play. That is why I need to get this sorted out, otherwise, all the work on the Crater will only be enjoyed on ZSNESW. That might also be the cause for downright rejection.
To port from Addmusic 4 to AddmusicM is even simpler, in my opinion.

1. Getting the samples.
Get Split700 and create a .bat file with this content:

Code
split700 -M --force *.spc
pause


You can leave out --force, if you don't want the program to rip all samples, even invalid ones. I honestly recommend not to do that though, since it oftenly doesn't rip valid samples, so yeah...just leave it that way, I guess.

Now get the SPC you want the samples from, the sample SPC from Addmusic4 songs works fine, too, if you know the sample's slot, otherwise use SPC700 player and play the song as usual, it will display the sample.

Once done and all samples ready, you'd want to open blist.txt and insert your samples there. Leave the originaly in there and below add this:

20 sample1.brr
21 sample2.brr
etc..

Just reanme sample1/sample2 to your .brr files in the brr folder.

2. Setting the samples in the actual song.
AddmusicM uses the $f3 command to load samples and unlike the $e5 command, there's no need to do sample+$80 or anything, instead you create a header for your song, which will set the samples to be used, e.g.

sXX
_20_21_FF

XX being a number from 05-FF (the PCM set)
_20_21_FF <- This one loads sample 20 and 21 (sample1 and sample2 in this case). FF tells AddmusicM to stop loading any samples in that song (it's neccessary!).

After you've written the header it should now look like this:

s10 <- PCM set 10
_20_21_FF <- samples 20,21

Replacing the samples, how?
In Addmusic4 you'll find the $e5 command, e.g.
$e5 $90 $04 <- This one would load sample 10 from a .bnk file.
But in AddmusicM you will need this:
$f3 $20 $04 <- This one will load sample 20 (sample1.brr) from the header.

The pitch is the same from my experience.

NOTE: Make sure that the samples in blist.txt are the same written in your song's header!


Hope that helps. Otherwise feel free to ask me.
Originally posted by S.C.O.R.P.I.O.N.
I don't know if it isn't updated or not. My main answer to that question might the presence of certain NSPC commands that are not yet supported by HuFlungDu's.

The revised Romi's addmusic with my more.bin can do everything the original Romi's addmusic with carol's more.bin can do and more, and uses the same commands (For compatibility reasons). The two biggest reasons things don't work in the revised addmusic that did work before are:

A) Not inserting the header for moving the echo buffer. This wouldn't cause an issue for most people since they still use ZSNES.

B) This is probably the problem, you didn't fix the ADSR commands. Lots of people used a decay greater than 80 before, that doesn't make do anything, and since I use values greater than 80 with that command as "sub commands" for the new ones I added, it causes it to crash.