Language…
4 users online: Hidincuzimsmokin, Ice Man, IsoFrieze, mathie - Guests: 1,671 - Bots: 111
Users: 67,694 (2,005 active)
Latest user: Sable Mage

JukeBox by Runic_Rain

File Name: JukeBox
Submitted: by Runic_Rain
Authors: Runic_Rain
Act As: 25
Includes GFX: No
Description: A set of Music Box Blocks. Build a Sound Test room right into your level to play BGM and SFX from your entire hack (does not play "Nintendo Presents").
Screenshots:
Moderated with:
Lunar Magic 3.11
GPS 1.4.1
AddmusicK 1.0.6 (also tested without)
Snes9x 1.60

I inserted the block and it doesn't do anything. I'm not sure what else I can comment on beyond that, given that I was unable to make it work. I tried it both with and without AMK being installed but neither worked (also make note in a future submission whether it's required or not). I noticed you mention it using manual exanimation triggers as well. If those are absolutely necessary to make this work and they require making something inside of Lunar Magic, you will need to make a sample/test level for it, including all of the exanimation stuff.
The only other thing of note is if I was standing on top of the block, the B button (exclusively B) was disabled, so I couldn't normal jump. I don't know if that's intended or not, but I figured I'd let you know.
File Name: JukeBox
Submitted: by Runic_Rain
Authors: Runic_Rain
Act As: 25
Includes GFX: No
Description: A set of Music Box Blocks. Build a Sound Test room right into your level to play BGM and SFX from your entire hack (does not play "Nintendo Presents"). AMK highly recommended.
Screenshots:
Tested with: Lunar Magic 3.11, GPS 1.4.1, AddmusicK 1.0.6, SA-1 1.32, Snes9x 1.60, bsnes v115.

While the block overall works fine for the most part, there's a lot of small issues that prevent me from accepting it.
First, I don't really get why you have the !Base7E define, which does nothing but increase insert size and cycles. The better way would be to use !addr in its place. And speaking of optimization, all your "JMP update" instructions can be changed to "BRA update", and the "CMP #$00" can be removed (LDA already sets the Z flag which you're using to branch).
As for the !Base7F define, it doesn't really work here, because Lunar Magic's ExAnimation addresses aren't remapped on SA-1, so you always use $7FC070.
This makes the manual trigger not work on SA-1, but even when using the correct address you have to pay attention, because blocks run on the SA-1 cpu by default, so you'd need to call the SNES cpu to access that RAM (if you want an example, UberASM Tool has an %invoke_snes macro). This also applies to AddmusicK's freeram, which cannot be accessed on SA-1 in the block. Luckily, it doesn't seem to change anything: setting that AMK's freeram address to 0 or not seems to have no effects, but if it's actually useful for some edge case, then you'll need to STZ that one while running on the SNES side. Pay attention that on Snes9x you can actually access that RAM even if running on the SA-1 CPU, but that's an emulation error: doing so on bsnes or on console won't work.
Now, about the actual functionality of the block, it's annoying that if you press B multiple times on the same song, the song will be reloaded from scratch, including samples (which adds a big game freezing time for effectively nothing). I would make so if the song is the same, it doesn't get reloaded. Or, if you prefer to make it restart, you can use AMK's !freeram+$01, which can be set to not reload the samples.
Another small issue is that when using the fast scroll option, the scroll will stop if you press any of the buttons (other than Up/Down) controlled by $15. This is because you're comparing for an exact value instead of checking just for the correct bits.
Of course, this applies to both BGM and SFX blocks. SFX blocks also have an issue where standing in certain positions within the block and pressing up/down will make the current sfx go up/down by 2 or even 3 at a time, instead of 1. This doesn't seem to happen in the BGM block.