Super Mario World MSU+
Page 1 of 2
Page 1 of 2 • 1, 2
Super Mario World MSU+
Hey there.
I just finished my own version of the SMW MSU-1.
It was based off(bullshit, totally copied xD) on the MSU-1 rom hack by Conn.
However, unlike his version which enables only the MSU audio, I decided to enhance all the game. That means, I applied patches which increase the speed overall of the game (Fastrom addressing, quickrom and what not), I also added a lot of bugfixes to the SMW engine, separate GFX to player 2 and alternative PCM music sfx for when playing with Luigi, so Game Over song will play a different song when you are Luigi.
Here's the link to the .bps patch and the Source Code, I highly recommend FLIPS for patching:
http://1drv.ms/1L4aE0G
To see how the alternative tracks for Luigi work, I included the folder SFX Set, merge it with the music pack by Kiddo at http://kiddocabbusses.tryhappy.net/MarioMSU1/smw_msu1%20NEW%20SET.zip
More info:
I made this version of the patch because of this: http://www.smwcentral.net/?p=viewthread&t=77831
Since SMW Central alleged the patch was poorly coded, I took a shot trying to improve the code. Also, the patch had serious flaws anyway (ok, not so serious, but they enraged me xp).
Thanks to this guy (http://www.smwcentral.net/?p=viewthread&t=77056&page=3&pid=1211613#p1211613), I could move the MSU-1 hijack to a more convenient place, and by combining Conn's code to yoshifanatic's one, I ended up with a fully functional MSU-1 patch with partial decrease volume fade-out system
The MSU-1 enabling ships with the Wait Replace patch by p4plus2, since his code hijacks the same place the MSU patch does.
The patch was written in asar syntax for the sake of simplicity, I would have done it in bass syntax, but I'm still learning how to use it.
I just finished my own version of the SMW MSU-1.
It was based off
However, unlike his version which enables only the MSU audio, I decided to enhance all the game. That means, I applied patches which increase the speed overall of the game (Fastrom addressing, quickrom and what not), I also added a lot of bugfixes to the SMW engine, separate GFX to player 2 and alternative PCM music sfx for when playing with Luigi, so Game Over song will play a different song when you are Luigi.
Here's the link to the .bps patch and the Source Code, I highly recommend FLIPS for patching:
http://1drv.ms/1L4aE0G
To see how the alternative tracks for Luigi work, I included the folder SFX Set, merge it with the music pack by Kiddo at http://kiddocabbusses.tryhappy.net/MarioMSU1/smw_msu1%20NEW%20SET.zip
- Code:
- Mario Set -
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-16.pcm 10 - Into Keyhole (SFX)
smw_msu1-17.pcm 11 - Zoom In (SFX)
smw_msu1-20.pcm 14 - Done Bonus Game (SFX)
smw_msu1-27.pcm 1B - Bowser Died (SFX)
smw_msu1-28.pcm 1C - Princess Kiss ^^ (SFX)
smw_msu1-41.pcm 29 - ending3 monster names
- Luigi Set -
smw_msu1-42.pcm 2A - Luigi Died
smw_msu1-43.pcm 2B - Game Over Luigi
smw_msu1-44.pcm 2C - Passed Boss Luigi
smw_msu1-45.pcm 2D - Passed Level Luigi
smw_msu1-46.pcm 2E - Have Star Luigi
smw_msu1-47.pcm 2F - Unused
smw_msu1-48.pcm 30 - Unused
smw_msu1-49.pcm 31 - Into Keyhole Luigi
smw_msu1-50.pcm 32 - Zoom In Luigi
smw_msu1-51.pcm 33 - Unused
smw_msu1-52.pcm 34 - Unused
smw_msu1-53.pcm 35 - Done Bonus Game Luigi
smw_msu1-54.pcm-59.pcm - Unused
smw_msu1-60.pcm 3C - Bowser Died Luigi
smw_msu1-61.pcm 3D - Princess Kiss ^^ Luigi
smw_msu1-62.pcm-73.pcm - Unused
smw_msu1-74.pcm 4A - ending3 Monster Names
More info:
I made this version of the patch because of this: http://www.smwcentral.net/?p=viewthread&t=77831
Since SMW Central alleged the patch was poorly coded, I took a shot trying to improve the code. Also, the patch had serious flaws anyway (ok, not so serious, but they enraged me xp).
Thanks to this guy (http://www.smwcentral.net/?p=viewthread&t=77056&page=3&pid=1211613#p1211613), I could move the MSU-1 hijack to a more convenient place, and by combining Conn's code to yoshifanatic's one, I ended up with a fully functional MSU-1 patch with partial decrease volume fade-out system
The MSU-1 enabling ships with the Wait Replace patch by p4plus2, since his code hijacks the same place the MSU patch does.
The patch was written in asar syntax for the sake of simplicity, I would have done it in bass syntax, but I'm still learning how to use it.
Last edited by Colines on Thu 18 Jun 2015 - 21:14; edited 1 time in total
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
Oh wow... you really need to submit it to smw central! I didn't know you are able to code... now it's time for me to kneel :p
One question, in my version you still have msu-1 when playing with Luigi, don't you? Or is there a native music difference when playing with mario/luigi?
Anyways feel free to publish that code anywhere. I still leave my version as a light version it doesn't need to expand the rom and such.
One question, in my version you still have msu-1 when playing with Luigi, don't you? Or is there a native music difference when playing with mario/luigi?
Anyways feel free to publish that code anywhere. I still leave my version as a light version it doesn't need to expand the rom and such.
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
whoops, sorry the late, I had to go to work =)
heehee, I kinda am in the ASM field for a couple of years, but just like it happens to you, I had to cease activity because of personal life concerns, good to see I still know something xp
However, I ain't any asm expertise anymore. As you can see, the code still needs more improvement, I just clean up some CPU waste cycles and reallocated the MSU-1 code to the expanded area after the original 512 kbs data.
As soon as I get back all my previous knowledge in the matter, I'll make the patch totally SMW Central compatible (however, it's unlikely the patch is going be compatible with addmusicK, the tool which adds custom music to SMW, since the addmusicK changes drastically the SPC engine of the SMW, so put relearn how to use a debugger disassembler to my list \o/)
Until there, I will use this thread for beta releases, actually, I just added a few more lines of code and updated the .BPS patch: http://1drv.ms/1L4aE0G
Yes, the MSU-1 audio works for both players. And no, there is no music diference between them in the original game ;D
Conn wrote:I didn't know you are able to code... now it's time for me to kneel :p
heehee, I kinda am in the ASM field for a couple of years, but just like it happens to you, I had to cease activity because of personal life concerns, good to see I still know something xp
However, I ain't any asm expertise anymore. As you can see, the code still needs more improvement, I just clean up some CPU waste cycles and reallocated the MSU-1 code to the expanded area after the original 512 kbs data.
As soon as I get back all my previous knowledge in the matter, I'll make the patch totally SMW Central compatible (however, it's unlikely the patch is going be compatible with addmusicK, the tool which adds custom music to SMW, since the addmusicK changes drastically the SPC engine of the SMW, so put relearn how to use a debugger disassembler to my list \o/)
Until there, I will use this thread for beta releases, actually, I just added a few more lines of code and updated the .BPS patch: http://1drv.ms/1L4aE0G
Conn wrote:One question, in my version you still have msu-1 when playing with Luigi, don't you? Or is there a native music difference when playing with mario/luigi?
Yes, the MSU-1 audio works for both players. And no, there is no music diference between them in the original game ;D
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
Yes, smwc also rejected my code as incompatible to the spc- injector... Which raises the question why anybody needs spc when having msuAs soon as I get back all my previous knowledge in the matter, I'll make the patch totally SMW Central compatible (however, it's unlikely the patch is going be compatible with addmusicK, the tool which adds custom music to SMW, since the addmusicK changes drastically the SPC engine of the SMW, so put relearn how to use a debugger disassembler to my list \o/)
Much luck with the asm... maybe you can help DarkShock out with further msu-1 projects as there are so many requests pending.
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
asar, oh please stay away from that assembler. bass v14 is much better, even if the syntax is a little bit stiff.
DarkShock- Since : 2014-12-29
Re: Super Mario World MSU+
Conn wrote:Yes, smwc also rejected my code as incompatible to the spc- injector... Which raises the question why anybody needs spc when having msu
Yes indeed, the real problem over there is that there are too many badass music porters at SMWCentral, and with the MSU-1 in the SMW hacking scene, they think their work will be slighted by the enhancement addon, throwing all the hours, days and weeks spent learning the SMW music syntax right into the trash.
As you can see, the biggest bull ever xp
Conn wrote:Much luck with the asm... maybe you can help DarkShock out with further msu-1 projects as there are so many requests pending.
Thanks, I really intend to help and work more with MSU-1 as soon as I get done to relearn the debugger disassembler usage ;D
DarkShock wrote:asar, oh please stay away from that assembler. bass v14 is much better, even if the syntax is a little bit stiff.
You are absolutely damn right
However, by now, I'm doing in asar sintax so when I finish it, the weenies against the MSU-1 at smwc can't reject it, in other words, I just wanna screw with them xD
After that, I will rewrite it to bass and make another one compatible with the native 512 bytes SMW rom
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
Yeah, I finally did it.
This should be the final version of Super Mario World MSU-1(+)
http://1drv.ms/1L4aE0G
The main features are:
-Separate GFX for Player 2, Luigi
-Separate SFX sound for him too
-General speed/performance enhancement to the SMW rom
-A lot of bugfixes to the native glitches in the original game
MSU-1 new features:
-Fade Out system implemented
-A lot more of bugfixes to the original MSU-1 patch by Conn
-SA-1 chip compability (useful only to the SMW Hacking scene by now)
At the link to the online foulder, you will find the full Source Code to assembler it to a clean rom, in case you don't want all the main features.
But hey, this isn't over yet. I'm learning how to implement video data to the rom, if I get done with it, be sure the version 2.0 will include the GBA opening of the SMW!
Also, the asm source code should be compatible with the SMWCentral standards, is anyone here bothers to submit it? I can't because I will be off in the next weeks, and now that the patch supports all the fanciness SMWCentral requires, it would be great to have it there
Oh, and here it is a video:
I recorded it before fade out was included, I was too lazy to record another gameplay xp
This should be the final version of Super Mario World MSU-1(+)
http://1drv.ms/1L4aE0G
The main features are:
-Separate GFX for Player 2, Luigi
-Separate SFX sound for him too
-General speed/performance enhancement to the SMW rom
-A lot of bugfixes to the native glitches in the original game
MSU-1 new features:
-Fade Out system implemented
-A lot more of bugfixes to the original MSU-1 patch by Conn
-SA-1 chip compability (useful only to the SMW Hacking scene by now)
At the link to the online foulder, you will find the full Source Code to assembler it to a clean rom, in case you don't want all the main features.
But hey, this isn't over yet. I'm learning how to implement video data to the rom, if I get done with it, be sure the version 2.0 will include the GBA opening of the SMW!
Also, the asm source code should be compatible with the SMWCentral standards, is anyone here bothers to submit it? I can't because I will be off in the next weeks, and now that the patch supports all the fanciness SMWCentral requires, it would be great to have it there
Oh, and here it is a video:
I recorded it before fade out was included, I was too lazy to record another gameplay xp
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
That's so cool with the speech "Aaaaaaah, Mamamia" when dying
Awesome work! You should try resubmit it at smwcentral... much luck
Awesome work! You should try resubmit it at smwcentral... much luck
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
I just realised that you only provide the sfx in the cloud... I'd suggest (if you have some space left) to offer a complete set.
I also moved all pcm from Kiddo and your fixes (after several failed requests to update his tryhappy stuff) with your fixes merged here:
http://1drv.ms/1I2wpsK
People who play your patch will do much easier if you provide a complete set instead of downloading and merging it from various sources...
I also moved all pcm from Kiddo and your fixes (after several failed requests to update his tryhappy stuff) with your fixes merged here:
http://1drv.ms/1I2wpsK
People who play your patch will do much easier if you provide a complete set instead of downloading and merging it from various sources...
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
Can someone help me? I don't know how to use this in conjunction with the original mario world msu hack. I tried patching the bps patch over the original msu 1 patched rom and it wont patch. then I just tried this bps patch on a clean rom by its self and it wouldnt patch how do I get it to work? With just the bps patch there is no music
GinBunBun- Witch
- Since : 2014-04-10
Re: Super Mario World MSU+
Conn wrote:I also moved all pcm from Kiddo and your fixes (after several failed requests to update his tryhappy stuff) with your fixes merged here:
http://1drv.ms/1I2wpsK
People who play your patch will do much easier if you provide a complete set instead of downloading and merging it from various sources...
As always, you're right: http://1drv.ms/1dznzdu
I spent the night awake reworking almost entirely the Kiddo's package: I removed digital silence, adjusted the lenght of various tracks and fixed all songs that didn't loop properly.
Also, I added the "Alternative Music" folder there, this one includes my personal music set, although its purpose is not to be another music pack. I'm still working on it, it's hard to believe, but there isn't too much good remixes for SMW, damn you Kiddo, how did you manage to compile that music pack????? xD
The download link should now work for both SMW MSU-1 patches available
And I'm really sorry you had to upload by your own a complete PCM set, don't know why I procrastinated this far and wasted everybody's time =/
GinBunBun wrote:Can someone help me? I don't know how to use this in conjunction with the original mario world msu hack. I tried patching the bps patch over the original msu 1 patched rom and it wont patch. then I just tried this bps patch on a clean rom by its self and it wouldnt patch how do I get it to work? With just the bps patch there is no music
Oh no, the patch already includes the original MSU code from Conn ;D
You just need to apply the .BPS patch to a clean rom (use FLIPS for patching: http://www.smwcentral.net/?p=section&a=details&id=11474).
If you are wondering, it doesn't matter if the rom is headered or unheadered, .BPS patches work for both
After the patch is applied, copy the provided folder (Super Mario World_msu1.sfc) to your Super Famicom folder at C:\Users\yourname\Emulation\ (if using higan) and rename the patched rom to "smw_msu1.sfc". Oh, and put the PCM music files in here too
However, keep in mind that higan only plays unheadered roms.
If using bsnes emulator with .xml mapping, just make sure that "smw_msu1.msu", "smw_msu1.xml", your patched rom (named "smw_msu1.sfc) and the PCM music set are in the same place.
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
I tried using the bps patch it I made sure the MSU file and PCM's were in the same folder with Super mario world. I know how to run the MSU 1 hacks on the SD2SNES flash cart. I have several already like super metroid, zelda, mana and so on. I don't understand why the music wont play with mario. This is what I did in order. Patched a clean super mario world U rom with the bps patch for SD2SNES and placed the .msu file and PCMS in a folder together with the rom. The rom is named smw_msu1.sfc. I load the game on the sd2snes flash cart and it works but no music at all will play.
GinBunBun- Witch
- Since : 2014-04-10
Re: Super Mario World MSU+
Thank you but I rather meant to provide a complete merged set for your msu+ patch. I set up my own cloud so my link for my native patch will last, but you should maybe provide one link with merged kiddo and new sfx in one folder. So if the players use my patch, they simply download my 41 files set; if they use your + set, they simply download your 60 files set.
In any case thanks for the new Kiddo files ; I updated
http://1drv.ms/1I2wpsK
Looking at your asm I also was not able to find a table from where the data for $2004 comes from. Can you explain that?
I just tried it on bsnes, works But I wonder why your emulator volume set is 40, my default value is 60... the title screen is a bit silent with 40 but the level is ok
GinBunBun. If I didn't know it better... Collines provides two bml patches on his cloud, one for emulator and one for sd2snes (smw_msu1.bps and smw_msu1_sd2snes.bps). You said you applied the sd2snes version but please verify; if you applied the emulator version you will have a volume level of 40 instead of FF in sd2snes and therefore have "mute".
In any case my guess is that it is due to the volume. If there was a problem with the code the game would crash, if there was a problem with the msu setup, you'd have spc (fallback). Maybe also Collines mixed it up in the bml. You could check by turning the tv volume to max...
Edit: btw, I suggested SePH to promote you, but as you are multiple talented, I dunno whether rom hacker or music artist is most propriate
In any case thanks for the new Kiddo files ; I updated
http://1drv.ms/1I2wpsK
Looking at your asm I also was not able to find a table from where the data for $2004 comes from. Can you explain that?
I just tried it on bsnes, works But I wonder why your emulator volume set is 40, my default value is 60... the title screen is a bit silent with 40 but the level is ok
GinBunBun. If I didn't know it better... Collines provides two bml patches on his cloud, one for emulator and one for sd2snes (smw_msu1.bps and smw_msu1_sd2snes.bps). You said you applied the sd2snes version but please verify; if you applied the emulator version you will have a volume level of 40 instead of FF in sd2snes and therefore have "mute".
In any case my guess is that it is due to the volume. If there was a problem with the code the game would crash, if there was a problem with the msu setup, you'd have spc (fallback). Maybe also Collines mixed it up in the bml. You could check by turning the tv volume to max...
Edit: btw, I suggested SePH to promote you, but as you are multiple talented, I dunno whether rom hacker or music artist is most propriate
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
GinBunBun wrote:how to run the MSU 1 hacks on the SD2SNES flash cart
Uhm... my SD2SNES is Rev E2 and works fine, but I think I know what's going on. If none of ours suggestions helped you to solve the problem, try this patch:
http://1drv.ms/1f5na4l
If this one works, so the problem was the stack overflowing.
Conn wrote:I rather meant to provide a complete merged set for your msu+ patch.
I see, the reason I haven't merged the SFX set together with Kiddo's one is because they are kinda experimental yet, Mario voices is finished but Luigi still needs more adjustments (some don't have the same volume for example)
But I wonder why your emulator volume set is 40
At least in my computer, the music is still quite loud with volume set to 60, so I decreased it just a bit. But thanks to you, I'm aware now the Title Screen music volume is lower than the others, I will try to update the PCM track tonight =)
Looking at your asm I also was not able to find a table from where the data for $2004 comes from. Can you explain that?
Sure, take a look at this piece of code:
- Code:
MSUFound:
LDA $1DFB|!Base2
BEQ NoMSU
CMP #$80
BEQ THEFade
LDA #$80
STA $2142
STA $1DFF|!Base2
JMP BankSwitch
The JMP BankSwitch jumps way down to the line 322, where $1DFB will have his value modified.
- Code:
BankSwitch:
LDA $0100|!Base2
CMP #$11
BCC Overworld
CMP #$18
BCC Level
LDA $13C6|!Base2
CMP #$08
BCS Credits
JMP Continue1
Credits:
LDA $1DFB|!Base2
CLC
ADC #$1E
JMP Continue2
Overworld:
LDA $1DFB|!Base2
CLC
ADC #$1D
JMP Continue2
Level:
JMP Continue1
In this part, the Level, Overworld and Credits banks are checked, this is done thanks to the RAM address $0100 which determines easily if Mario is in one of them. Look:
http://www.smwiki.net/wiki/RAM_Address/$7E:0100
Following this table, the rest was piece of the cake, I just had to use wisely the conditional branches ;D
However, the cutscenes after boss battles seem to bypass the $0100 check, luckily enough, the RAM address $13C6 saved the day:
SMW Central wrote:$7E:13C6 - Used by SMW's cutscenes. Goes from #$01 to #$08 and these values are in the order of the boss battles, e.g. #$01 = Iggy's castle, #$02 = Morton's castle. #$08 is the value used for the credits.
And since this RAM address is used to check the Credits too, I BCS'ed comparing the value #$08 to make sure the credits song won't be skipped.
After adding the amount needed so $1DFB matches the respectives MSU decimal tracks, the jump opcodes in the end act like a RTS or RTL, returning to the same place the code was before jumping to this whole pseudo-routine.
Well, don't know why I bothered to explain this last part, since it is a remaining from your original code =)
Conn wrote:btw, I suggested SePH to promote you, but as you are multiple talented, I dunno whether rom hacker or music artist is most propriate
Oh my, I think I don't even deserve the rom hacker status yet xp
All I did was to worth on your work, thus, I didn't prove to the community I'm a capable coder.
When I finish my first full independent MSU-1 hack, you guys decide what will happen ;D
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
You're already promoted ^^
Let me know if you update Kiddo's tracks another time, I also think the overworld music (yoshi island) is too silent as well.
Your way of coding is rather nice, much more complex than I use to make it, making it hard for me to retrace what you did ^^ Thanks for your explanation, this brought me forward, I see that you just add e.g.,
ADC #$1E
to get the correct decimal msu track index, nice idea... I think I just assigned each track with a number. Your solution is much more elegant.
I also almost think that GinBunBun's problems could be related to the overflow, but as far I understand your code you did it correctly
This is the most problematic difference between emulator and sd2snes emulation:
In emulation mode you do not have to even code this, since the overflow flag is immediately cleared. In RH however, after you stored to 2004, the msu chip must load the track data prior to stream it (or whatever, I am not Ikaris). So the code can stuck here quite a time. In older codes, both by me and DS we implemented this:
Therefore we store the track to 2004 AND set a free ram (msu busy) flag. In further nmi:s routines we check whether the overflow is cleared, and if yes then zero the free ram flag, as well as the flag that a new track is about to play.
As I understand your code
STZ $1DFB|!Base2
does the job... however I cannot find the msu-busy flag.
Let me know if you update Kiddo's tracks another time, I also think the overworld music (yoshi island) is too silent as well.
Your way of coding is rather nice, much more complex than I use to make it, making it hard for me to retrace what you did ^^ Thanks for your explanation, this brought me forward, I see that you just add e.g.,
ADC #$1E
to get the correct decimal msu track index, nice idea... I think I just assigned each track with a number. Your solution is much more elegant.
I also almost think that GinBunBun's problems could be related to the overflow, but as far I understand your code you did it correctly
This is the most problematic difference between emulator and sd2snes emulation:
- Code:
BIT $2000
BVS NoMSU
In emulation mode you do not have to even code this, since the overflow flag is immediately cleared. In RH however, after you stored to 2004, the msu chip must load the track data prior to stream it (or whatever, I am not Ikaris). So the code can stuck here quite a time. In older codes, both by me and DS we implemented this:
- Code:
loop:
BIT $2000
BVS loop
Therefore we store the track to 2004 AND set a free ram (msu busy) flag. In further nmi:s routines we check whether the overflow is cleared, and if yes then zero the free ram flag, as well as the flag that a new track is about to play.
As I understand your code
STZ $1DFB|!Base2
does the job... however I cannot find the msu-busy flag.
Last edited by Conn on Thu 2 Jul 2015 - 19:45; edited 2 times in total
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
[quote="Colines"]
Uhm... my SD2SNES is Rev E2 and works fine, but I think I know what's going on. If none of ours suggestions helped you to solve the problem, try this patch:
http://1drv.ms/1f5na4l
If this one works, so the problem was the stack overflowing.
tried that patch it didnt work. The music still wont play or is muted. I have no Idea why this hack all of a sudden wont work. My other MSU 1 hacks I have work just fine.
GinBunBun wrote:how to run the MSU 1 hacks on the SD2SNES flash cart
Uhm... my SD2SNES is Rev E2 and works fine, but I think I know what's going on. If none of ours suggestions helped you to solve the problem, try this patch:
http://1drv.ms/1f5na4l
If this one works, so the problem was the stack overflowing.
Conn wrote:I rather meant to provide a complete merged set for your msu+ patch.
tried that patch it didnt work. The music still wont play or is muted. I have no Idea why this hack all of a sudden wont work. My other MSU 1 hacks I have work just fine.
GinBunBun- Witch
- Since : 2014-04-10
Re: Super Mario World MSU+
The magic of hex... two same set-up, one works, one not
I think you changed your code, this will not work:
I think you changed your code, this will not work:
Last edited by Conn on Thu 2 Jul 2015 - 20:04; edited 2 times in total
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
Conn wrote:I also almost think that GinBunBun's problems could be related to the overflow, but as far I understand your code you did it correctly
This is the most problematic difference between emulator and sd2snes emulation:
- Code:
BIT $2000
BVS NoMSU
In emulation mode you do not have to even code this, since the overflow flag is immediately cleared. In RH however, after you stored to 2004, the msu chip must load the track data prior to stream it (or whatever, I am not Ikaris).
Damn, I did crappy, this piece of code was supposed to look like this:
- Code:
MSUReady:
LDA $2000
AND #$40
BNE MSUReady
I have no idea of why and when I changed it back to this prior testing state
And yes, I opted to keep this loop instead of using a busy-flag for MSU-1.
The reason for that was mainly because using a busy-flag would take another freeram, so to make life easier for rom hackers, I prefered to use the Audio Busy workaround.
Another reason is because SMW updates the music registers in black screens, and since my code runs in every frame, the loop freezes the game in a single frame, SD2SNES doesn't take too long for start streaming the MSU track so nobody ever realizes the game got stuck for a fraction of seconds.
GinBunBun, I'm really sorry, I will update the .BPS patches right now.
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
This will not work
try to set the free ram and let the game continue to the next frame. I had several problems when not making it this way; e.g., game crashed, track didn't loop, black bar, etc,.
Read this topic:
https://www.zeldix.net/t649-top-gear-2-snes-msu1-hack
I explained the problem with this loop in detail in the middle of the thread
- Code:
MSUReady:
LDA $2000 ;\
AND #$40 ;| If not ready, loop
BNE MSUReady
try to set the free ram and let the game continue to the next frame. I had several problems when not making it this way; e.g., game crashed, track didn't loop, black bar, etc,.
Read this topic:
https://www.zeldix.net/t649-top-gear-2-snes-msu1-hack
I explained the problem with this loop in detail in the middle of the thread
Conn- Since : 2013-06-30
Re: Super Mario World MSU+
Oh my, I didn't realize the SDCard speed could affect the data streaming, well then, sorry rom hackers, one more freeram will be taken.
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
Done.
http://1drv.ms/1L4aE0G
All files are updated, this time I tested all the .BPS patches in both emulators and SD2SNES to make sure the music works as intended.
The ASM source code now includes the MSU-1 busy pending flag, however, the code related to it will only assembler if !Emulator is set to !False, this was done because the busy flag screws up the music reproduction (it cuts off a piece of the song at the start), so I decided to preserve the old code only to emulators.
http://1drv.ms/1L4aE0G
All files are updated, this time I tested all the .BPS patches in both emulators and SD2SNES to make sure the music works as intended.
The ASM source code now includes the MSU-1 busy pending flag, however, the code related to it will only assembler if !Emulator is set to !False, this was done because the busy flag screws up the music reproduction (it cuts off a piece of the song at the start), so I decided to preserve the old code only to emulators.
Last edited by Colines on Fri 3 Jul 2015 - 10:28; edited 1 time in total
Colines- Since : 2015-05-24
Re: Super Mario World MSU+
Everything works great thank you so much!Colines wrote:Done.
http://1drv.ms/1L4aE0G
All files are updated, this time I tested all the .BPS patches in both emulators and SD2SNES to make sure the music works as intended.
The ASM source code now includes the MSU-1 busy pending flag, however, the code related to it will only assembler if !Emulator is set to !True, this was done because the busy flag screws up the music reproduction (it cuts off a piece of the song at the start), so I decided to preserve the old code only to emulators.
GinBunBun- Witch
- Since : 2014-04-10
Re: Super Mario World MSU+
I wonder how this could possibly happen, I mean it's just 2 or 3 opcodes more and the emulator will not stuck there.The ASM source code now includes the MSU-1 busy pending flag, however, the code related to it will only assembler if !Emulator is set to !True, this was done because the busy flag screws up the music reproduction (it cuts off a piece of the song at the start), so I decided to preserve the old code only to emulators.
Anyways, awesome
Conn- Since : 2013-06-30
Page 1 of 2 • 1, 2
Similar topics
» Super Mario World
» BS Super Mario World
» Super Mario World 2 - Yoshi's Island
» Super Mario World Co-op
» MSU Video for Super Mario World?
» BS Super Mario World
» Super Mario World 2 - Yoshi's Island
» Super Mario World Co-op
» MSU Video for Super Mario World?
Page 1 of 2
Permissions in this forum:
You cannot reply to topics in this forum