Views: 1,003,366,142
11 users online: Children's Digest 1950-2009, codfish1002, Daffster, Daizo Dee Von, Infinity, Israelcv12cv, MirrorReflect, OhMuramatsu, qantuum, SF - The Dark Warrior, SomeGuy712x - Guests: 84 - Bots: 154 Users: 54,839 (2,035 active)
Tip: Check for glitched graphics in all frames of an object or sprite (e.g., the ON/OFF block changing, etc.).
Not logged in.
How to use AddmusicM
Forum Index - SMW Hacking - SMW Hacking Help - Tutorials - Old Tutorials - How to use AddmusicM
Pages: « 1 2 3 » Link
Hey guys,

This tutorial is for people who are having trouble inserting songs that require AddmusicM.

Download AddmusicM from here: Click (It requires ActivePerl if you are inserting songs with the .pl file)

Step 1) There should be 3 folders in the AddmusicM folder (addmusicM_English, addmusicM_Japanese and FIRcon). As far as I know, addmusicM_English and addmusicM_Japanese, they both have the same function. Most people prefer using the English version because it has a .exe file that allows us to insert music without having to install ActivePerl. It's your decision to choose the language. Open the folder (addmusicM_English/addmusicM_Japanese).

Step 2) Open the folder named 'INIT'.

Step 3) Open the .asm file named 'INIT.asm'.

Step 4) Look for this line (It should be located at the top of the file):
!FreeRAM 	= $7EC100		;$10バイト連続した空きRAMが必要

"$10バイト連続した空きRAMが必要" means you need an empty RAM address that is 10 bytes long. Of course, the address can be longer than 10 bytes. If you haven't patched anything that uses the address $7E:C100, you can just leave the default address as it is. It shouldn't cause your ROM to corrupt as long as the length of the RAM address you're using is longer (or equaled) than/to 10.

Step 5) Once you've finished setting the RAM address, it's time for you to patch the .asm file. There are quite a few ways to patch things into your ROM. Just use the method you prefer. Oh, and Don't forget to make a backup of your ROM before you patch the file! Also, make sure your ROM has been expanded to at least 2MB (2,049kb). (Preferably 4MB)

For those who don't know/forgot how to patch INIT.asm:
1) Download xkas from here: Click
2) If you have a search bar on your task bar, type in 'cmd.exe' and the .exe file named 'cmd.exe' should appear in the results list. Right click on the file and click on copy.
If you don't have a search bar, go to 'My documents' -> OS (C) (The hard drive icon) -> WINDOWS -> System 32. 'cmd.exe' can be found in system 32 folder. Don't move 'cmd.exe' to another directory, though.
3) Paste the file in the INIT folder.
4) Copy xkas.exe, and paste it in the INIT folder.
4.5) Put your ROM in the INIT folder.
5) Double click 'cmd.exe' and type in the following:
xkas.exe INIT.asm <yourROMname>.smc

..and hit enter.
Replace <yourROMname> with the name of your ROM. (e.g. smw.smc, bodywash.smc or muzak.smc e.t.c...)
6) The .asm file should be patched into your ROM now. If you open your ROM with an emulator at this point, it will do nothing, except it will leave you a message reading 'SPC700 STALL DETECTED'. Don't panic. This should be fixed after you insert songs to your ROM.

Step 6) Put your ROM in the folder where addmusicM(_English).pl (addmusicM_English.exe) is located.

Step 7) Put the music files (.txt) you want to insert in the folder named 'music'.

Step 8) Open up 'list.txt' and list all the .txt files you want to use in your hack.
A brief example of how to list the names:
2C  Double.txt
2D  Sun.txt
2E  Power.txt

Step 9) Run ( Enter the name of your ROM. You don't have to put the extension (.smc).

Step 10) The program will then ask if you want to use the shortcut option. Just type anything and hit the enter key. If you don't do that, then the things on blist.txt and list.txt won't be inserted.

That is pretty much it!

;=======How to insert .brr samples=======;

Sometimes when you download an AddmusicM port from this site (or other SMW hacking sites), you will be seeing files with the extension '.brr'.

Inserting .brr samples is easy once you get the hang of it.

Step A) Put all .brr files in the folder named 'brr'.

Step B) Open 'blist.txt', and you will see a list of .brr names.

Step C) Now, open the .txt file you want to insert, and take a look at the header.

See those numbers highlighted in red?
Numbers in the header are based on the numbers listed in blist.txt
Here is an example of how to list .brr names in blist.txt:
1F Trumpet.brr
20 Sax.brr
21 Oboe.brr
22 Banjo.brr
23 Timpani.brr
24 Bass.brr

If you already used the same numbers in blist.txt and another song, change the numbers to something else. (e.g. _30_31_32_33_34_35_FF)
Save the file (blist.txt) after you listed the .brr names.

Step D) Now run addmusicM(_English).pl (addmusicM_English.exe) and insert the song like what you did in the previous section.

Well, that is how you insert .brr samples.

I will proofread this again tomorrow morning. If I missed something/or was being vague, please let me know. Also, feel free to ask me any questions.


- Masashi27

Torchkas edit: Yeah, this one is important too now.
do you think you could do a little bit of an explanation on the $F3 command like if the numbers need to change, wont you need to mess with those too? also were you said to change the numbers if already used, cant they be reused anyways?
Baw, you beat me to it. :P Great tut, though, I just skimmed it through.
Yeah, some explanation about the commands and creating brr files would be useful.

Also, stickied because I don't see why it shouldn't be.
You might want to note that the ROM is supposed to crash after patching INIT.asm (at least, that's what I've always heard, and I haven't seen it not do so) and that if the player is swimming in the title screen, the user did something wrong. Also, I don't know if it's just me, but it seems to work best when I extract and insert GFX and ExGFX into the ROM without saving a level. I don't know if just expanding the ROM to 2 MB straight away would work equally well, but just saving a level (resulting in a 1 MB ROM) never seems to work.

I agree with omegazeroINFI and Hadron, even though I already know how to use $F3, create .brr files, and use most of the commands (I think...).

Also, you might want to make a note that samples 07, 09, 0A, 0D, 0F, and 11 are no longer accessible with just @ and must be specified in the s command.


I'm working on a hack! Check it out here.
i find anything works when prepping the rom as long as you dont save a level first, if anthing, i usually insert music then patch it, still works without a hitch without ever crashing.
*phew* It's about time my tutorial got obsoleted. That thing was terrible!

Yours is much shorter and sweeter, and gets straight to the point. Thanks for making this, and I hope it helps a lot of people who got confused using mine.
while his may be better explained, right now his doesnt explain porting with it and even then yours was a bit confusing for it. i was trying to add in my own about porting with it until i started getting porting issues with making the samples i try to load sounding nothing like what it should.
1 question, After you use HDF's addmusic, Can you use this in the same hack?

Want progress on 100 Rooms of Enemies: The Nightmare Edition? Go here to see.

Are you a sample porter and wanna help with 100 Rooms of Enemies: The Nightmare Edition? Private Message me or Mellonpizza for details. Expect trading "resources" in exchange. 4 more left.

Thanks for the feedback, guys.
Well, the purpose of this tutorial is to give people a general idea of how to insert songs with AddmusicM. This is not a music porting tutorial. That is the reason why I didn't bother explaining the basis of AddmusicM porting.

If you guys want me to add a brief list of AddmusicM commands, and if I have time, I will do so. You can always check CrispyYoshi's AddmusicM tutorial for the commands list/to learn how to create .brr files, though. I actually learned how to rip .brr samples from his tutorial, so :P

Originally posted by Diddyboy100
1 question, After you use HDF's addmusic, Can you use this in the same hack?

No, you can't. You will have to port all the data to a new unmodified ROM.

I have a problem.
After patching INIT.asm to a clean SMW ROM (obviously expanded to 1 MB), if I try to open it in ZSNES the game crashes. It shows the "Nintendo presents" logo for three times consecutively, then the game freezes and ZSNES shows the following message:

I didn't modify the free default RAM address as the ROM is clean. Also, I'm using the english version.
C3 2016 - C3 2014 - C3 2013

Quest on Full Moon Island 2
@RednGreen: That glitch should be fixed upon inserting songs. I definitely should edit step #6.

Edit: Sorry, man. You were supposed to expand your ROM to 2MB. 1MB causes Mario to swim in the title screen (and throughout the game).
Grab a new ROM, and try again.

I fixed the tutorial a bit.
Originally posted by Masashi27
Edit: Sorry, man. You were supposed to expand your ROM to 2MB. 1MB causes Mario to swim in the title screen (and throughout the game).

Personally for me it works even if you'll not expand ROM. Just make backup of Map16FGG.bin, insert AddMusicM and restore it. Everything should work correctly :). Of course, expanding is easier :P.

Legacy ports zip (now that those went down because Dropbox)

I just noticed AddmusicM causes that "Mario swimming" glitch if I modify a level (so that LM expands the ROM to 1 MB) and then I re-expand.

It doesn't mess up if I expand directly a clean ROM to 2-3-4 MB, though.
Thanks for the tutorial, it really helped.
C3 2016 - C3 2014 - C3 2013

Quest on Full Moon Island 2
There's a weird glicth I found. If you play a song inserted with AddmusicM in the latest BSNES, then only a part of the samples can be heard. The rest screws up.
Did you add a 2 byte header to the .brr files stating the loop point? The glitch is unknown to me otherwise.
How do you get your own .brr files?
Ripping them from another game or making your own?


I'm working on a hack! Check it out here.
Originally posted by imamelia
Ripping them from another game or making your own?

How do I do etheir of those?
Originally posted by Botcrazy
How do I do etheir of those?

I think the most common way to rip .brr files is first drag and drop the .spc file (the spc file where the samples you want to use are in) on a program called 'split700'. The program will then extract all the samples used in the .spc file automatically. Add the 2 byte header to each .brr file and just insert them.

In case you don't know how to add the 2 byte header: Check Crispy's Tutorial. His tutorial should explain things concisely.

Regarding Split700: Sadly, I don't know where that program is distributed. I might have to ask 757 about it. Sorry.
Question: How do you make a SPC file based on a SMW Custom Music Track that you want?
Pages: « 1 2 3 » Link
Forum Index - SMW Hacking - SMW Hacking Help - Tutorials - Old Tutorials - How to use AddmusicM

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2022 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks