Soul Blazer MSU1

Page 1 of 3 1, 2, 3  Next

Go down

Soul Blazer MSU1

Post by walter10h on Tue 3 Apr 2018 - 21:58



Looks like we got ourselves a patch for Soul Blazer, thus finally enabling the whole Heaven and Earth Quintet trilogy to be played with MSU1 goodness!

Many many thanks to Conn for being so freaking patient and doing all the dirty asm work. I owe you a beer man.

The music was arranged by Shiryu. Other tracks were arranged by me. Have fun. I know I am. Please let me know if there's any issues with the music so I can take a look-see.

EDIT: It also works on the re-translation by Steppolo.

Patch:
Code:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip

Re-translation patch:
Code:
https://1drv.ms/u/s!AlblqVvzJyMVgSdnyglvAWqag5fx

PCM Pack v2 by Shiryu, Walter10h:
Code:
https://mega.nz/#!txZTkDJA!hVRCYVzxpQMUYI8SANSuGQgI2Z8PR56RCsMTskUubHg


Last edited by walter10h on Wed 11 Apr 2018 - 17:47; edited 7 times in total
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Wed 4 Apr 2018 - 6:24

Usually, direct combat (action) RPG:s are my favorite games, but this game didn't really touch me from the overall appearance (graphics, gameplay). Additionally Enix games are difficult to msu, they have a mute track that needs to be figured out and the tracks are not numbered, you have to map them somehow. IoG was one of the more difficult games I hacked.
Additionally, to be able to create hacks and fix bugs you must be able to access the different stages with the specific themes. This is easy for Jump 'n Runs, but in RPG:s you usually have to play there... which results in a quite long playththrough time.

So it is not on my agenda, unfortunately. But I hope that someone else maybe fulfilles your wish.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Wed 4 Apr 2018 - 10:16

Conn wrote:Usually, direct combat (action) RPG:s are my favorite games, but this game didn't really touch me from the overall appearance (graphics, gameplay). Additionally Enix games are difficult to msu, they have a mute track that needs to be figured out and the tracks are not numbered, you have to map them somehow. IoG was one of the more difficult games I hacked.
Additionally, to be able to create hacks and fix bugs you must be able to access the different stages with the specific themes. This is easy for Jump 'n Runs, but in RPG:s you usually have to play there... which results in a quite long playththrough time.

So it is not on my agenda, unfortunately. But I hope that someone else maybe fulfilles your wish.

Thank you for your reply. You seem to have quite a bit of understanding on Enix games. Sadly I can't help in the mapping since I've never attempted an MSU hack (Do we have references and tutorials on that? I know every game is different, but I'd love to get started. My asm reading is pretty rusty though, so there's that). However, I can help with the testing and debugging since all the areas in Soul Blazer can be accessed from the world map and the individual areas using the shortcuts at the shrine. The only thing left to test would be the boss track, which is always the same except for the last boss, and I do happen to have a completed save for Snes9x. It also helps that this games has only 20 tracks of music compared to IoG thirty-something and Terranigma's whooping 57 or so. I'll put the save in the first post, in case someone becomes interested.
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Wed 4 Apr 2018 - 14:20

I tried a bit but have to disappoint you, I think. I tried hard with all tricks I know to get the music mute without influencing the sfx, and failed.
DarkShock is very skilled in hacking Enix games (he did e.g., Actraiser 1, where I looked at his code to mute Actraiser 2 then). Maybe he can help you.

If there were a place in the game where SFX work but music is muted (pause will also mute the SFX), I might have a chance. Something like Edwards Castle prison in Illusion of Gaia - here you have SFX but no SPC.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Wed 4 Apr 2018 - 18:13

Conn wrote:I tried a bit but have to disappoint you, I think. I tried hard with all tricks I know to get the music mute without influencing the sfx, and failed.
DarkShock is very skilled in hacking Enix games (he did e.g., Actraiser 1, where I looked at his code to mute Actraiser 2 then). Maybe he can help you.

If there were a place in the game where SFX work but music is muted (pause will also mute the SFX), I might have a chance. Something like Edwards Castle prison in Illusion of Gaia - here you have SFX but no SPC.

Hmm. I'm not sure, but I do believe there is such a room in the game at some point. I'll make a run through the game and find out. Thank you for trying, despite your initial disliking of the game.
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Wed 4 Apr 2018 - 19:05

I managed in the meanwhile through a nmi countdown, lda #$01-sta $2140 is the start signal for the track to play. If you then make a stz $2040 (I chose 5 nmi:s) it works.

Note that it is an exception that I made this hack for you. I recently declined K to hack the mask after hacking again 7 games Confused and if you look at the wishlist, there are dozens wishes - I surely cannot help all!

So, here's how to proceed.
- Apply sb_msu.ips to a US, no header rom of Soul Blazer. This will expand your rom to 1.5 MB!
- rename your patched rom into sb_msu1.sfc (exact!)
- copy sb_msu1.msu into that folder

load the rom in bsnes 0.73+
- click tools -> debugger
- Debugger console: click here Tools -> Breakpoint Editor...
address range: 208011
Hook at X
- Close the breakpoint editor
- click run at the Debugger console

Now every time, when a new track is loaded it will stop, and you can read the track name:


Your first break will be here:
$20/8011 9C 06 20    STZ $2006  [$01:2006]   A:B2D2 X:0000 Y:02E7
Your track number is the second byte in A:, in this case D2. You only convert it to Dec, which is track 210. So title screen pcm is sb_msu1-210.pcm
Click run at the console again to map the next track, which is b1 (177, slot selection), e8 (232, first screen from where you warp), ee (238, first level where you get the sword). ... continue doing this through the complete game... if a track can't be accessed or you experience other problems, come back at me.

Much luck Wink

-
Attachments
sb_msu1_patch.zip You don't have permission to download attachments.(1 Kb) Downloaded 3 times
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Wed 4 Apr 2018 - 19:11

And here I was, sitting with some reference tables for 65816 assembly, a tutorial about pointers on snes and a coffee. Thank you very much for offering this much help for something you did not intend to do in the first place. Very Happy

I'll attempt to keep on learning and take it from here. It'll keep my mind occupied.


Last edited by walter10h on Wed 4 Apr 2018 - 20:24; edited 2 times in total
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Wed 4 Apr 2018 - 19:14

Great Wink here are many people who are experienced helping you (with asm or pcm questions). So, no need for headache if you get stuck.

Edit:
Just in case, you need one of the newer bsnes+ versions, those that do not require a xml anymore, e.g.,
http://www.emucr.com/2018/01/bsnes-plus-git-20180117.html
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by Shadowrun on Wed 4 Apr 2018 - 19:18

so you do it like that ....
Well.. now I understand why it's very time consuming !
Nice project, walter10th !
Very Happy
avatar
Shadowrun
Rope
Rope

Since : 2018-03-08

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Wed 4 Apr 2018 - 20:25

Conn wrote:Great Wink here are many people who are experienced helping you (with asm or pcm questions). So, no need for headache if you get stuck.

Edit:
Just in case, you need one of the newer bsnes+ versions, those that do not require a xml anymore, e.g.,
http://www.emucr.com/2018/01/bsnes-plus-git-20180117.html

No wonder I didn't see anything on the console, I was using an older version of bsnes+ LOL! Thanks for your help.
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Wed 4 Apr 2018 - 21:06

Lol,yes I'm long enough in the business to anticipate such traps Smile
I'd suggest you also use dummy pcm like dkc pcms or another game for those tracks I already mentioned to ensure your setup is alright.
The game is simple but I expect problems after defeating a boss when watching the video. In this case a savestate before the music switches would help much.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Wed 4 Apr 2018 - 23:14

Alright. This is what I have so far. I still gotta get to a boss fight and see if it transitions well.

Code:
D2 - Main Title
b1 - Into the Dream
e8 - The Shrine of the Master
ee - Lonely Town - SPC plays and cuts to the PCM!
bc - Lively Town - SPC plays and cuts to the PCM!
f6 - World of Soul Blazer
ac - Underground Castle
c6 - Leo's Painting - Conflict with The Three Temples!
ad - Lostside Marshes
c6 - The Three Temples - Conflict with Leo's Painting!
d7 - Sea Bed of Saint Ellis - SPC plays and cuts to the PCM!
f0 - Tropical Islands - SPC plays and cuts to the PCM!
ef - Mountain of Souls

There are some conflicts, where some tracks can have the same values. Also, in some others, you can hear the regular SPC for around 1 second, and then it switches to the PCM track (or silence if it finds nothing).

Code:


Breakpoint 0 hit (11).
208011 stz $2006     [012006] A:8ec6 X:0000 Y:01a4 S:1ff0 D:0000 DB:01 NvMxdIzC V:225 H:119 F:36

Breakpoint 0 hit (17).
208011 stz $2006     [012006] A:9bc6 X:0000 Y:059a S:1ff0 D:0000 DB:01 NvMxdIzC V:225 H:121 F: 5


avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Thu 5 Apr 2018 - 0:27

Also, in some others, you can hear the regular SPC for around 1 second, and then it switches to the PCM track (or silence if it finds nothing).
Yeah I had a countdown of 0A, set this to 05, this should solve it. Before posting a new patch, I need you to check the bosses/ending and other specials (I found 2 more play commands but do not dare to blindly hook these).

There are some conflicts, where some tracks can have the same values.
Not a severe problem. You need to send me for one case the value at 000029:
At C6 breakpoint, go into the debug console in the tools -> memory editor... (it is right above breakpoint editor)

In this example you see the breakpoint at d2, intro:
The d2 is located at 00002A
I need for one of the both C6 (you can choose which one) the value of the ram before 2A, at 000029, in the case of d2 breakpoint example in the image it is 65. Then I can differ both tracks and map the c6 you chose to c7



Edit:
I tested one boss with your srm savestate: go from the start screen right, then up, there's one with a blue robe.
His theme is also D2 (needed another hook), I mapped it to D3
The final boss theme is 80
Ok, got Leo's painting, mapped it to C7
ok, after boss defeat, theme 20 is played. I create a new patch now and see how it works
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Thu 5 Apr 2018 - 8:45

Ok, was more work than expected.
No need anymore to check the ram, I did that already.

New patch:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip
If you completed your tracklist, I will also create a bml and add it to the patch file for the "official release".

New breakpoint to map the themes:
20804d
$20/804D 8D 04 20    STA $2004  [$01:2004]   A:B2D2

Leo's painting: C7
The Three Temples: C6
Boss: D3 (was conflict with D2, intro)
Final Boss: 80 (no conflict)
Mute: ED (captured that with an exception, no further steps taken needed by you)
after boss exploded (added fade as well), theme 20 is played (no conflict)

Let's see how this works, I didn't playtest much Woot!!
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Thu 5 Apr 2018 - 14:38

Conn wrote:Ok, was more work than expected.
No need anymore to check the ram, I did that already.

New patch:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip
If you completed your tracklist, I will also create a bml and add it to the patch file for the "official release".

New breakpoint to map the themes:
20804d
$20/804D 8D 04 20    STA $2004  [$01:2004]   A:B2D2

Leo's painting: C7
The Three Temples: C6
Boss: D3 (was conflict with D2, intro)
Final Boss: 80 (no conflict)
Mute: ED (captured that with an exception, no further steps taken needed by you)
after boss exploded (added fade as well), theme 20 is played (no conflict)

Let's see how this works, I didn't playtest much Woot!!

I still need to complete the track list, but everything else seems fine so far. I really appreciate this man. I will go ahead and do a run through once the tracks are done to test it out. It might take a few days while I arrange them and all that. Thanks a lot brother!
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Thu 5 Apr 2018 - 16:11

You're welcome Very Happy

Unfortunately, I made a stupid mistake in my last patch, the boss music won't play at some instances (e.g., at the blue robe boss, where the music switches after entering the room). Sorry for this.

Please re-apply this new patch on a fresh rom:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip


Please also post the track list (in dec) as soon you are finished, then I can create the bml and finish the patch package. No rush with the pcm:s Smile

Edit:
Forgot to give you the new breakpoint:
Breakpoint 0 hit (1).
208045 sta $2004     [012004] A:b2d2 X:0000 Y:02e7
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Thu 5 Apr 2018 - 19:41

Alright. I'll get on it. I need to get to Deathtoll to get that track. Sorry if I take a tad longer with the track list. It's been a crazy day.

EDIT: Guess I was tired last night. You already got the number for deathtoll. LOL


Last edited by walter10h on Fri 6 Apr 2018 - 13:05; edited 1 time in total
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Thu 5 Apr 2018 - 21:13

The track is d3, the normal Boss Theme. Without the correction in the previous buggy code you'd have 53, the msu status.

It can easily be tested with your savestate, it's e.g. at the preboss with the blue robe prior the very final boss.

Btw, does the fading work? It's e.g. executed after the explosion of Leo painting boss (I'm too lazy to play there a second time to test)

And no rush, it's your project, I'm just a helping hand Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by DarkShock on Fri 6 Apr 2018 - 10:27

Ah cool Quintet started using indices to refer to their track after ActRaiser, not 24-bit pointers to the music data Very Happy
avatar
DarkShock



Since : 2014-12-29

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Fri 6 Apr 2018 - 12:58

Yes, in this game I still needed to differ by the 24 bit pointer $29-$2B (the same technique you used in actraiser I think), I chose the middle byte $2A, which was a bad decision, since 2 tracks had conflicts (should have taken $29 from beginning, but changing this at a later stage would have caused walter to again map all themes).
But I solved this then through exceptions for the two tracks involving the lowest byte $29. So hopefully all is good now from the coding side.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Fri 6 Apr 2018 - 14:15

Ok, I got the rest of the tracks. Here's the hex and dec values. There's one more conflict between Mountain of Souls and World of Evil.

I'm not sure I understood your instructions to fix this issue before, but this is the World of Evil values on the memory editor.



Regarding the fading, sadly it's a no go. The pcm plays during the boss fight, then as soon as I kill it, the boss fight SPC starts playing, and I cannot free the soul. Very Happy I attached a save right before a boss to test it out, it's also overleveled so the boss will die in 3 hits or so.

Code:
D2 - 210 - Main Title
b1 - 177 - Into the Dream
e8 - 232 - The Shrine of the Master
ee - 238 - Lonely Town
bc - 188 - Lively Town
f6 - 246 - World of Soul Blazer
ac - 172 - Underground Castle
c7 - 199 - Leo's Painting
ad - 173 - Lostside Marshes
c6 - 198 - The Three Temples, Maggrid Castle Basement
d7 - 215 - Sea Bed of Saint Ellis
f0 - 240 - Tropical Islands
ef - 239 - Mountain of Souls - Conflict with World of Evil
b3 - 179 - Leo's Basement
f3 - 243 - Towers of Maggrid Castle
ef - 239 - World of Evil - Conflict with Mountain of Souls
D3 - 211 - Boss Fight
80 - 128 - Deathtoll
ec - 236 - Ending Theme
94 - 148 - Ode to Lisa
ED - 237 - MUTE

Other weird issues I noticed using the latest patch.

Sometimes the SPC plays and then the PCM, but at other times it doesn't.

Sometimes the beginning of the PCM gets cut (can be solved with a bit of silence in the PCM, no biggie).
Attachments
sb_msu1.zip You don't have permission to download attachments.(1 Kb) Downloaded 3 times
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Fri 6 Apr 2018 - 16:04

There's one more conflict between Mountain of Souls and World of Evil.

I'm not sure I understood your instructions to fix this issue before, but this is the World of Evil values on the memory editor.
"This is the World of Evil values..." - I can't see anything in your message... Can you give me the value at $29 or attach a picture of it?

I attached a save right before a boss to test it out, it's also overleveled so the boss will die in 3 hits or so.
I do not know how to use srm. I really do not know the game. I start in the soul's sanctury. Where do go? Left, Down, Right?


Sometimes the SPC plays and then the PCM, but at other times it doesn't.
I'll try tp figure out something

Sometimes the beginning of the PCM gets cut (can be solved with a bit of silence in the PCM, no biggie).
That's strange...
Edit:
If it is in a millisecond range I do know why, but won't change it if not necessary. I make a stz $2006 (no volume), then there's the nmi countdown, means the new track is already running because I do not stz $2007 (stop playing) during 5 nmi:s- for unknown reasons sd2snes cannot handle shortly behind writing on $2007. So to keep sd2snes players happy with the patch, make a short mute prior to each track Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Fri 6 Apr 2018 - 17:12

Conn wrote:
"This is the World of Evil values..." - I can't see anything in your message... Can you give me the value at $29 or attach a picture of it?

Blah, the image didn't show for some reason.



I do not know how to use srm. I really do not know the game. I start in the soul's sanctury. Where do go? Left, Down, Right?

My bad, just paste the srm where the rom is and run it with bsnes. It's just a regular save file. Once you start at the shrine, go right to end up right before the boss. Just go right and then up. I attached a save-state for bsnes right at the boss door if you prefer.


I'll try tp figure out something

I think it may have something to do with the countdown? I'm really not savvy when it comes to this, so I'm only guessing here.

f it is in a millisecond range I do know why, but won't change it if not necessary. I make a stz $2006 (no volume), then there's the nmi countdown, means the new track is already running because I do not stz $2007 (stop playing) during 5 nmi:s- for unknown reasons sd2snes cannot handle shortly behind writing on $2007. So to keep sd2snes players happy with the patch, make a short mute prior to each track Wink

Yeah, it's really not a big deal. I'll just keep the songs coming, and test the PCMs nice and carefully. It is the weekend after all, so I have time. Very Happy
avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Conn on Fri 6 Apr 2018 - 20:48

Alright:
- World of Evil  is now f1 (241)
- Fading and warp after boss should work now
- Countdown is set to 3 now, hope this solves the random spc play issue
- bml is also created

Please re-apply this new patch on a fresh rom:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip

New breakpoint:
$20/8056 8D 04 20    STA $2004  [$01:2004]   A:B2D2
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Soul Blazer MSU1

Post by walter10h on Fri 6 Apr 2018 - 22:20

Conn wrote:Alright:
- World of Evil  is now f1 (241)
- Fading and warp after boss should work now
- Countdown is set to 3 now, hope this solves the random spc play issue
- bml is also created

Please re-apply this new patch on a fresh rom:
http://bszelda.zeldalegends.net/stuff/Con/sb_msu1_patch.zip

New breakpoint:
$20/8056 8D 04 20    STA $2004  [$01:2004]   A:B2D2

I tested every single area in the game with a pack of PCMs and I can say that this works amazingly well. Other than a section of the regular music playing before the PCM in only a couple of areas, I believe it's good and ready to go. And like you said, better keep sd2snes users happy with the patch, so don't bother with something so minor. I noticed Shiryu already made a Soul Blazer suite and it sounds 100x better than my stuff, so hopefully I can use that with his blessing. Thank you very much good sir, for making this a reality. Wink

Nevertheless I'm attaching the video of the odd behavior, just for kicks.

avatar
walter10h



Since : 2018-04-03

Back to top Go down

Re: Soul Blazer MSU1

Post by Sponsored content


Sponsored content


Back to top Go down

Page 1 of 3 1, 2, 3  Next

Back to top


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