Language…
3 users online: anoMaly666,  Atari2.0, Tsquare07 - Guests: 239 - Bots: 295
Users: 64,795 (2,375 active)
Latest user: mathew

AddmusicK

Tool

Ahem, possible bug report time (unless you somehow changed how it works ?_?):
while diving through song data in ARAM (don't ask lol), I found out that note commands aren't compressed and instead each note always redefines its note length, even when using the same one as the previous note(s).
As an example, let's take a bar from the SMW underwater music:

Originally posted by 12 Water.txt
@3 q79
r4.o5c32d32f32a32>c4r4.<d32f32g32a+32>d4

Originally posted by ARAM
DA 03 48 79 C7 06 B0 06 B2 06 B5 06 B9 30 BC 48 C7 06 B2 06 B5 06 B7 06 BA 30 BE

Those notes I highlighted in blue, are using the same note length, but it's redefined each time. Compressed, it would look like this:

Originally posted by me right now
DA 03 48 79 C7 06 B0 B2 B5 B9 30 BC 48 C7 06 B2 B5 B7 BA 30 BE

I very much think that's what's causing this issue.

Well yeah, not much else to say. I guess that shouldn't be hard to fix.
Also, hooray for funky colours!
hmmmm well it seemed good on paper. I didn't check all of them in BSNES but the ones I did react exactly the same. Some of these ports are REALLY good and I want to use them but want my hack to work on console as well so please tell me a fix or recode the song?

Star/P-Switch Breaks in SNES9x/BSNES:
(S) Twilight Space from Super Bonk by Masashi27
(S) Tengu Man RM&F by Slash Man
Forest Interlude from Donkey Kong Country 2 by Core
Cornered from Phoenix Right by Holy Order Sol
Max Heat from Mega Man Zero 4 by imamelia
Lava Reef Zone I from Sonic 3 by Slash Man
Lave Reef Zone II by Slash Man
(S]) Underwater City from Rudra by FPI (causes strange P-Switch noise)
Undersea Palace from Chrono Trigger by Camerin
Atomic Dance from Arcturus by worldpeace
Siren's Rush Job and Bright Club Lane by worldpeace
Fortress Boss from Mega Man 7 by Masterlind
Wind Fortress from Cave Story by SNN
(M)(S) Meta Knight's Defeat from Kirby Super Star by Ice Man
Sky Sanctuary from Sonic 3 by Slash Man
(S) Hot-Head Bop from DKC2 by Slash Man
(S) Mining Melencoly from DKC2 by Slash Man
Nuts n Bolts from DKC3 by Blind Devil
(S) Minish Forest by worldpeace
Manoria Cathedral from Chrono Trigger by Nocturne
Farewell to Ballade from Mega Man 10 by Slash Man
Final Fantasy Legends 2 Boss by gocha (crashes on normal death) found here: www7.atpages.jp/smw/file/1228965036/1228965036.zip in the folder mml, folder old, file smw-ffl2boss

Error in insertion:
Light Plane from Pilotwings by Mattrizzle
Flight of the Zinger from DKC2, (M)(S)Four Warriors of Dawn from Final Fantasy V, and Trail on Powdery Snow from Mega Man Zero 3 by Atma
Unknown Lands from Final Fantasy V and Big Blue from F-Zero Climax by Ellipsis
All of Slash Man's Mega Man 8 ports



Side Note: Did about 15 P-Switch Hops testing these
Your layout has been removed.
I decided to try compiling AM405Remover on Linux, mainly because I didn't think "makefile" would be found (the standard name is "Makefile"). While that worked fine, I ran into a couple of other issues.

First, targetver.h refered to the Windows-only file SDKDDKVer.h. I commented it out.
Second, stdafx.h wanted tchar.h. I purged the entire stdafx.h.
Third, AM405Remover.cpp mentioned _TCHAR. I replaced that with char, and renamed the function to main (_tmain is some more Windows-only shenanigans).
Fourth, the main function is blank, and the resulting program (rather predictably) does nothing.
Fifth, the function removeAM405Data looks like a main - and calls itself Unofficial Addmusic 4.04. (I didn't bother testing what it does; I don't have any Addmusiced ROMs.)

What exactly is going on around there?
<blm> zsnes users are the flatearthers of emulation
Sounds great. If I ever do something with the potential hack idea I have, I'll definitely be using this.
Aaaaaaaah so many bugs. I've fixed around half of the ones reported so far (including some sent via PM), and once I've fixed them all I'll resubmit the tool. Thanks for reporting them, and I'm sorry they, well, exist.

Originally posted by Archie
Edit: I think there is a bug on there. I inserted a starman music for my hack, and when I touch the star, after I die, the music keeps on playing, and the overworld has the music of the level that I choose instead of the overworld music. Also, is it intentional that the P-switch music plays when I push the P-switch while on starman effect?


Found the bug; fixed it. Thank you.

Originally posted by imamelia
Okay, this is weird...when I touch the goal in Yoshi's Island 3, the victory music doesn't play, and then all the other music has a greatly slower tempo until I die, at which point it goes back to normal. I don't know if this is the fault of AddmusicK or my port, but it's something that I'd like to fix.


I can't seem to reproduce it. Can you give me more information?

Originally posted by imamelia
Also, is it just me, or is the h command kind of screwy? I know it's not as necessary now that we have the pitch submultiplier, but I'm trying to convert an older port, and it seems to modify the notes even outside of the current channel.

...aaand now one of my instruments is detuned (about a whole step too low) on one channel but not another. What...


I was never quite able to figure out exactly how that command worked; up until now though it seemed to be fine for existing ports. How exactly does it work (does it only affect the current instrument, only affect the current channel, only affect up until the next instrument is defined, etc)?

Originally posted by DiscoMan
By the way, I think there's a bug involving musics that use echo, while I can play the P-switch theme normally in "Here We Go" normally, when I'm in cave and I try to play the theme, SPC crashes.

It happens when I try to upload a music that uses echo too.


Fixed; thanks. (This should fix all instances of the starman and p-switch songs crashing, so I'm only mentioning it from this one post so I don't repeat myself a dozen times)

Originally posted by Grav
So, my friend and I were testing out an RS3 song, but to my surprise the $FA $XX oscillation command was removed. However, I noticed $F4 $04 was free. Wouldn't it be possible to make that the command for the oscillation?

(Also, my friend and I can't get any sample that sounds like the oscillation feature, either.)

EDIT: Also bring back the SRCN09 calling, aka the built-in square wave in AMM. The two commands for oscillation were made to work with this built-in sample, so it'd be awesome if you would bring that back, too.


Ha, I was kind of hoping no one used that command...

Alright, I'll see what I can do then.

Originally posted by imamelia
Also, is it normal for AMK ports to be anywhere from 90 to 500 bytes bigger than the same port done in Addmusic 4.05? I don't know why there would be that much of a difference, unless the actual names of the .brr files are assembled into the ROM or something.


I think it's due to this:

Originally posted by Lui37
Ahem, possible bug report time (unless you somehow changed how it works ?_?):
while diving through song data in ARAM (don't ask lol), I found out that note commands aren't compressed and instead each note always redefines its note length, even when using the same one as the previous note(s).
As an example, let's take a bar from the SMW underwater music:

Originally posted by 12 Water.txt
@3 q79
r4.o5c32d32f32a32>c4r4.<d32f32g32a+32>d4

Originally posted by ARAM
DA 03 48 79 C7 06 B0 06 B2 06 B5 06 B9 30 BC 48 C7 06 B2 06 B5 06 B7 06 BA 30 BE

Those notes I highlighted in blue, are using the same note length, but it's redefined each time. Compressed, it would look like this:

Originally posted by me right now
DA 03 48 79 C7 06 B0 B2 B5 B9 30 BC 48 C7 06 B2 B5 B7 BA 30 BE

I very much think that's what's causing this issue.

Well yeah, not much else to say. I guess that shouldn't be hard to fix.
Also, hooray for funky colours!


...which I'll get on fixing; thanks.

Originally posted by imamelia
Oh, yeah, I forgot...did you ever allow it to work/make sure that it works on 8MB SA-1 ROMs? I imagine SuperFX ROMs wouldn't require anything extra.


Not yet. I think the only thing that needs changing is the SNESToPC and PCToSNES address conversion functions, though (and a way to tell if a ROM is a 6 or 8 MB SA-1 ROM). It's on my "to do very soon" list, though taking care of these bugs takes priority right now.

Originally posted by aterraformer
I would like to let everyone know that AddmusicK acts weird with KilloZapit SMB2 Health Patch and Demonsul Always Small Patch. When patched before adding music, the hack crashes upon Mario's death. When patched after, it changes the death music to Bonus End. If I played around with it I'm sure I could make it work correctly but just as a percussion so you don't break your hack (once it starts crashing it's done!)

Also when I using a 4.05 sample song, the death music changes a little though I have only tried Masashi27's Super Bonk - Twilight Space.

Hope this helps! Beyond that it works great!


I'm not sure how AMK could be causing a crash that happens before you use it (since you can't use it without inserting music), though as mentioned, the song order needed to be changed a bit for certain features to work correctly, so certain values here and there in custom sprites and such might need a bit of adjusting. And as for the death music changing, do you just mean the piano sounding a bit different? Because that's normal and there's not much I can do about it.

Originally posted by aterraformer
hahaha Someone else please try inserting Slash Man's old port of Wind Man from Mega Man 6. The results are hilarious. You can find it in the Legacy hack thread here.

http://www.smwcentral.net/?p=viewthread&t=53444

A lot of the old ports do work fine however.


Literally nothing I can do about that, I'm afraid. That port uses an invalid FIR filter that pulls garbage data, so it was doomed to fail on anything other than the Addmusic it was designed for.

Originally posted by Zeldara109
Just wondering, does this fix the glitch previous addmusics have, where if the music has sped up due to the timer reaching 99, loading a sublevel with different music (or even the same music, if it restarts due to a P-switch/star) resets it to its original speed?


It should.

Originally posted by MrCheeze
I think there should probably be some sort of built-in feature to change what music plays in specific circumstances, because right now (without manual hex editing) you get the same music played from dying and from the credits, for example.


That's a good point, actually. I can't completely fix it (since the original SMW credits music has yet to be ripped), but I can add a way to make it easier to fix.

Originally posted by MrCheeze
Oh, and one more thing: previous Addmusics seem to have had support for playing percussion instruments at arbitrary pitches like any other instrument, but AddmusicK does not. See this song for a comparison between the two (just the first couple seconds).


Semi-intentional. Percussion on channels #6 and #7 are forced to play at only their original pitch to avoid glitches. Percussion on any other channel can have any pitch, however. I'm not sure if there's an easy fix for this, but I'll look into it.

Originally posted by imamelia
Also, there seems to be something screwy with label loops. I have one port where channel #0 contains and defines a label loop, and channel #1 starts with that same label. The portion of channel #1 that is covered by that label has a volume of 0. The notes still seem to play, the pitches change, but it is silent.

Edit: Text file. See the beginning of #1.


Bizarre; I'll look into it. Incidentally, do you know if this occurs in any other Addmusic?

Originally posted by Alcaro
I decided to try compiling AM405Remover on Linux, mainly because I didn't think "makefile" would be found (the standard name is "Makefile"). While that worked fine, I ran into a couple of other issues.

First, targetver.h refered to the Windows-only file SDKDDKVer.h. I commented it out.
Second, stdafx.h wanted tchar.h. I purged the entire stdafx.h.
Third, AM405Remover.cpp mentioned _TCHAR. I replaced that with char, and renamed the function to main (_tmain is some more Windows-only shenanigans).
Fourth, the main function is blank, and the resulting program (rather predictably) does nothing.
Fifth, the function removeAM405Data looks like a main - and calls itself Unofficial Addmusic 4.04. (I didn't bother testing what it does; I don't have any Addmusiced ROMs.)

What exactly is going on around there?


AM405Remover should actually be compiled with AddmusicK. They're separated from each other because AM405Remover is literally Addmusic 4.05 but with all music compilation and insertion functions removed. AddmusicK, if it detects a ROM with AM 4.05 on it, sets up AM05Remover like its own sub program and then runs that. I think I accidentally included a couple of bogus files with it by accident, though (main obviously shouldn't be there; neither should stdafx.h or tchar.h). So yeah, that's the explanation behind that weirdness.

Originally posted by Adam
My music seems to break whenever the clapping chuck's sound effect is played,


Could you give me the music in question?

Originally posted by Adam
and it seems like when transitioning from submap to submap or submap to overworld, there is a considerable amount of lag.


That's the game loading whatever song that map uses. It's a slow process, since songs are no longer grouped into "overworld" and "level" (which frees up considerable amounts of space in ARAM).

Originally posted by Adam
I also noticed that you cant button mash your way through the title screen anymore, and it responds slower to button presses.


Are you absolutely sure that's AMK? I'm almost sure that the only code related to the title screen that the program touches is just the music it plays. If it is AMK I'll definitely have to investigate.

Originally posted by S.C.O.R.P.I.O.N.
Question: "Do I use the AddmusicKGUI that's in there to insert music, or the .exe?"


Whichever you find easier to use.

Originally posted by S.C.O.R.P.I.O.N.
I used the "AddmusicK.exe" on both my hacked rom and a clean rom, and the music is not even being registered, and .msc file is not being created. Is it supposed to automatically close out after the insertion is complete?


Is it modifying your ROM? Because if so then that is a legitimate glitch. And it is supposed to automatically close if no errors were detected. If you need it to stay open, then launch it without dragging your ROM over it (or without any command line arguments).

And thank you for the comments, everyone! I do appreciate it, and I'll try to fix these bugs as soon as possible. Also, for those who didn't see it in the beta release thread, I'm always going to do my absolute best to make different releases compatible with one another, so you should never need to start back at a clean ROM.
I should get a new layout.

Probably won't, though.
Originally posted by Kipernal
How exactly does it work (does it only affect the current instrument, only affect the current channel, only affect up until the next instrument is defined, etc)?


Only tunes the current channel, if you change instruments and forgot to set the tunning to 0 (or a different number), it'll stay the same.
Originally posted by Kipernal

Could you give me the music in question?


Yeah. Here you go.

Originally posted by Kipernal

Are you absolutely sure that's AMK? I'm almost sure that the only code related to the title screen that the program touches is just the music it plays. If it is AMK I'll definitely have to investigate.

Pretty positive, actually. I used a clean rom.
Geeze that's a lot of stuff fixed.
Btw, I can never get noise ($F8 $XX) to work properly, not even nXX.
I tried
#0 $F8 $10 c4
and
#0 n10 c4
Is there something I'm missing?
________________________________________________________
Mario the Gaul
Originally posted by Kipernal
Originally posted by imamelia
Okay, this is weird...when I touch the goal in Yoshi's Island 3, the victory music doesn't play, and then all the other music has a greatly slower tempo until I die, at which point it goes back to normal. I don't know if this is the fault of AddmusicK or my port, but it's something that I'd like to fix.


I can't seem to reproduce it. Can you give me more information?

Well, I think this is the port that was doing it. It doesn't seem to be doing it anymore, but now the goal music sometimes ends up detuned.

Originally posted by Kipernal
I was never quite able to figure out exactly how that command worked; up until now though it seemed to be fine for existing ports. How exactly does it work (does it only affect the current instrument, only affect the current channel, only affect up until the next instrument is defined, etc)?

It's supposed to work until the end of the channel or another h command. It turns out that that wasn't the problem in the port, though...I had manually transposed something before because it was on a sound effect channel and forgotten to change it back when converting.

Originally posted by Kipernal
Originally posted by imamelia
Also, there seems to be something screwy with label loops. I have one port where channel #0 contains and defines a label loop, and channel #1 starts with that same label. The portion of channel #1 that is covered by that label has a volume of 0. The notes still seem to play, the pitches change, but it is silent.

Edit: Text file. See the beginning of #1.


Bizarre; I'll look into it. Incidentally, do you know if this occurs in any other Addmusic?

Well, the port worked fine when it was designed for Addmusic 4.05, so...

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by Kipernal
Originally posted by MrCheeze
I think there should probably be some sort of built-in feature to change what music plays in specific circumstances, because right now (without manual hex editing) you get the same music played from dying and from the credits, for example.


That's a good point, actually. I can't completely fix it (since the original SMW credits music has yet to be ripped), but I can add a way to make it easier to fix.

Originally posted by MrCheeze
Oh, and one more thing: previous Addmusics seem to have had support for playing percussion instruments at arbitrary pitches like any other instrument, but AddmusicK does not. See this song for a comparison between the two (just the first couple seconds).


Semi-intentional. Percussion on channels #6 and #7 are forced to play at only their original pitch to avoid glitches. Percussion on any other channel can have any pitch, however. I'm not sure if there's an easy fix for this, but I'll look into it.

1. I'm less concerned with the music itself and more with an option in the list or something that can let you adjust what plays any of the times where a specific music is hardcoded to play.

2. Alright, I can just adjust the channels a bit for that song. If it can't be fixed there should probably be some mention in the readme, though.

P.S. You're awesome.

(How do I not have a post layout? I used to be so active around here... was there a layout purge?) problem solved
Your layout has been removed.
Alternatively, you could make custom instruments using the percussion samples, then specify the pitches yourself.

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

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Did you get my IPS? Is it a program bug or just my ROM?
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by Kipernal
Originally posted by imamelia
Also, is it just me, or is the h command kind of screwy? I know it's not as necessary now that we have the pitch submultiplier, but I'm trying to convert an older port, and it seems to modify the notes even outside of the current channel.

...aaand now one of my instruments is detuned (about a whole step too low) on one channel but not another. What...


I was never quite able to figure out exactly how that command worked; up until now though it seemed to be fine for existing ports. How exactly does it work (does it only affect the current instrument, only affect the current channel, only affect up until the next instrument is defined, etc)?


This command is same as tuning, but it's channel specific (and loop?), not instrument specific. That's all I guess. Also the h command works like the Per-Voice Transpose, except the h command are processed by Addmusic and not by engine.
GitHub - Twitter - YouTube - SnesLab Discord
Originally posted by imamelia
Alternatively, you could make custom instruments using the percussion samples, then specify the pitches yourself.

Hmmm... that does suggest the easy fix Kip was looking for. (Same thing except done automatically by Addmusic)
Your layout has been removed.
yes, finally....a better Add Music program.
I'm getting "Unknown HFD Command" when I use GAIN with the old method ($ed $80 $xx), can this be fixed?
MasterLink, I think you need to put #AMM to use $ED $80 $XX for GAIN.

ok er, bug..
http://bin.smwcentral.net/u/6492/Asterix%2Band%2BObelix%2B-%2B26%2BMap.spc
See how #1 doesnt start playing till 10 seconds?
I have..

#0$F4 $02/ (1)[@30 $ED $81 $04 $EE $30 $FA $03 $28 v223]
(2)[o1a1>a1<a1>a2^4o1g4o4c1d1c1e1](4)[o4e1f+1f1e1o1a1>a1<a1>a2<a2] blah..blah..

#1 $F4 $02/
(1)(4)(3)[o4c1d1c1c1e1f+1f1a1] blah..blah..
It starts playing at (3) instead of (4).

#2 $F4 $02/
(1)(3)(2) blah..blah..

Could this be fixed?

EDIT: I think its the same problem imamelia had up a few posts.
________________________________________________________
Mario the Gaul
Kipernal this is freaking awesome work man!
After the permaban and the lonely depression which followed, a new Fellowroot has risen.
So Kipernal, I'm having a lot of trouble getting Exponential Decrease GAIN working with $FA $05 $XX. Currently, I'm trying to do:
Code
$FA $05 $AC @30 o4c8. r2^4..
and it really doesn't want to work.

I even tried a certain way MaxodeX described me ($FA $05 $AC @1 $FA $01 $00 $ED $7F $E0 o4c8. r2^4..), but that doesn't want to work at all either. Think you could help here, or is this a bug? That's why I wanted to report it here, and not make a help thread in the Custom Music Help forum.
I though you didn't like GAIN..

Anyway try:

@30 $ED $7F $E0
$FA $05 $AC
o4c8. r2^4..


That should work, but if it doesn't its probably a bug.
________________________________________________________
Mario the Gaul

Tool