+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  SMB Event Music - How Do I Rearrange All of It?
Pages: [1]
Author Topic: SMB Event Music - How Do I Rearrange All of It?  (Read 2 times)
SMB2J-2Q
Guest
« on: July 31, 2008, 03:26:49 pm »

I have a question in regards to the Super Mario event music selection data: How do I rearrange it all, y'know, in the same way as I would the area music selection data?

For the area music selection change, you simply revise the byte at address 0x1121 and also the byte at address 0x1122 if necessary (these being the last two bytes in the absolute LDA,Y instruction - which tells the ROM to take the address at 0x10F7 and add the present bit in the Y register, and then store that particular value in the A register - represented under byte $B9).

Byte $FB (in the zero-page STA instruction represented under byte $85) is the opcode for the area music queue; while byte $FC represents the event music queue. And to get the other, I changed the default byte located at address 0x1124 to $FC; and that was why I was able to get all the area songs replaced with all the event songs (cf.: instead of hearing the ground level music playing you hear the death music; the dungeon music is replaced by the victory music; the water music is replaced by the standard Game Over music; and so on).

Event music selection data:
Silence - %10000000 ($80)

TimeRunningOutMusic - %01000000 ($40)
EndOfLevelMusic - %00100000 ($20)
AltGameOverMusic - %00010000 ($10)
EndOfCastleMusic - %00001000 ($08)
VictoryMusic - %00000100 ($04)
GameOverMusic - %00000010 ($02)
DeathMusic - %00000001 ($01)

~Ben
« Last Edit: July 31, 2008, 09:01:49 pm by SMB2J-2Q »
frantik
Guest
« Reply #1 on: August 01, 2008, 01:15:10 pm »

you need to change what values are being stored in $fc

Code:
; $9224-$9236   setup game over routine
SetupGameOver:
      lda #$00                  ;reset screen routine task control for title screen, game,
      sta ScreenRoutineTask     ;and game over modes
      sta Sprite0HitDetectFlag  ;disable sprite 0 check
[b]      lda #GameOverMusic
      sta EventMusicQueue       ;put game over music in secondary queue[/b]
      inc DisableScreenFlag     ;disable screen output
      inc OperMode_Task         ;set secondary mode to 1
      rts
Googie
Guest
« Reply #2 on: August 01, 2008, 02:02:00 pm »

There's an editor in Japanese that'll help you edit the music. I wish it were translated, but if you wanna take a look at it, it's here. It's the music12.zip file.
Hamtaro126
Guest
« Reply #3 on: August 01, 2008, 06:27:32 pm »

SMB, SMB2(J), and DDP has simular engines. But SMB2(U) and SMB3 are different.

DDP = Doki Doki Panic. I finally found out it uses a modified version of SMB1's music format. And it uses 2 parts for the music engines (Just like SMB2j) One for Title/Game music/sfx, and one for the Ending music.

So, If anyone is willing to learn music, use these docs by JasP:

http://klikechange.free.fr/romhack/smb%20music%20format.txt
and
http://klikechange.free.fr/romhack/smb3music/

There is also a better music doc for SMB1/2j: http://www.romhacking.net/docs/390/

This is some Info that is needed for people for a jump start
« Last Edit: August 02, 2008, 02:27:26 pm by Hamtaro126 »
Dan
Guest
« Reply #4 on: August 02, 2008, 03:34:29 am »

Nobody is going to do this for you, Hamtaro126.
I.S.T.
Guest
« Reply #5 on: August 02, 2008, 03:45:32 am »

Quote from: Hamtaro126 on August 01, 2008, 06:27:32 pm
I think what's best for everyone is a MIDI or MML to SMB, SMB2(J), DDP, SMB2(U) and SMB3 converter, This will help people in making music like SMW's music in MML

DDP = Doki Doki Panic. I finally found out it uses a modified version of SMB1's music format. And it uses 2 parts for the music engines (Just like SMB2j) One for Title/Game music/sfx, and one for the Ending music.

So, If anyone is willing to make this possible, Try to modify SMW's MML converter (addmusic). But using these stuff by JasP:

http://klikechange.free.fr/romhack/smb%20music%20format.txt
and
http://klikechange.free.fr/romhack/smb3music/

There is also a better music doc for SMB1/2j: http://www.romhacking.net/docs/390/

Don't ask someone to do your hacking work for you.
Lindblum
Guest
« Reply #6 on: August 09, 2008, 10:09:41 am »

Hamtaro, do you know any docs for SMB2 (DDP) hacking, or someone who has actually worked with its music segment?
Hamtaro126
Guest
« Reply #7 on: August 09, 2008, 03:52:46 pm »

Quote from: Lindblum on August 09, 2008, 10:09:41 am
Hamtaro, do you know any docs for SMB2 (DDP) hacking, or someone who has actually worked with its music segment?

It's Locations are different. But uses the same music format as SMB3.

To see SMB2's music locations, go to Data Crystal (The best ROM hacking wiki) and click on NES, Super Mario Bros. 2, then click Rom map

Here is a link to data crystal:http://www.datacrystal.org/wiki/Category:NES_Games

You should have ROM data and pointers, You might also need to look at the sound/music mappings in the RAM map.

But DDP uses a variant of SMB1/2J music format. It's similarities are found by hex editing. for that, look above in Dr Floppy's SMB music hacking document.

EDIT: Fixed and Seperated the Quote.
« Last Edit: August 10, 2008, 12:47:41 pm by Hamtaro126 »
Lindblum
Guest
« Reply #8 on: August 10, 2008, 10:39:22 am »

I'm surprised I never knew about Data Crystal. Thanks!
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC