Language…
6 users online: Cristian Cardoso, KoJi, Papangu, playagmes169, stormitive, Zavok - Guests: 244 - Bots: 322
Users: 64,795 (2,377 active)
Latest user: mathew

AddmusicK Beta Release Thread

Link Thread Closed
I'm trying to compile AddMusicK on Linux, but I've problem. ROM.cpp has following line:
Code
#include "ROM.h"

ROM.h is nowhere to be seen.
I've been having some problems regarding the directional coin blocks when using this program.

The music for the p-switches work fine, but if I use a directional coin block, the music just keeps looping forever. I'm not sure why, as they use the same file. Can anyone explain? Is there something I need to change?
Every time I try to insert music, it says "error: miss 1 txt not found". What do I do? What is the deal with all these XX missXtxt in the AddMusic song list? I'm trying to insert Culture Shock. I tried it on both a nearly clean ROM and one that already had AM 4.05 used on it.
Legacy custom music
A site with a non-useless dislike button
SMW hacking channel

AMK is not recognizing AMM macros containing a note value (unrecognized HFD command, it says), thus preventing me from replicating a "percussion" instrument, which I frequently put in my ports.

Example:
Code
"Kick=$f3 $28 $04 $ed $80 $7f o3 f"


Everything else is fine.
Check out my music!
Try removing $ed $80 $7f (AMK thinks that is the HFD DSP write command, but it lacks one argument so it throws that error). I don't even know what that's supposed to do, but if it's direct gain $7F that you want to use, replace it with $FA $01 $7F instead.
My gosh I'm an idiot.

Thanks, Lui.
Check out my music!
Sorry for the lack of updates, I was off on Thanksgiving break and didn't really have a whole lot of free time to work on this also Paper Mario: Sticker Star but hopefully things can get back on track now.

Originally posted by imamelia
Oh. The sample number? So we can actually only use 128 samples per song, not 256?


That is correct, and like I said, I can change it back if people don't like it. But also like I said, I doubt anyone would ever use that many samples.

Originally posted by imamelia
I see. That still requires the same number of bytes as $F8 $XX, though.


It could save bytes from having to constantly redefine the ADSR when you switch instruments, however.

Originally posted by imamelia
Oh. I guess that makes sense. Let's just hope it won't be necessary to use very many custom SFX instruments, I suppose. Although I suppose if you knew where the table was, you could change the instruments dynamically. Is the same true for global tracks?


The global instruments are included in the main program, so while their position will be affected by any code changes, they will not be affected by adding or removing sound effects. If you want, you could always stick a print pc just before the SFX instrument data to see where it is.

Originally posted by imamelia
I figured it was something like that. But then...can't the volume levels on either speaker have either or both bits set? I've seen the right speaker volume set to $F7 before.


The volume is two's compliment, so the highest bit of each DSP volume controls whether it's negative ("surround sound") or not.

Originally posted by imamelia
Edit: Okay, now I'm having the weirdest problem with a sample...one specific sample sounds different in the latest version of AddmusicK than it did in the ones before the sixth instrument byte was added. I literally changed nothing in the text file except adding that sixth byte (a $00), the sample is still the same, and the sample data within the SPCs is the same (I checked in a hex editor). This is what it's supposed to sound like, and this is what it does sound like. The weirdest part is that it only seems to affect that one sample.


Which sample isn't working correctly? I couldn't hear a difference, though maybe I'm not listening closely enough.

Originally posted by Torchkas
Uhm...
For one thing I thought that all #7 SFX were moved to another channel, but why is it so glitchy?
I hope you'll take a look at this.


I hear a light pop at the end of the sound effect...is that the glitch you're talking about? As for it being on channel #7, it was decided a while back that sound effects would be grouped together in channels #6 and #7 (so it wouldn't be necessary to remember to jump over arbitrary channel numbers).

Originally posted by GlitchMr
I'm trying to compile AddMusicK on Linux, but I've problem. ROM.cpp has following line:
Code
#include "ROM.h"

ROM.h is nowhere to be seen.


I don't know why ROM.cpp was in there...it was never used, so don't bother trying to compile it. At any rate, though, that source is rather outdated, so I wouldn't rely on it. When this program is properly released, the actual source will be included.

Originally posted by Randomiser
I've been having some problems regarding the directional coin blocks when using this program.

The music for the p-switches work fine, but if I use a directional coin block, the music just keeps looping forever. I'm not sure why, as they use the same file. Can anyone explain? Is there something I need to change?


The directional coins actually seem to have unique control over how it plays the p-switch music. I'll have to look into it; thanks for reporting that!

Originally posted by Sokobansolver
Every time I try to insert music, it says "error: miss 1 txt not found". What do I do? What is the deal with all these XX missXtxt in the AddMusic song list? I'm trying to insert Culture Shock. I tried it on both a nearly clean ROM and one that already had AM 4.05 used on it.


I dun goofed and put in the list for SMWCP2 for some dumb reason. It should be fixed now; thank you.

Originally posted by Moose
AMK is not recognizing AMM macros containing a note value (unrecognized HFD command, it says), thus preventing me from replicating a "percussion" instrument, which I frequently put in my ports.

Example:
Code
"Kick=$f3 $28 $04 $ed $80 $7f o3 f"


Everything else is fine.


Lui already posted the answer, but this post reminded me of something: The ADSR command can actually use GAIN if the first byte is > $80. I don't know if it's always been like that, or if it was a Carol/AMM specific feature, but it's apparently something I now have to deal with. So I'm thinking something like this: If the song is recognized as an AMM or AMK song (through use of their specific features), then no HFD commands will be allowed (and thus $ED $80+ will be treated like normal and can use GAIN). Anyone have any problems with this?
I should get a new layout.

Probably won't, though.
Originally posted by Kipernal
Which sample isn't working correctly? I couldn't hear a difference, though maybe I'm not listening closely enough.

It's sample 14, which plays on channels #0 and #1.

Originally posted by Kipernal
The ADSR command can actually use GAIN if the first byte is > $80. I don't know if it's always been like that, or if it was a Carol/AMM specific feature, but it's apparently something I now have to deal with. So I'm thinking something like this: If the song is recognized as an AMM or AMK song (through use of their specific features), then no HFD commands will be allowed (and thus $ED $80+ will be treated like normal and can use GAIN). Anyone have any problems with this?

That's fine with me. You could also have an #AMK flag for people to use just in case.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by imamelia
It's sample 14, which plays on channels #0 and #1.


They both seem identical to me; the pitches, ADSR, volume, etc. are all the same for both SPCs. Are you sure you uploaded the right ones? Or does it occur later in the song?
I should get a new layout.

Probably won't, though.
Yep, those are the ones. The sample in the affected one sounds more...muffled, I guess, than the one in the normal one.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by imamelia
Yep, those are the ones. The sample in the affected one sounds more...muffled, I guess, than the one in the normal one.


I'm still not hearing it. They sound and look exactly the same, so I guess I'm missing something?
I should get a new layout.

Probably won't, though.
Do you by chance not have echo rewrite enabled in the SPC player?

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by imamelia
Do you by chance not have echo rewrite enabled in the SPC player?


Ah, I didn't. I usually keep it off since a lot of songs just break with it on. But yeah, this is sufficiently weird enough that I couldn't tell you what's going on. Did you test in bsnes? SPC700 Player is good, but it's not perfect. There are some songs it seems to mess up on, and this might be one of them.
I should get a new layout.

Probably won't, though.
Huh, it does sound correct in-game. That's the first time I've ever had that happen, I think. Well, carry on, I guess. (Maybe Vitor Vilela's player will get it right?)

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Update. Not too much this time; but I fixed two bugs that could cause crashes (one related to uploads and one related to restoring instrument @21 on a SFX channel). The big thing for now is the new readme; I've completely redone it in HTML so things should look a bit cleaner. I've also added a visualizer for ADSR to hopefully make learning exactly what it is a bit easier for people new to porting.
I should get a new layout.

Probably won't, though.
Seems like there's a small error with the readme:

Originally posted by Readme
> Lower octave Lowers the current octave by one.

< Raise octave Rasies the current octave by one.
I'm not sure if someone's really given a reason why this wouldn't work here, but how about making a command that allows you to replace 'silence' with a definable Gain command, like in Asterix and Obelix (another nintSPC game, might I add) and the Mega Man X games for Super Nintendo.
If we're going back to $ED $80 $XX for Gain definitions, how about having $FA $01 $XX be used for this 'Capcom' effect?
Check out my music!
Originally posted by Masterlink
Seems like there's a small error with the readme:

Originally posted by Readme
> Lower octave Lowers the current octave by one.

< Raise octave Rasies the current octave by one.


#smw{-_-2}

Thanks, I'll fix that in the next update, along with a minor fix for the ADSR generator.

Originally posted by Moose
I'm not sure if someone's really given a reason why this wouldn't work here, but how about making a command that allows you to replace 'silence' with a definable Gain command, like in Asterix and Obelix (another nintSPC game, might I add) and the Mega Man X games for Super Nintendo.
If we're going back to $ED $80 $XX for Gain definitions, how about having $FA $01 $XX be used for this 'Capcom' effect?


That's a really good idea, but there's one problem: The reason those games can modify the ADSR/GAIN mid-note and still have it sound correct is because all their instruments have an ADSR of F 7 7 (basically no ADSR). I could add this feature, but I cannot remove this limitation, since it's a limitation of the DSP and not the SPC program. Is that okay?
I should get a new layout.

Probably won't, though.
Some things about the new readme:
- It says that valid values of the @ command are 0-18, 20, 29, and 30+...shouldn't that be 0-18, 21-29, and 30+? (I still say @19 and @20 should do something...)
- What happened to the $F7 command?
- The ADSR generator is cool, but you forgot to multiply S by 2. (Is that the minor fix you mentioned?)
- It doesn't seem to mention anywhere that just storing to $1DFB will automatically upload a new track, nor does it delve into the technical stuff (how to modify the engine, upload your own music, rearrange things in ARAM, etc.). The latter might be more work than it's worth, but it seems that the former should at least be mentioned in a short note.
- It also doesn't mention the "noise instrument" anywhere. Or haven't you added that yet?

Also, perhaps $F4 $04 should be repurposed or something?

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Kipernal
That's a really good idea, but there's one problem: The reason those games can modify the ADSR/GAIN mid-note and still have it sound correct is because all their instruments have an ADSR of F 7 7 (basically no ADSR). I could add this feature, but I cannot remove this limitation, since it's a limitation of the DSP and not the SPC program. Is that okay?

I think it's fine. But we should probably see what other people have to say about it.
Also, although the 'ADS' in ADSR has to be F77 like you said, you can still define a different R value (I think?), so it's not a total problem.
Check out my music!
Link Thread Closed