Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,435,736
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-19-24 12:01 PM
Guest: Register | Login

0 users currently in ROM Hacking | 5 guests | 2 bots

Main - ROM Hacking - Going after the SMB3 Music Format... New thread | New reply


Googie
Posted on 06-05-09 04:55 PM Link | Quote | ID: 108133


Giant Red Paratroopa
Level: 77

Posts: 473/1407
EXP: 4178780
Next: 12349

Since: 02-19-07
From: Brooklyn, NY

Last post: 2 days
Last view: 2 days
I've been listening to it lately and I noticed that most'a the music in SMB3 are only seconds long to almost lasting up to one minute. And also I've been listening music from SNES games that lasts about the same as SMB3.

I don't mind each world map having the same music as you progress, there's a SNES game that does that. I'm using the JCOM SPC player to turn some music into WAV files and using Atomix MP3 player to edit the music to my liking converting it to MP3.

Any methods on how to do this inserting different music into SMB3? I like how Quick made that Luigi's Chronicles clip with different music. In case anyone wants to know, I asking this q for my SMB3 hack Toad's Trauma Show.

I'm getting my gears turning to hack again, any help will be really appreciated... ^^;

____________________
My Linktree

blackhole89
Posted on 06-05-09 05:07 PM Link | Quote | ID: 108135


The Guardian
Moloch whose eyes are a thousand blind windows!
Level: 124

Posts: 2569/4196
EXP: 21521009
Next: 315592

Since: 02-19-07
From: Ithaca, NY, US

Last post: 464 days
Last view: 77 days



I am not sure if you have implied it somewhere, but are you talking about NES SMB3 or SMAS' SMB3?

____________________



messiaen
Posted on 06-05-09 05:13 PM Link | Quote | ID: 108136


Cheep-cheep
Level: 32

Posts: 141/193
EXP: 204329
Next: 2113

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4436 days
Last view: 4764 days
Some docs (by JASP) about the SMB3 music format I have found on the ACMLM3 archive.

Raccoon Sam
Posted on 06-05-09 06:37 PM Link | Quote | ID: 108144


Cobrat
Level: 56

Posts: 633/672
EXP: 1379261
Next: 18915

Since: 02-19-07
From: Hi

Last post: 3460 days
Last view: 2692 days
JaSP also did this Kickass version of Dire Dire Docks.

____________________


Quick Curly
Posted on 06-05-09 09:11 PM Link | Quote | ID: 108153


Giant Red Paratroopa
Level: 77

Posts: 371/1443
EXP: 4169849
Next: 21280

Since: 06-15-08
From: Earth

Last post: 14 days
Last view: 14 days
Yeah, when I was first trying to figure out the SMB3 music format late last year, I actually looked through the Third ACMLM Archive trying to see if there was anything about it, but I didn't find that link. It would have made things a lot easier, although I managed to find it thanks to the SMB2 music information on Data Crystal which I used as a guideline. Then when messiaen told me that link was on there, I just thought of doing the smart thing and looked at only JaSp's posts and I found it. I thought, "DUH".

The thing about linking to JaSp's FTP thing though is that he's got some actual ROM files on there. So... does that matter?

In case anyone's interested, here's what I changed to get the Ice World music in the level.

Ice Land (World 6) Music Data = 0x390D9 - 0x39119

                           D8 3E 2E 36 2E 3E 2E
36 3A 40 30 38 30 40 30 38 3C 00 D4 7E D8 26 26
26 26 26 26 26 26 28 28 28 28 28 28 28 28 9C 7E
7E 7E 7E 9C 01 89 01 8D 02 02 02 8A 01 00 8A 7E
01 89 01 8D 02 02 02 8A 7E 00


Since I personally don't really care for the Hilly music, I used the music headers for it to call the Ice Land music instead so that it could be used in actual levels. Since the Ice Land music only has one part and the Hilly music has, well, more than one, it works. You just have to replace all of the music headers for the Hilly music with the information from the Ice Land music header.

Ice Land (World 6) Music Header = 0x387E6 - 0x387EC

30 C9 B0 25 12 2A 35


Hilly Music Headers = 0x3943D - 0x39474

Each is 0x7 bytes in length.

                                       30 C9 B0
25 12 2A 35 30 C9 B0 25 12 2A 35 30 C9 B0 25 12
2A 35 30 C9 B0 25 12 2A 35 30 C9 B0 25 12 2A 35
30 C9 B0 25 12 2A 35 30 C9 B0 25 12 2A 35 30 C9
B0 25 12 2A 35


That should allow levels that use Hilly music to play the modified Ice Land music instead.

You can use Dr. Floppy's awesome SMB1 music document as a reference for figuring out how the music headers work. In short:

Tempo = 30
Part Address = B0C9 (C9 B0 reversed) which refers to ROM offset 0x390D9
Square 2 = 25
Triangle = 12
Noise = 2A
DMC = 35

To count to find the actual starting points for each, highlight the second byte that follows the beginning of the data (so the 3E at 0x390DA) and drag and highlight the data until the number of bytes selected matches a value in the header. So once 0x12 bytes are selected, we find that the Triangle part begins at 0x390EB, which is the D4 that follows a 00 (which is the end of the Square 1 part). You can make parts longer; just edit the starting points for each part in the proper music headers.

<=7E are notes, as seen in JaSp's awesome and extremely helpful document.
80 - 8F, as well as 90 - 9F, determine the type of notes that follow. (You might see 8C and 9C, but not necessarily 8F and 9F. I'm just using the full range as an example.) The range you use depends on the specific music data that you're editing. As you'll see with some music like the Dungeon (I think), you'll see ranges used like B0 - BF.

81 and 91 = 0.25
82 and 92 = 0.5
83 and 93 = 0.75
84 and 94 = 1
85 and 95 = 1.25?
86 and 96 = 1.5?
87 and 97 = 1.75?
88 and 98 = 2
89 and 99 = 3
8A and 9A = 4
8B and 9B = Undefined / >4
8C and 9C = 8 (Although 1.6 is implied for some reason)

I could go on, but I think I've wasted enough of everyone's time...

KP9000
Posted on 06-06-09 05:34 AM Link | Quote | ID: 108169


Boomboom

Level: 90

Posts: 827/1975
EXP: 6949498
Next: 239111

Since: 02-19-07

Last post: 3573 days
Last view: 3197 days


Posted by Quick Curly
The thing about linking to JaSp's FTP thing though is that he's got some actual ROM files on there. So... does that matter?
As long as the ROM files on there are Public Domain, it's fine. Otherwise, I'd say don't link it.

____________________

Googie
Posted on 06-10-09 08:47 PM Link | Quote | ID: 108425


Giant Red Paratroopa
Level: 77

Posts: 475/1407
EXP: 4178780
Next: 12349

Since: 02-19-07
From: Brooklyn, NY

Last post: 2 days
Last view: 2 days
blackie: My bad I should'a said it's the NES version of SMB3. ^^;

messiaen & Racoon Sam: Thanks for hooking me up with those, means a lot to me. There's other things that's on my mind to see which track'll work for Toad's Trauma Show.

Quick: Thanks man, any other info you found feel free to hook me up with it! I also wanna have some dungeons points to boss fights instead'a editing the airship levels. I also might wanna have Boom Boom spit out the wand instead'a a Koopa Kid.

Now I'm hyped to get back into SMB3 hacking...

____________________
My Linktree

messiaen
Posted on 06-11-09 04:39 PM Link | Quote | ID: 108475


Cheep-cheep
Level: 32

Posts: 142/193
EXP: 204329
Next: 2113

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4436 days
Last view: 4764 days
I have been tempted for a while to try writing a MML importer for a NES game, since I have done a similar tool for Mario 64 (from Addmusic's code).

I wonder if there's any space left in the ROM to make inserting custom music a bit easier? I have almost zero experience hacking the NES, but at least I could make a simple converter to output the binary data for the tracks and leave insertion/replacing to the user.

JaSp
Posted on 06-12-09 05:31 PM Link | Quote | ID: 108527


Shyguy
Level: 24

Posts: 24/95
EXP: 73247
Next: 4878

Since: 03-02-07
From: Paris, France

Last post: 4343 days
Last view: 4138 days
Hey guys!
I uploaded an ips patch from my old project, on which you'll be able to find a lot of new musics I converted; feel free to use them
As for the space available in the ROM, I believe that there is some free space at the end of the music bank, but as every pointer space is taken, I don't think you can actually add music without expanding the ROM.
By the way, to listen to the new music in the game, change $4F5 to select the music and $705 to change the bank used.
here's the link : http://klikechange.free.fr/romhack/smb3asm/exp%20SMB3.ips
I also uploaded some .asm files, it has nothing to do with music, but I thought I'd share it since the project has kinda been canceled now, if that can be used for anyone!

RetroRain
Posted on 06-12-09 07:11 PM (rev. 2 of 06-12-09 07:12 PM) Link | Quote | ID: 108530


Fuzz Ball
Level: 66

Posts: 414/994
EXP: 2436788
Next: 25063

Since: 09-30-07

Last post: 1928 days
Last view: 950 days
Posted by JaSp
Hey guys!
I uploaded an ips patch from my old project, on which you'll be able to find a lot of new musics I converted; feel free to use them
As for the space available in the ROM, I believe that there is some free space at the end of the music bank, but as every pointer space is taken, I don't think you can actually add music without expanding the ROM.
By the way, to listen to the new music in the game, change $4F5 to select the music and $705 to change the bank used.
here's the link : http://klikechange.free.fr/romhack/smb3asm/exp%20SMB3.ips
I also uploaded some .asm files, it has nothing to do with music, but I thought I'd share it since the project has kinda been canceled now, if that can be used for anyone!

Is this cancelled hack the one that had those SMW features, such as the different palette overworlds and password screen?

Are you still going to be ROM hacking? I know last time you mentioned that you were too busy to hack. I hope one day you will return to ROM hacking.

____________________
My YouTube Channel

silas
Posted on 06-12-09 08:31 PM Link | Quote | ID: 108540


Level: 13

Posts: 13/24
EXP: 8932
Next: 1335

Since: 06-30-08

Last post: 5066 days
Last view: 3366 days
Jasp, It is good to see that you still around!

Googie
Posted on 06-12-09 11:36 PM Link | Quote | ID: 108558


Giant Red Paratroopa
Level: 77

Posts: 480/1407
EXP: 4178780
Next: 12349

Since: 02-19-07
From: Brooklyn, NY

Last post: 2 days
Last view: 2 days
Good looking out JaSp, I really appreciate it. Fellas, lemme know if I'm on the right track okay? Cause last night my brain rattled hard body with learning about NES music. Here's something I posted in another board...

I've been teaching myself to learn how to make nes music for a SMB3 hack I wanna work on, so please bare with me...

SPC2Midi Translation, This makes spc formats into midi files, they prolly have other programs for other systems I didn't check...

GXSCC Beta236E (English), this make midi files kinda sound like NES music, plus you can turn the file into wav...

FamiTracker, you can make your own NES music and whatnot.

FamiTracker Tutorial, you'll need this, trust me...

Just cause...

So yeah I'm really serious about getting some tracks in Toad's Trauma Show, I'll be uploading the midi files very soon for feedback...



____________________
My Linktree

Quick Curly
Posted on 06-13-09 01:49 AM Link | Quote | ID: 108566


Giant Red Paratroopa
Level: 77

Posts: 380/1443
EXP: 4169849
Next: 21280

Since: 06-15-08
From: Earth

Last post: 14 days
Last view: 14 days
It's awesome to see you back, JaSp! I'm sorry to hear about your project being cancelled. That's too bad. All of that new stuff is awesome though.

Yeah, I figured space was an issue unless you expanded the ROM. From my peeking around, it seems like some groups of data are used for more than one song. If that's the case, one would have to watch out for that when making new songs as well.

It's funny that you should mention FamiTracker, Googie. I've used that program since June 2008 (man, time flies by fast) but looking at the site Version 0.3.0 was released recently, so maybe I should upgrade. The MIDI importing tool in the version I got last June does not work very well or accurately.

With all of that brought up though, I hope I'm not being a bother JaSp, but if I may ask, how do you make use of MIDI files to figure out what notes are used? I've looked and I haven't really found anything that I can use besides FamiTracker. Would I have to mess with MIDI input devices? I was hoping to find something like the MIDI importing tool in FamiTracker that actually worked effectively. I tried the free version of Anvil Studio recently and you can open MIDI files with it, but unless I'm missing something, I can't get the notes of the MIDI file to appear in the actual staff. I also tried MilkyTracker earlier this year but you seemingly need a MIDI device to "feed in the notes", and I didn't really know where to go from there.

Anyway, sorry again for being a bother and for the long post, but if there's any way that you or someone else could help with that, I would really appreciate it. It would make inserting existing music into the SMB3 ROM a lot easier if there's an easy way to view the notes - my lost old self just can't seem to find it - but that would be more for Luigi's Chronicles 2. For Quick Bros. 2, any graphics and music that I've been changing I've wanted to make from scratch (FamiTracker has helped me a lot to do this).

Again, thanks very much in advance for any help and advice! And welcome back again as well, JaSp!

JaSp
Posted on 06-15-09 07:19 PM Link | Quote | ID: 108732


Shyguy
Level: 24

Posts: 26/95
EXP: 73247
Next: 4878

Since: 03-02-07
From: Paris, France

Last post: 4343 days
Last view: 4138 days
First, thanks guys, it's always good to feel welcomed

About the MIDI stuff, I used FLStudio to import midi files, select which of its channels I wanted for each NES channel (sq1, sq2, triangle, etc.), and then used this custom javacript tool (top technology!) to convert it to smb3's format.
The tool works as follow (iirc!) :
- ROM Address is the beginning of the part's data
- For each track, the format is " [length] [note/_] ", length is well, the length of the following note (don't change it for every note if for example 2 successive notes have the same length), and then type the note (i.e. c#4 or d3 ; look in the html source to see which values are available), or _ for a blank (its length is also relative to the length entered before)
- Noise and DMC tracks have to be made by hand, that is you directly type the hex values
- Once you've got your track, you have to manually copy/paste it to the right area with a hex editor; I suggest that you use FCEUXD to directly hear the changes and fix/arrange the track easily
Btw, here's a little picture to help you visually understand how it works in the RAM.

About FamiTracker, I believe it outputs the music in its own format, but if there's a way to make it output your own format, it shouldn't be too hard to convert it to smb3's music format (because the problem with NES music is that each game has its own format, and very few share the same).
I actually started to work on a SMB3 Music Editor a couple years ago, which unfortunately is buggy and unfinished, and the fact that some songs share the same data, as Quick Curly said, made it difficult to continue (I was kinda unexperienced in programming back in the time). You can find the last version I made here, it might actually be working if you only want to change instruments!

As for me, I'd really like to get back to ROM Hacking, but as you may all be very aware of, it is a huge time consuming activity, and I just don't have time for this at the moment
Currently, I finished my game design studies a week ago and I'm looking for an end-term internship (if anyone has a lead, I would love to do it in a foreign country! ).
The canceled hack is indeed the one with SMW/SM64 features of which I posted some youtube videos. Maybe one day I'll work on it again, who knows ?

@silas: I believe I haven't replied to your last email a long time ago, sorry for that but I've been very busy lately!

Well, I think I've answered to everything! I hope that it'll help

silas
Posted on 06-15-09 11:01 PM Link | Quote | ID: 108745


Level: 13

Posts: 14/24
EXP: 8932
Next: 1335

Since: 06-30-08

Last post: 5066 days
Last view: 3366 days
Come on man! What am I going to apologize? You are always so kind and up to help! If someone here which must say "I am sorry!" it is me. Because I may have bitched you in sometime of our contacts. I have only to be grateful for your help on my hack and for your feats on hacking scene! Thanks a lot man!

Quick Curly
Posted on 06-18-09 09:54 PM Link | Quote | ID: 108939


Giant Red Paratroopa
Level: 77

Posts: 398/1443
EXP: 4169849
Next: 21280

Since: 06-15-08
From: Earth

Last post: 14 days
Last view: 14 days
I owe you big, JaSp. Thanks for all of the really helpful information. It all helped to fill in some loose holes from stuff that I did manage to figure out.

I did hear of FLStudio, but I never did look for the specifics about it. I'll try it out when I get the chance. Again, thanks for the information.

Yeah, it is very, very time consuming, so we understand that you don't have the time man. It's too bad though. Best of luck with your internship (I'm sorry that I can't help as much as you've helped all of us).

I was playing through your SMB3 music remixes the other day and I really liked them all. Excellent and impressive as usual buddy. I like the Tetris music and my personal favourite is the Bowser's Lair music (since I've always really enjoyed the music from Super Mario 64). Seeing all of the work that you put into your new SMB3 hack with all of the music, ASM, etc. it is indeed too bad that you had to cancel it due to a lack of time. "Mario In: Some Usual Day" and "Mario Adventure" were the first SMB3 hacks (and ROM hacks period) that I played when I first found out about the ROM hacking world and once I saw the videos of your new SMB3 hack I became more motivated to try the activity out for myself. Hopefully you are able to find the time so that you can experience the fun activity once again.

So with all that said, thank you again very much for taking the time to provide all of your awesome help. I appreciate it very much. I'm pretty sure this is the first time I've actually had the privilege to speak with you (since I unfortunately wasn't around years ago) so it's been great to finally communicate and I'm glad that you're back. Now it's just a matter of finding the time and motivation myself to continue with SMB3 hacking since I've sort of been slacking off lately.

Main - ROM Hacking - Going after the SMB3 Music Format... New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.027 seconds. (341KB of memory used)
MySQL - queries: 97, rows: 133/133, time: 0.018 seconds.