Holiday update time! I had planned to get this out on Christmas day, but obviously that didn't work. So here's a...Boxing Day update I suppose?
At any rate, I think the program is basically finished. There are a few more things to wrap up but beyond that any glitches that are found from here on out can simply be fixed with minor tweaks.
Here's what's been added this time around:
- Support for the removal of AddmusicM.
- Updated source code.
- Fixed an instrument bug.
- Added syntax support for noise instruments. Instead of the sample in quotes, you put "nXX" (without the quotes), where XX is a hex value from 0 - 1F.
- Fixed a bug related to echo (did you know that ZSNES completely ignores the MUTE flag?).
- Fixed a bug related to noise (and also optimized some code while I was at it).
- A few updates to the readme.
- Replacements (the "=" command) can now be recursive.
- Replacements can now be used mid hex command.
- Fixed a minor crash that would occur in replacements if the text to replace with had a length of 0.
- The $DD command now accepts a note instead of a hex command for its last value.
- The program now inserts the text ";amk=1" at the bottom of all files that do not already have that text (in future versions the 1 will be replaced by the version number).
- Finally, finally,
finally fixed all P-switch, star, and goal music bugs.
...hopefully.
-
Possibly Probably others.
Originally posted by X-cniSActually, what I should have said is; is it possible to use custom instruments with samples from a custom sample group? The normal method of loading samples doesn't work, apparently. I've read through the readme numerous times but I haven't found anything on the matter. Thank you.
It should be possible--in fact I'm almost certain it is. Just use the sample's name like you normally would if the song itself were defining it instead of a sample group.
Originally posted by MasterlinkSure.
Here it is.
Though, now the errors that trows are "Unknown HEX Command".
That one song helped me find a ton of obscure quirks related to the replacement command, and they have all been fixed. Thank you.
Originally posted by MasterlinkEdit: Eh, do you changed something about the echo on SFX? Because I used the code you gave me time ago (LDA #$07 : STA $1DFA) and
it's like it wasn't there.
Accidentally, yes. Looks like instead of that making all sound effects use echo, it accidentally made all music channels use echo...whoops. At any rate; it's been fixed. Thank you. (But it's LDA #$06, not #$07).
Originally posted by mario90Back when this was first released I asked about using other SFX samples, and you said you could do that by adding more lines under the SFX insturments in Insturmentdata.asm then you use @19+ to call them in sound effects. That's been working all up until now. They just play garbled messes.
Just to be sure, you aren't accidentally overwriting your changes with each new update, right? It might seem like a stupid question, but I can't think of any other reason why this would happen.
Originally posted by mario90As for the sound effect only being able to be 1 second long, lets just say the sample itself exceeds a second in length. Then when inserted and used, it cuts off at around 1 second.
Does the sample play correctly if used in normal music? Are you using long enough durations (like c1^1 or something?). Again, might be stupid questions, but I need to make sure before I go on a wild goose chase.
Originally posted by imameliaFor that matter, why isn't $F9 mentioned?
Because I forgot it. Thanks for mentioning that.
Originally posted by imameliaThat would be a lot of space, but it could work, with the proper modifications to the engine. What I had in mind, though, was more like uploading only however many bytes will be used on one frame. For instance, if the sound effect sample is 0x100 bytes in size, and maybe enough of it plays in the space of one frame to require 0x20 bytes, it would upload the first 0x20 bytes the first frame, then the next 0x20 bytes to the same address the next frame (restarting the sample in the process), and so on for 8 frames total.
That's getting a bit too specific to be included in the main program. If you are willing to program it yourself, though, and it doesn't conflict with existing code, I could add it.
Originally posted by imameliaYes, it does that even when $F1 is used.
That should be fixed now; thank you.
Originally posted by imameliaAnyway, it's nice to see an update. Aren't you glad to be done with finals and have more free time now? (Or, at least, I would hope so...)
Now I should...
Originally posted by imameliaAlthough, on that note, those commands don't seem to be mentioned in the readme either.
More fixed.
Originally posted by MasterlinkNot sure if this is a bug with SMW or the Addmusic itself but when Mario jumps this happens:
I fixed a number of bugs and was unable to reproduce anything like that afterwards. If the bug you're getting does still exist, then yeah, I'll need the song and its samples if you don't mind.
Originally posted by various peopleLayer 3 ExGFX issues
Yeah, I've mentioned this before but that patch does a rather ugly hijack that messes up AMK. To fix that, all you should need to do is find "JML $00810E" in Layer3ExGFX.asm and replace it with "JML $0084C7".
Originally posted by imameliaNow, here's a feature request: Would it be possible to add a command (say, $F4 $09) for making the channel it is on loop independently of the others? Say I want channel #0 to be a quarter note longer than the others but loop a quarter note later. If I put $F4 $09 (or whatever) on that channel, then channels #1-#7 would all loop right before that last quarter note on #0 plays, then while said note is playing, the other 7 channels would be playing whatever comes in the quarter note immediately after the loop point, then #0 would loop back after playing that last note. Is this doable without completely rewriting the N-SPC engine?
It wouldn't require rewriting the engine or anything, but it would require a sufficient amount of new code that I'm not sure it would be worth it. Whatever you'd save in your song with this new command would surely be lost with the sheer amount of code it would take to get that command working.
Originally posted by KY2010The "What about AddmusicM songs?" step needs to be explained better.
I'm trying to do it with the Ota City Sky port by worldpeace but it really doesn't make sense.
Alright; I added an example to that section. Hopefully it helps a bit.