Super Mario World MSU1 hack

Page 1 of 2 1, 2  Next

View previous topic View next topic Go down

Super Mario World MSU1 hack

Post by Conn on Sun 1 Feb 2015 - 12:15

I decided to make a short and easy MSU1 support for Super Mario World:

http://www.smwcentral.net/?p=viewthread&t=77056&page=1&pid=1195702#p1195702
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Erockbrox on Sun 1 Feb 2015 - 15:41

Outstanding work! Have not tested it yet, but this could be something BIG!

It may also be moved to the Resource and Tool Releases section. Just FYI.
avatar
Erockbrox
Puzzle Master
Puzzle Master

Since : 2013-02-05

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Sun 1 Feb 2015 - 17:36

Thanks, I hope anybody will test this on sd2snes, as I don't own one and cannot test it.

I'd also Need a list of tracks which shall not Loop (like gameover and such) in ALTTP, These were the intro, warp, credits... ... but I Need the hex number of the exact track.

Also it'd be awesome if anybody can provide pcm:s (winks at TheRetromancer) Smile
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by DarkShock on Wed 4 Feb 2015 - 13:00

I can test it on my SD2SNES, I just need a music pack to test it with Smile
avatar
DarkShock
ROM Hacker
ROM Hacker

Since : 2014-12-29

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Wed 4 Feb 2015 - 17:43

Kiddo and I am on it, it works so far quite good on sd2snes (this video shows the older version without ending replacement:





I just uploaded a new testing ips (with msu replacement for ending and sfx):

New Patch
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip
with some luck, this is going to be the final version...

Here are some pcm:s but they aren't complete, you'd actually Need all listed below
http://kiddocabbusses.tryhappy.net/MarioMSU1/
 
LEVEL:
 smw_msu1-1.pcm 01 - Piano
 smw_msu1-2.pcm 02 - Here we go!
 smw_msu1-3.pcm 03 - Water Level
 smw_msu1-4.pcm 04 - Fight Bowser 1
 smw_msu1-5.pcm 05 - Boss Battle
 smw_msu1-6.pcm 06 - Cave Drums
 smw_msu1-7.pcm 07 - Ghost House
 smw_msu1-8.pcm 08 - Castle
 smw_msu1-9.pcm 09 - Mario Died (SFX)
 smw_msu1-10.pcm 0A - Game Over (SFX)
 smw_msu1-11.pcm 0B - Passed Boss (SFX)
 smw_msu1-12.pcm 0C - Passed Level (SFX)
 smw_msu1-13.pcm 0D - Have Star
 smw_msu1-14.pcm 0E - Direct Coins
 smw_msu1-15.pcm 0F - Into Keyhole (SFX)
 smw_msu1-16.pcm 10 - Into Keyhole (SFX)
 smw_msu1-17.pcm 11 - Zoom In (SFX)
 smw_msu1-18.pcm 12 - Switch Palace
 smw_msu1-19.pcm 13 - Welcome! (SFX)
 smw_msu1-20.pcm 14 - Done Bonus Game (SFX)
 smw_msu1-21.pcm 15 - Rescue Egg (SFX)
 smw_msu1-22.pcm 16 - Fight Bowser 2
 smw_msu1-23.pcm 17 - Bowser Zoom Out (SFX)
 smw_msu1-24.pcm 18 - Bowser Zoom In (SFX)
 smw_msu1-25.pcm 19 - Fight Bowser 3
 smw_msu1-26.pcm 1A - Fight Bowser 4
 smw_msu1-27.pcm 1B - Bowser Died (SFX)
 smw_msu1-28.pcm 1C - Princess Kiss ^^ (SFX)
 smw_msu1-29.pcm 1D - Bowser Interlude (SFX)

OVERWORLD:
 smw_msu1-30.pcm 1e - ow1 Title screen
 smw_msu1-31.pcm 1F - ow2 Yoshi's Island
 smw_msu1-32.pcm 20 - ow3 Donut plains
 smw_msu1-33.pcm 21 - ow4 Vanilla dome
 smw_msu1-34.pcm 22 - ow5 Star Road
 smw_msu1-35.pcm 23 - ow6 Forest of Illusion
 smw_msu1-36.pcm 24 - ow7 Valley of Bowser
 smw_msu1-37.pcm 25 - ow8 opening to bowser valley emerges
 smw_msu1-38.pcm 26 - ow9 Special

ENDING:
 smw_msu1-39.pcm 27 - ending
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by DarkShock on Wed 4 Feb 2015 - 23:38

I assembled your patch using asar on an unheadered ROM and it works both in bsnes and on my SD2SNES.

I read your code a bit and I'm very tempted to try to clean it up and make it use less space but I'm too tired right now XD.
avatar
DarkShock
ROM Hacker
ROM Hacker

Since : 2014-12-29

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Thu 5 Feb 2015 - 1:19

*lol, I know it's a mess, due to all bug Fixing. Troublesome was to find the correct bank and then the correct Loop/notloop - Mario assignes the same track numbers for different Music banks, this drove me nuts in the last few days, e.g., the track 09 is from a different bank in the overworld/Level/ending - and I didn't find a ram value flag for this.
Thank you for the offer but no prob, and no Need to, I'm still adjusting the code anyways, and as soon as it works I'd rather not touch it Wink . If you are tempted to hack more msu, your ressources are maybe better used for this request:
https://www.zeldix.net/t649-top-gear-2-snes-msu1-hack
or secret of mana, dkc or other great games as I will not hack more msu1 Smile


But the code almost works flawlessly now, we are at the last cut!
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by DarkShock on Thu 5 Feb 2015 - 8:31

Conn wrote:*lol, I know it's a mess, due to all bug Fixing. Troublesome was to find the correct bank and then the correct Loop/notloop - Mario assignes the same track numbers for different Music banks, this drove me nuts in the last few days, e.g., the track 09 is from a different bank in the overworld/Level/ending - and I didn't find a ram value flag for this.
Thank you for the offer but no prob, and no Need to, I'm still adjusting the code anyways, and as soon as it works I'd rather not touch it Wink . If you are tempted to hack more msu, your ressources are maybe better used for this request:
https://www.zeldix.net/t649-top-gear-2-snes-msu1-hack
or secret of mana, dkc or other great games as I will not hack more msu1 Smile


But the code almost works flawlessly now, we are at the last cut!

This sounds like Super Metroid music engine !

Right now I'm quite busy with my non MSU-1 projects but I am willing to do more of them. I will be more active once I finish my big YouTube project due in March (in French).
avatar
DarkShock
ROM Hacker
ROM Hacker

Since : 2014-12-29

Back to top Go down

Re: Super Mario World MSU1 hack

Post by DarkShock on Thu 5 Feb 2015 - 8:41

My code for handling the banks looks like this:

Code:

   // If the requested music is less than 4
   // it's the common music, skip to play music
   cmp.b #$05
   bmi PlayMusic
   
   // If requested music is greater or equal to 5
   // Figure out which music to play depending of
   // the current music bank
   sec
   sbc.b #$05
   tay
   
   // Load music bank and divide it by 3
   lda.w MusicBank
   ldx.b #$00
   sec
-;
   sbc.b #$3
   bcc +
   inx
   bne -
+;
   // Load music mapping pointer for current bank
   txa
   asl
   tax
   rep #$20
   lda.l MusicMappingPointers,x
   sta.b $00
   // Load music to play from pointer
   sep #$20
   lda ($00),y
   
   // Loading $00 means calling the original code
   beq OriginalCode

// ....
MusicMappingPointers:
   dw bank_00
   dw bank_03
   dw bank_06
   dw bank_09
   dw bank_0C
   dw bank_0F
   dw bank_12
   dw bank_15
   dw bank_18
   dw bank_1B
   dw bank_1E
   dw bank_21
   dw bank_24
   dw bank_27
   dw bank_2A
   dw bank_2D
   dw bank_30
   dw bank_33
   dw bank_36
   dw bank_39
   dw bank_3C
   dw bank_3F
   dw bank_42
   dw bank_45
   dw bank_48

MusicMapping:
// 00 means use SPC music
bank_00: // Opening
   db 04,05
bank_03: // Opening
   db 04,05
bank_06: // Crateria (First Landing)
   db 06,00,07
bank_09: // Crateria
   db 08,09
bank_0C: // Samus's Ship
   db 10
bank_0F: // Brinstar with vegatation
   db 11
bank_12: // Brinstar Red Soil
   db 12
bank_15: // Upper Norfair
   db 13
bank_18: // Lower Norfair
   db 14
bank_1B: // Maridia
   db 15,16
bank_1E: // Tourian
   db 17,00
bank_21: // Mother Brain Battle
   db 18
bank_24: // Big Boss Battle 1 (3rd is with alarm)
   db 19,21,20
bank_27: // Big Boss Battle 2
   db 22,23
bank_2A: // Plant Miniboss
   db 24
bank_2D: // Ceres Station
   db 00,25,00
bank_30: // Wrecked Ship
   db 26,27
bank_33: // Ambience SFX
   db 00,00,00
bank_36: // Theme of Super Metroid
   db 28
bank_39: // Death Cry
   db 29
bank_3C: // Ending
   db 30
bank_3F: // "The Last Metroid"
   db 00
bank_42: // "is at peace"
   db 00
bank_45: // Big Boss Battle 2
   db 22,23
bank_48: // Samus's Ship (Mother Brain)
   db 10
avatar
DarkShock
ROM Hacker
ROM Hacker

Since : 2014-12-29

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Thu 5 Feb 2015 - 9:22

That code Looks complicated... respect that you figured it out Smile
The Problem I had in SMW, that unlike in Zelda3 the provided ram map on smwcentral is weird/incomplete and I wasn't able to find the Music bank ram flag, but I solved this issue with other ram values (overworld(bank2)/Level(bank1) of course has a flag to differentiate) and then I found another value that is always #$7E in the credits and #$7F while playing to differentiate the third bank.

Just await Kiddo's last testing results (he found a small last bug in my latest hack, so redownload from the given link above for the latest Version) and then it's finally finished :p

I'm very interested which msu-1 Projects you're going to start... super metroid is one of them?
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by DarkShock on Thu 5 Feb 2015 - 17:07

Conn wrote:I'm very interested which msu-1 Projects you're going to start... super metroid is one of them?

Super Metroid hack is done, I just need a music pack that I can distribute because I can't distribute the music I use.

I made a thread here with a tease Wink
https://www.zeldix.net/t650-super-metroid-msu-1-need-all-fan-made-music-for-release#7019
avatar
DarkShock
ROM Hacker
ROM Hacker

Since : 2014-12-29

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Thu 5 Feb 2015 - 17:49

awesome Smile)))) I hope you can release it soon!
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Fri 6 Feb 2015 - 5:01

The hack is now finished:
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip
Does anybody has a romhacking account to release the patch there as well?

@darkshock - btw: if you Need help with the fmv for chrono Trigger, I can give it a shot Wink - but the Problem is that playing multiple Videos can be rather difficult.
It might be possible by merging all Videos to a single Video msu file, the Video time is in the X Register so you'd Need to know with which values Play which part of the Video file. The bigger Problem is that the complete vram gets overwritten and you'd Need to restore it along with the Hardware Screen Register Settings when switching back to the game.
In any case I could provide the asm for the Player.
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Erockbrox on Sun 8 Feb 2015 - 20:33

Just finished watching some of MSU 1 Super Mario World videos of Conn's and I must say that this is great work!

So a HUGE shout out goes to Conn for making this happen.

And if I remember correctly, didn't you say that you weren't interested in hacking SMW? Well you did a great job, none the less.

https://www.youtube.com/watch?v=3IDRm9GGC64
avatar
Erockbrox
Puzzle Master
Puzzle Master

Since : 2013-02-05

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Mon 9 Feb 2015 - 5:25

Funny is also bowser fight now
https://www.youtube.com/watch?v=VX4WXkvj5RU

This hack was an exception as SMW is the most played snes game and msu1 Support a "must-have". Wink
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Fri 3 Apr 2015 - 19:17

There was a bug with sd2snes (sfx looped) I was able to solve it with the help from Ikari_01 and EmuandCo. So anybody who plays on sd2snes please redownload/reapply:
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Rahzadan on Sun 5 Apr 2015 - 23:43

Hi all,

I noticed in Kiddo's latest PCM pack for smw_msu1, there are no PCM's for smw_msu1-15.pcm 0F - Into Keyhole (SFX) and
smw_msu1-16.pcm 10 - Into Keyhole (SFX) which I presume are exactly the same thing.

Anyway, I have found a sound that works perfectly for this track and I thought I'd share it here Smile It's not from Mario, but it sounds great and doesn't need to be looped.

https://www.youtube.com/watch?v=4qwwT9PJl9g

I've created PCMs of this for those interested:

http://www.filedropper.com/smwkeyholepcm

Enjoy Smile
avatar
Rahzadan
Rank: Bee
Rank: Bee

Since : 2015-04-05

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Erockbrox on Sun 5 Apr 2015 - 23:54

I recently saw that your msu1 hack Conn was rejected by the smw community. Sad

read here

http://www.smwcentral.net/?p=viewthread&t=77056&page=3

apparently you are supposed to use free space to put in where you custom code is. or at least that's what they want you to do.

there are tools which can easily find this. there is this one program where if you drag the rom onto the program it will tell where all the freespace is in the rom.

this hack is super brilliant but they just want apparently you to comply to their standards. i hope you can fix it because im sure many people will love it.

http://www.smwcentral.net/?p=viewthread&t=77831
avatar
Erockbrox
Puzzle Master
Puzzle Master

Since : 2013-02-05

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Mon 6 Apr 2015 - 6:53

1. this black bar Problem is solved in the last Version, but I cannot hook anywhere else but in the nmi
2. what's the difference between unused and free space?
3. he's right I was lazy, it could be better coded - but this doesn't have influence on the playability of the code, and honestly I am no Beauty Chirurg.

2 and 3 are solvable but not 1. Honestly it works perfectly, poorly coded or not. I think I won't resubmit it on smwcentral. People who like to have it regardless of those beauty issues they can always download it here:
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip

Otherwise, People are welcome to improve the code.
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Colines on Sat 4 Jul 2015 - 17:53

Once again, the bug nightmare comes back to haunt you, as it was established in here:
https://www.zeldix.net/t785p20-super-mario-world-msu#8958

You already have done enough for the MSU-1 community, especially for the rookies who are coming into this whole new world in the SNES hacking, so it's fair enough you deserve peace from now on.

That's why I take care of fixing your patch:
http://1drv.ms/1GXTCLQ

However, I did much more than fixing it.

Sometime ago, I talked about doing a version of my patch compatible with the native SMW rom. But why would I waste my time with it if I could work on an already fully functional patch done by you?

So that's what I've done: fixed the emulator issue, applyed some other fixes and added the music fade out from my patch to yours.

And all those changes were made without modifying a single byte of your original code Very Happy

All the branches, individual song set up, etc, remained in the ASM file. The only big change I did was to insert a Rats Tag, this way I could rearrange your hooks for better looking Smile

You don't even need to credit me, since in short, I just added a few opcodes. Neither for the fade out system, which in fact, belongs to you (I adapted the fade routine from your Legend of Zelda MSU-1 hack by using the disassembly provided by qwertymodo) ;D
avatar
Colines
Rank: Snap Dragon
Rank: Snap Dragon

Since : 2015-05-24

http://www.pausaprointervalo.com.br

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Sat 4 Jul 2015 - 18:03

Cool, I'll look into that as soon my internet works again. I'm using my phone now. I hope I can also fix the f-zero, since I almost used every free byte found. Not even place left for 3 bytes for stz 2007 I guess
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Colines on Sat 4 Jul 2015 - 18:14

I believe you don't have to do that, when I tested F-Zero on higan, there wasn't any circumstance the audio delayed.

And it worked beautifully in SD2SNES =D

But if you do have, maybe you just need to replace every STZ $2006 with STZ $2007 instead of adding ;D
avatar
Colines
Rank: Snap Dragon
Rank: Snap Dragon

Since : 2015-05-24

http://www.pausaprointervalo.com.br

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Sat 4 Jul 2015 - 19:57

mh, I changed this in f-zero as well (found three bytes ^^). Also thank you so much for your work on smw. I just converted it to ips and also made the optional decrease_volume_bsnes (otherwise I'd need to rewrite the complete tutorial)
Can you quickly test them? I think it is dependent on how long a track is (loading time) whether this bug occurs.

http://bszelda.zeldalegends.net/stuff/Con/f-zero_msu.zip
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip
http://bszelda.zeldalegends.net/stuff/Con/zelda3_msu.zip


It's only to ensure that I didn't malcode anything.

The big question is now concerning my ALTTP hack. To be on the safe side here, I also added a stz $2007 there

Can you maybe also post a video where I see what exactly goes wrong so I can estimate the time loss. Dunno whether you can record. Maybe you can show this with your smw patch one time with stz$2006 and one with corrected stz $2007
I do not have ears for music, otherwise I'd test it myself Sad
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Colines on Tue 7 Jul 2015 - 18:18

Conn wrote:mh, I changed this in f-zero as well (found three bytes ^^). Also thank you so much for your work on smw. I just converted it to ips and also made the optional decrease_volume_bsnes (otherwise I'd need to rewrite the complete tutorial)
Can you quickly test them? I think it is dependent on how long a track is (loading time) whether this bug occurs.

http://bszelda.zeldalegends.net/stuff/Con/f-zero_msu.zip
http://bszelda.zeldalegends.net/stuff/Con/smw_msu1.zip
http://bszelda.zeldalegends.net/stuff/Con/zelda3_msu.zip


It's only to ensure that I didn't malcode anything.

The big question is now concerning my ALTTP hack. To be on the safe side here, I also added a stz $2007 there

Can you maybe also post a video where I see what exactly goes wrong so I can estimate the time loss. Dunno whether you can record. Maybe you can show this with your smw patch one time with stz$2006 and one with corrected stz $2007
I do not have ears for music, otherwise I'd test it myself Sad

Ok, I finally managed to get some time to test them.

They all work as intended on higan-accuracy. I still haven't the time to play them on SD2SNES, though. But I believe they work fine too, since the STZ $2007 is an emulator fix only.

Can you maybe also post a video where I see what exactly goes wrong so I can estimate the time loss.



There you go. Very Happy
I made a video showing two of the flaws you patch had and how they were fixed.
avatar
Colines
Rank: Snap Dragon
Rank: Snap Dragon

Since : 2015-05-24

http://www.pausaprointervalo.com.br

Back to top Go down

Re: Super Mario World MSU1 hack

Post by Conn on Thu 9 Jul 2015 - 4:37

Awesome! I hope DarkShock also reads this... those things are experience related, just like the busy flag to set.

Thanks also for your effort playing the new fixes and the video. I retransmited them to romhacking Smile
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Page 1 of 2 1, 2  Next

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum