9 users online:  AmperSam, Apple Boy, Green Jerry, MiracleWater, mtheordinarygamer, RZRider, Sammmoo, ShoopDaWhoop, TCgamerboy2002 - Guests: 143 - Bots: 211
Users: 65,554 (2,172 active)
Latest user: johnmario

AddmusicKFF + AddmusicK 1.0.9-1.0.10 Winter 2024 C3 Update Thread

Super Mario WorldToolResource Release

Hello! This is my Winter 2024 C3 progress update thread for AddmusicKFF!

The main thread is here. You are looking at an abbreviated version that summarizes some of the material.

What is AddMusicKFF?

AddMusicKFF is a fork of AddMusicK by Kipernal. I'm not bumping the version number unlike the others due to me having seen two past cases of doing so, and me admittedly realizing that I don't want to join the conflict myself. Plus, I'm intending on maintaining backward compatibility with the older Addmusics.
This actually originated when I created a slowdown fix for AddMusicK for Super Mario All-Stars + Super Mario World that got officially implemented in the standalone version on Super Mario World, debuting on 1.0.7. I also implemented fades to any volume for compatibility for Super Mario All-Stars and the original ID is backward compatible with Super Mario World, but that part won't make the cut both because of memory constraints and on the 65816 end, I introduced a conflict past 128 songs by doing so. The code has been saved here, and yes, it is available for use in the bleeding edge if you want.

This version adds code containing either direct contributions or adaptations from  Atari2.0,  Kevin, Akaginite, HertzDevil, Aikku, Barrels O' Fun, nyanpasu64, JUMP Team, SimFan96, Anas, Codec, 6646 and lx5.

When are you planning on releasing AddmusicK 1.0.9?

The tool was finalized on October 5, 2023! Yes, AddmusicK 1.0.9 was finalized: it was claimed for moderation shortly after Summer 2023 C3, then a few more updates were done courtesy of moderator feedback. Plus, I have a prerelease build of AddmusicK 1.0.10 as a continuation of handling regression fixes courtesy of user feedback.

What have you done since Summer C3 2023?

Inserted into the finalized 1.0.9 release

  • Duplicate samples are now filtered out outright instead of being loaded twice, wasting memory in the process.
  • Fixed a bug where triggering multiple $1DF9 or $1DFC SFX in a row not on the same channel as hardcoded $1DFA SFX would cause the $1DFA SFX to terminate prematurely, causing a stuck pitch bend on the jump SFX.
  • Added some quick documentation on AM4Batch and AMMBatch below the Converting older hacks section in the Basic Use section.
  • Added AM4Batch and AMMBatch compilation to the makefile, since they were command line applications.

Ready for 1.0.10

  • Duplicate sample handling is fully upgraded to use duplicate pointers. The finalized 1.0.9 has an earlier version of this where duplicates were replaced with empty slots: this turned out to have caused a regression.
  • Split off the !CastleDestructionFanfare song definition from the !Welcome song definition (the IDs remain the same, but you can now separate them more easily from the user defines), and added two user defines, !BowserSongOverride and !WelcomeSongOverride that removes the default overrides used by Vanilla SMW (and was accidentally reactivated when some of the patches relied on AddmusicK getting this wrong).
  • The song memory overflow messages have been upgraded by no longer rounding to the nearest $100 bytes, as well as specifying whether the sample data or echo buffer caused the memory overflow.
  • Warnings were added for using non-standard FIR coefficient table IDs with the $F1 hex command. This was done because the coefficients would be incorrect on 1.0.9 due to an out-of-bounds bug. Out-of-bounds bugs are something that I am less willing to keep around than most other cases.

Planned, but not quite ready for 1.0.10

  • I received a contribution from sereneruby/Lord Ruby and PSI Ninja of the A3MT (And Another Thing) development team that upgrades the handling of the SA-1 memory map to the full 8 MB.

    My own notes tell me the starting location of where the sound data was being written was unusual compared to its usual starting location, and I then attempted to test it to the limit by sealing off areas with RATS tags. It... ended in overwritten stock ROM data, so I deemed the fix not ready yet.

Bleeding Edge exclusive for now

(usually because they require that I implement code filtering on the SPC side to avoid memory constraints, though in the smaller cases, it's because I don't want the optimizations that I also add in to introduce regressions at this time)
  • Upgraded the maximum number of SFX instruments from 28 to 128.
  • The MVOL DSP registers are now set to $7F on song initialization. This is done because they are otherwise untouched except by the sound data.

What have you done since Summer C3 2023 started?

  • NEW 2/25/24: AddmusicK 1.0.10 was moderated and finalized! That simply means I'll kick the SA-1 upgrades over to the next version for safety reasons.

Check out the tool submission page for the latest 1.0.10 release candidate here!

The latest 1.0.10 release candidate is also mirrored here for downloading!
For those of you that want to also try out the SA-1 upgrade (as well as anything else that's not quite ready for the release candidate), the 1.0.10 beta build's here!
Check out the Github repo for this release candidate!
Addmusic 1.0.10 is the best perfect version! #smrpg{y}

List Soundtrack - List Hacks

Mega Man X3 OSTs

I'm a big supporter of removing the 0x100 rounding, since that's always felt like a vague zone for me in terms of exactly how much ARAM I have left for my port before I need to kill another vanilla sample. The duplicate sample handling and FIR warnings will also be helpful for people that otherwise wouldn't know that the other $F1 values are out of bounds (like me a few months ago...).
embed fail!!

AddmusicK 1.0.10 was just recently moderated and finalized! So that means it's time for me to work on the next version. And now that 1.0.10 is finalized, that means I can work on 1.0.11. One of the things on my mind is to upgrade to Asar 1.90, since that was newly submitted.
Major tool updates are good. They're minor changes but still improvements. What do you have planned for 1.0.11?


I'm working on a hack! Check it out here. Progress: 64/95 levels.
We'll see where it goes. I have one contribution that has effectively been kicked down the road due to safety issues that I mentioned above, but the other thing on my mind is asar v1.90. I chose to have 1.0.10 deal mainly with regressions, as it seems like the transition almost went relatively smoothly... with a few exceptions here and there.

Based off of asar v1.90's release to the pending section of the Tools (and since 1.0.10 is now finalized, freeing me up to do that), it sounds like I should focus on getting the tool up and running for asar v1.90, especially with some deprecations going on as well as me running into a bug that caused me to not go through with upgrading longer ago since I felt the change would have looked ugly. I'm not going to have it run like AddmusicK originally ran... that is, eternally frozen on an asar version that actually pre-dates SMWCentral's earliest archived version. The asar version was upgraded in the first place because I couldn't even run it in the state it was intended to be run in the first place mostly due to MIA source code for the version indicated, so it was upgraded to 1.71, then 1.81. I didn't upgrade past that point because I wanted to be based off of a version number, not a git commit ID (to me, those are too exact of a versioning thing for me to be dealing with, especially when it comes to compiled binaries).
I haven't had a need for using Addmusic in years, let alone benefit from the newest minor fixes (I assume), but I've always admired how you're handling the development of this tool. You're being really thorough about this.

Great work!


Super Mario WorldToolResource Release