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

0 users currently in SMW Hacking | 1 guest | 1 bot

Main - SMW Hacking - SMB2 Music Patch! New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Rich
Posted on 04-26-07 03:45 PM Link | Quote | ID: 30322


Snifit
Level: 39

Posts: 79/296
EXP: 403216
Next: 1555

Since: 02-19-07
From: UK

Last post: 6069 days
Last view: 6068 days
Posted by tyty210
It would be cool if we had a MP3 to SPC converter out there.
Then we could put some other songs in there like remixes, and some songs from games on other consoles.

EDIT: by that I mean alot of the songs from ddr-mario mix, they even have a SMW intro remix in it...


Sorry, but that's pretty much never going to happen. Never, ever, ever.

____________________
Who needs a signature, anyway?

blackhole89
Posted on 04-26-07 06:47 PM Link | Quote | ID: 30335


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

Posts: 155/4196
EXP: 21520976
Next: 315625

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

Last post: 464 days
Last view: 77 days



If I hear about "we should have a MP3 to SPC converter" one more time...

Seriously, you should at least get an idea of the basics of the N-SPC format or the way music data is stored in the SPC generally before requesting that. Or, alternatively, refer to the answer posted when that exact request was posted in any remotely connected to music hacking thread in the past.

____________________



Mattrizzle
Posted on 04-26-07 07:18 PM Link | Quote | ID: 30340


Red Cheep-cheep
Level: 33

Posts: 14/202
EXP: 226210
Next: 2969

Since: 04-21-07
From: United States

Last post: 2413 days
Last view: 2374 days
Posted by The Kins
For some reason this patch corrupts my ROMs. Any ideas?

EDIT: Wait, this patches to Demo World 3. Whoops.
EDIT 2: Still doesn't work - freezes after "Nintendo Presents..."


This patch puts the SMB2 music data over SMW's music, and fills the ending music bank with FF. Unless you have extra stuff in the 70200-7FFFF and 1E600-1FFFF ranges, it shouldn't be crashing.

Oh, I designed this to patch to a ROM with normal SMW music, so the problem may lie in the high bytes of the SPC pointers. To correct this, change 2F3, 308, 319, 353, and 364 to 0E, 0F, 0E, 0E, and 0E respectively.

With my next release, I'll add a readme to the zip.

Posted by blackhole89
Interesting... this suggests I should list four rather than three people when asked about the N-SPC in the future...

Instead of changing every single change instrument command, you could have assembled a new instrument table that would allow you to keep the old instruments unchangedly. Bouche did that when porting the Corneria tune from Star Fox.
Oh yeah, add Star Fox and Star Fox 2 to that list.

While I, being at school, can't really get to have a look at it yet - good work.

If you want to assemble a number of premade alternate music patches, I could provide you with a number of dumps of readily converted to N-SPC Cave Story and Secret of Mana music... (while I am working on SD3, the amount of commands I have figured out doesn't suffice to create anything reasonable out of most tracks yet sadly)


That's odd, because upon when I tried searching for N-SPC data in an SPC dump of Star Fox, I did find the bytes that usually signify the start of the engine (20 CD CF BD) couldn't find anything that resembled N-SPC commands(track data). I thought it may have used a variant of the engine, as I know BS Mario Excitebike does, as it probably has more commands.

The only thing here is that I'm looking for music that sounds like Mario. I don't know if those do.

I figure I may as well ask you a question here, blackhole. Did you ever find the location in the SMAS N-SPC engine that tells how many tracks to allow? I've expanded the table and moved it to a different location, but any tracks with a value higher than 24(0x18) behave like track 00(nothing). Also, I cant can't pinpoint the locations of sounds written to 1DFA(Mario's jump, turning around, etc.)

____________________

Xkeeper
Posted on 04-26-07 07:25 PM Link | Quote | ID: 30341


Level: 105

Posts: 1444/2846
EXP: 12021557
Next: 240703

Since: 02-19-07

Last post: 6053 days
Last view: 2790 days
MP3 to SPC might be a bit much, but somehow I have the feeling that (basic) MID to SPC wouldn't be nearly as hard

____________________
I dealt with it.

blackhole89
Posted on 04-26-07 07:26 PM Link | Quote | ID: 30342


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

Posts: 156/4196
EXP: 21520976
Next: 315625

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

Last post: 464 days
Last view: 77 days



Heh, the good old 20 CD CF intro... I actually used that for quickly recognizing the presence of the engine on many games myself.
Yeah, the Star Fox games have modified versions of it... as far as I recall, Star Fox 2 for instance entirely lacks the song pointer list table (though I might be mistaking it for something else) and instead has the ROM upload the data for each song individually.

As for the song count and the sound thing, I fear I haven't really messed with either yet.

As for the marioness of music, I have some old Cave Story conversions in here, though those were made in my old standalone converter that pretty much steamrolls over any data that gets in its way, thus making its result ROMs widely unusable due to random data in locations of various hardcoded, "system" songs like the dying music. I think some of those might work, but eh, figures.

____________________



Mattrizzle
Posted on 04-26-07 09:12 PM (rev. 8 of 08-15-07 07:40 AM) Link | Quote | ID: 30364


Red Cheep-cheep
Level: 33

Posts: 15/202
EXP: 226210
Next: 2969

Since: 04-21-07
From: United States

Last post: 2413 days
Last view: 2374 days
Posted by blackhole89
Instead of changing every single change instrument command, you could have assembled a new instrument table that would allow you to keep the old instruments unchangedly. Bouche did that when porting the Corneria tune from Star Fox.
How did Bouche do that? I added a bunch of old SMW instruments that didn't have matching SMAS ones to the end of the instrument table, but I never have made extra instrument tables for different tracks. I can see how it might be possible to have different instrument and sample tables in each bank, but until someone has the guts to make a patch in which each level track is in a separate bank, I'm stuck in the dark on this.

Posted by blackhole89
As for the marioness of music, I have some old Cave Story conversions in here... I think some of those might work, but eh, figures.
Yeah, Moon Song sounds like it would work nicely in cave levels.
When I heard the Hell track, it brought to my mind a type of level where Mario has to move quickly from platform to platform, with enemies coming for him in all directions. It seems to be a great candidate for the Athletic level track.

I'd like to thank everyone for their ideas, and blackhole for his SPC files! Here's a list of tracks for the updated SMB2 music patch, with tracks not currently added to/shifted in the patch in boldface:
Level Music (complete)
01: Yoshi's Cookie: VS. music C
02: Overworld
03: SMB: Underwater hybrid (new SMB2-esque intro, also used in the beginning of a new game)
04: SMB: Bonus Area
05: Subspace (used for P-switch)
06: Cave Prototype
07: SMK: Ghost Valley
08: Interior (used in castles)
09: Death
0A: Game over
0B: Defeat Boss
0C: Bonus Chance (used for black circle end)
0D: Starman
0E: Ending Pt.1 (The beginning fanfare; used when Peach is rescued)
0F: Boss battle
10: Level End
11: Yoshi's Cookie: Action Interlude (used during castle destruction sequence)
12: Strange unused fanfare (used for bonus end)
13: Warp Zone (used for keyhole exit)
14: Final Battle Pt. 1
15: Final Battle Pt. 2
16: Final Battle Pt. 3
17: Zelda 3: Death Mountain (I had to get rid of the instrument used in the final part's melody in order to make room for more tracks)
18: Yoshi's Safari: Pipe Island
19: SMW: Castle
1A: SMW: Bowser Zoom Out
1B: SMW: Bowser Zoom In
1C: SMW: Bowser Defeated
1D: Fire Attack (1st part of DDP intro submap tune)
*Other Possible additions:

Map Music (complete)
01: Character Select (used on main map)
02: SMW2: Map 2 (used in Yoshi's Island)
03: SML: Pipe (used in Vanilla Dome)
04: SMK: Toad's Victory theme (used in Star Road)
05: DDP: Star- SMB3 Coin Heaven Arrangement (used in Forest of Illusion)
06: DDP: Intro--Wart Battle Arrangement (used in Valley of Bowser)
07: SMB: Defeat Boss--modified chords (used while Valley of Bowser is rising)
08: Tetris & Dr. Mario: Game Select (used in Special World)
09: SMAS: Title Screen
0A: SMAS: Game Select
0B: DDP: Subspace (Arranged by Bouche)
0C: Character Select/SMB3 Ocean Side Hybrid
0D: Stunt Race FX: Class Select (sounds good for a modern city-themed world)
0E: SMW: Vanilla Dome (I always thought it suited an ice world very well)
0F-18: -unused-

Title Screen/Ending Music (complete)
01: Title Screen
02: Ending Pt. 2 (Mario sleeping)
03: SMW: Rescue Egg (used during Yoshi Eggs hatching cutscene)
04: DDP: Ending Part 2 (used during enemy sequence)

Sound Effects: $1DFC (complete)
I've changed my mind. I'll add all of the SMAS sound effects back in.
4A: Charge Jump

Sound Effects: $1DF9 (complete)
1B: NES-style Stomp (Edited from Yoshi's Safari)
35: Mario kidnapped by Bandit/Toadie/Swinging ghost (SMW2)
42: Pipe/Swinging ghost hurt (SMW2)
43: Spawning Shy Guy Pt. 1 (SMW2)
44: Spawning Shy Guy Pt. 2 (SMW2)
45: Nep-Enut whimper (SMW2)

Anything without a game title is from SMB2.

____________________

icegoom
Posted on 04-26-07 10:07 PM Link | Quote | ID: 30374


Cheep-cheep
Level: 33

Posts: 68/195
EXP: 215504
Next: 13675

Since: 02-25-07
From: United States

Last post: 6040 days
Last view: 6041 days
Posted by Mattrizzle87
I post this patch, talk about porting music and slightly changing the drum channel of the SMB underground; and everyone suddenly thinks I'm a great composer. I mean, the tempo is only one byte in the whole track. I'm not very musically inclined. I can change the pitch of a song, but I can't make a total remix of a track from scratch. Changing the pitch and tempo of a song isn't enough to qualify as a remix in my book.

Oops, sorry. I'm still probably underestimating how difficult music hacking is. So yeah, just playing around with upping and lowering the speed on an MP3 version of the Subcon theme, the results are slightly humorous, but nothing I'd want to listen to in a game.

The Mario & Wario track would make a good water level, if you could swing it. I like "Moon Song" for underground levels, but I'm not sure about "Hell" for athletic. (It could grow on me)

Seeing that Tetris & Dr. Mario uses N-SPC, a few of the menu screen songs there might work for map music. The congratulatory music from Dr. Mario might work for an underwater song, but the little virus riffs probably disqualify it.

The warp music for keyholes was another thing I really liked but forgot to comment on earlier. Heh.

Mattrizzle
Posted on 04-26-07 11:12 PM Link | Quote | ID: 30391


Red Cheep-cheep
Level: 33

Posts: 17/202
EXP: 226210
Next: 2969

Since: 04-21-07
From: United States

Last post: 2413 days
Last view: 2374 days
Posted by icegoom
The congratulatory music from Dr. Mario might work for an underwater song, but the little virus riffs probably disqualify it.
Actually, the virus sounds would be fairly easy to get rid of. If you listen closely, they aren't there when the track loops around for the third time. It would just be a matter of changing the part pointers to start at the part where the virus riffs are gone, and deleting those unneeded parts. If all else fails, I could add in the SMB or SMB3 underwater music(though SMB3 music is way overused).

I forgot to mention that the only map tracks I want to keep in are the SMW2 map and the SMAS menu.

As for the Athletic music I've been thinking that Yoshi's Cookie: VS. Music C may be a better alternative. It just puts in my mind a picture of a vast area, high in the sky as many of the athletic levels are. But it also seems that it could be used, for a cold, mountainous, wintry area. I like music that sounds like it could be used for multiple purposes.

For an extra bit of icing on the cake, I could throw in the Yoshi's Cookie: Action Interlude for use in the castle destruction sequences.

____________________

HyperHacker
Posted on 04-27-07 02:27 AM Link | Quote | ID: 30479

...
Level: 73

Posts: 529/1220
EXP: 3364904
Next: 120964

Since: 03-25-07
From: no

Last post: 6084 days
Last view: 6068 days
This is awesome. Now we need someone to hack the bank switching, so we can add tracks instead of replacing them. I assume there's just pointers to an SPC700 program in the ROM, one for the overworld and one for the levels, and the game simply uploads the appropriate program? Expand the table to one entry per level and one per map. As a bonus, you can have longer songs, since you only need one in the bank at a time.
Though it seems to me if it were that easy, someone would have done it by now...

Posted by Mattrizzle87
13: Warp Zone(used for keyhole exit)
No, man... use the theme from Zelda when you warp between dark/light world.

Mattrizzle
Posted on 04-27-07 03:42 AM (rev. 2 of 04-27-07 03:44 AM) Link | Quote | ID: 30520


Red Cheep-cheep
Level: 33

Posts: 18/202
EXP: 226210
Next: 2969

Since: 04-21-07
From: United States

Last post: 2413 days
Last view: 2374 days
Posted by HyperHacker
This is awesome. Now we need someone to hack the bank switching, so we can add tracks instead of replacing them. I assume there's just pointers to an SPC700 program in the ROM, one for the overworld and one for the levels, and the game simply uploads the appropriate program? Expand the table to one entry per level and one per map. As a bonus, you can have longer songs, since you only need one in the bank at a time.
Though it seems to me if it were that easy, someone would have done it by now...
There are a total of five blocks of data, I wouldn't really call all of them programs.

SPC Pointers (in SNES format)
70200 SPC Engine/SFX/Instrument Definitions/unknown 24-byte table
2E9 [00] Low Byte
2EE [80] Middle Byte
2F3 [0E] High Byte

78200 SPC Sample Pointers/Samples
2FE [00] Low
303 [80] Middle
308 [0F] High

71AB1 SPC Music Bank 1 (Map)
30F [B1] Low
314 [98] Middle
319 [0E] High

730D6 SPC Music Bank 2 (Levels)
349 [D6] Low
34E [AE] Middle
353 [0E] High

1E600 SPC Music Bank 3 (Ending)
35A [00] Low
35F [E4] Middle
364 [03] High

The addresses above are from the actual subroutines that load in the banks. I believe the SPC engine and samples are loaded in at startup, then a jump to the one of the other three subrountines determines which music bank is loaded in. Games like SMK and SMW2 load in a default music bank, which has the global tracks (death, game over, invincibility, etc.), and then load in an different block of data with level music on it.

Posted by HyperHacker
No, man... use the theme from Zelda when you warp between dark/light world.

The only thing is--I want this to primarily be a SMB2 music patch. I don't want to get rid of any of the SMB2 tracks, but I do want to replace all of the repeated tracks in the pointer table. Possibly, if I made a Zelda hack(doesn't necessarily mean I will) I'd put that as the keyhole exit.

____________________

Sgraff87
Posted on 04-27-07 04:51 AM Link | Quote | ID: 30550


Panser
Level: 42

Posts: 138/345
EXP: 507353
Next: 14009

Since: 02-19-07

Last post: 5982 days
Last view: 5657 days
If there is ever a zelda music patch, I am afraid that I will have to make a zelda hack of my own.

icegoom
Posted on 04-27-07 05:05 AM Link | Quote | ID: 30554


Cheep-cheep
Level: 33

Posts: 69/195
EXP: 215504
Next: 13675

Since: 02-25-07
From: United States

Last post: 6040 days
Last view: 6041 days
Posted by Mattrizzle87
If all else fails, I could add in the SMB or SMB3 underwater music(though SMB3 music is way overused).

Now that I listen to the Dr. Mario music on loop, it gets kind of obnoxious. So if it comes to All-Stars music, SMB1's underwater music is much more fitting for SMB2, since it already exists in a form on the title screen.

As for the Athletic music I've been thinking that Yoshi's Cookie: VS. Music C may be a better alternative. It just puts in my mind a picture of a vast area, high in the sky as many of the athletic levels are. But it also seems that it could be used, for a cold, mountainous, wintry area. I like music that sounds like it could be used for multiple purposes.

For an extra bit of icing on the cake, I could throw in the Yoshi's Cookie: Action Interlude for use in the castle destruction sequences.

The more I listen to the Vs. Music C, the more fitting it seems. It could totally work for a sky or snow level. Action Interlude also has the proper celebratory air for destroying a castle.

HyperHacker
Posted on 04-27-07 06:42 AM Link | Quote | ID: 30573

...
Level: 73

Posts: 540/1220
EXP: 3364904
Next: 120964

Since: 03-25-07
From: no

Last post: 6084 days
Last view: 6068 days
Huh... *plays back the SMB2 title and SMB1 water level themes in his head* shoot, how did I not notice that before?
Posted by Mattrizzle87
There are a total of five blocks of data, I wouldn't really call all of them programs.

SPC Pointers (in SNES format)
70200 SPC Engine/SFX/Instrument Definitions/unknown 24-byte table
2E9 [00] Low Byte
2EE [80] Middle Byte
2F3 [0E] High Byte

78200 SPC Sample Pointers/Samples
2FE [00] Low
303 [80] Middle
308 [0F] High

71AB1 SPC Music Bank 1 (Map)
30F [B1] Low
314 [98] Middle
319 [0E] High

730D6 SPC Music Bank 2 (Levels)
349 [D6] Low
34E [AE] Middle
353 [0E] High

1E600 SPC Music Bank 3 (Ending)
35A [00] Low
35F [E4] Middle
364 [03] High

The addresses above are from the actual subroutines that load in the banks. I believe the SPC engine and samples are loaded in at startup, then a jump to the one of the other three subrountines determines which music bank is loaded in. Games like SMK and SMW2 load in a default music bank, which has the global tracks (death, game over, invincibility, etc.), and then load in an different block of data with level music on it.
OK, so those low/middle/high bytes are the pointers to the music banks? Then you'd just have to change the routine at 730D6 to use a table indexed by level number. (Nevermind the overworld, I forgot that music banks can hold more than one song, durrr. )

Smallhacker
Posted on 04-27-07 07:56 AM Link | Quote | ID: 30596


Panser
Swedish weirdo times eleven

Level: 42

Posts: 75/339
EXP: 494200
Next: 27162

Since: 02-19-07
From: Stockholm, Sweden

Last post: 5178 days
Last view: 5177 days
So... Uh... Am I the only one who noticed that this patch works in snes9x, but not in ZSNES?

____________________
SMW Central

Pac
Posted on 04-27-07 09:34 AM Link | Quote | ID: 30609


Flurry
Level: 37

Posts: 53/262
EXP: 335775
Next: 2478

Since: 02-19-07
From: Japan

Last post: 4467 days
Last view: 2869 days
Posted by Smallhacker
So... Uh... Am I the only one who noticed that this patch works in snes9x, but not in ZSNES?
You need to save a level in Lunar Magic after applying the patch to get it to work on ZSNES.


Rich
Posted on 04-27-07 12:52 PM (rev. 2 of 04-27-07 12:53 PM) Link | Quote | ID: 30631


Snifit
Level: 39

Posts: 80/296
EXP: 403216
Next: 1555

Since: 02-19-07
From: UK

Last post: 6069 days
Last view: 6068 days
Posted by Smallhacker
So... Uh... Am I the only one who noticed that this patch works in snes9x, but not in ZSNES?


It works fine for me in ZSNES, and I applied the patch to a totally clean rom....at least I think it was anyway.

____________________
Who needs a signature, anyway?

Spontaneous Madness
Posted on 04-27-07 06:20 PM Link | Quote | ID: 30701


Bloober
Level: 47

Posts: 170/441
EXP: 733181
Next: 33022

Since: 02-20-07
From: In hiding....

Last post: 5343 days
Last view: 5200 days
Posted by Keitaro
Actualy, it is possible, as I already have a semi-functioning YI music patch in the works I just...didn't announce it since it wasn't finished and yeah. But eh.

Cool work.


I didn't say it wasn't possible Just that it's rare to see it.
And I'm good for that track list, Matrizzle.

____________________
D: Can't think of anything original....

Pac
Posted on 04-27-07 06:26 PM (rev. 2 of 04-27-07 06:26 PM) Link | Quote | ID: 30704


Flurry
Level: 37

Posts: 55/262
EXP: 335775
Next: 2478

Since: 02-19-07
From: Japan

Last post: 4467 days
Last view: 2869 days
Posted by Spontaneous Madness
I didn't say it wasn't possible Just that it's rare to see it.
And I'm good for that track list, Matrizzle.
I... don't think he was talking to you.

The Kins
Posted on 04-27-07 07:46 PM Link | Quote | ID: 30718


Paratroopa
Level: 28

Posts: 55/140
EXP: 131157
Next: 181

Since: 02-19-07
From: AUSSIELAND

Last post: 5906 days
Last view: 5906 days
Posted by tyty210
It would be cool if we had a MP3 to SPC converter out there.
* sound of a blood vessel in my brain exploding into a crimson mess *

Mattrizzle
Posted on 04-27-07 07:53 PM Link | Quote | ID: 30720


Red Cheep-cheep
Level: 33

Posts: 19/202
EXP: 226210
Next: 2969

Since: 04-21-07
From: United States

Last post: 2413 days
Last view: 2374 days
Posted by HyperHacker

Posted by Mattrizzle87
There are a total of five blocks of data, I wouldn't really call all of them programs.

SPC Pointers (in SNES format)
70200 SPC Engine/SFX/Instrument Definitions/unknown 24-byte table
2E9 [00] Low Byte
2EE [80] Middle Byte
2F3 [0E] High Byte

78200 SPC Sample Pointers/Samples
2FE [00] Low
303 [80] Middle
308 [0F] High

71AB1 SPC Music Bank 1 (Map)
30F [B1] Low
314 [98] Middle
319 [0E] High

730D6 SPC Music Bank 2 (Levels)
349 [D6] Low
34E [AE] Middle
353 [0E] High

1E600 SPC Music Bank 3 (Ending)
35A [00] Low
35F [E4] Middle
364 [03] High


OK, so those low/middle/high bytes are the pointers to the music banks? Then you'd just have to change the routine at 730D6 to use a table indexed by level number. (Nevermind the overworld, I forgot that music banks can hold more than one song, durrr. )
Those addresses aren't the locations of routines, but the starting addresses of the actual SPC data blocks.
From what I can see, a subroutine that starts at 2E8 loads the SPC engine from 70200, then it jumps to a subroutine at 279. Another subroutine at 2FD loads the sample pointers from 78200, and so on. All of the subroutines are in that general area.

____________________
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


Main - SMW Hacking - SMB2 Music Patch! New thread | New reply

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

Page rendered in 0.035 seconds. (341KB of memory used)
MySQL - queries: 107, rows: 147/147, time: 0.022 seconds.