Hacking the ST rom

Please turn on Audio.

Besides the japanese set any others you want to be included in this release?

https://www.youtube.com/watch?v=DgkY8b9hQdE

very nice. i know it’s supposed to be a patched rom so you can burn to actual cps2 if you wanted, so I’m not sure if there is a way to make p2 stays in crouching position like the pof mame cheat (but then there is no mame cheat menu in patched rom).

Most solutions will involve a rubber band, but i’m only using one of 3 known jumps to 10efc. Someone could hack in a menu eventually.

Also, Xcopy isn’t good at decrypting.

What problems does xcopy have? I’ve put some simple asm hacks in the ssf2t rom with it without any problems… it worked perfectly

It’s Decrypting a part that isn’t asm.

Encrypted Rom (ssfxj rom4)

http://i.imgur.com/9fi5r8a.png

Avalanche Decryption Effort (ssfxjdi rom4)

http://i.imgur.com/pU5NRYy.png

Xcopy (ssfxj rom4)

http://i.imgur.com/sevVivB.png

I keep checking if anything is wrong even used the custom encryption option to see if it was a wrong key.

And yes I need 80 bytes for asm.

cps2 keys
http://mamedev.org/source/src/mame/machine/cps2crpt.c.html

If you’re wondering how this problem didn’t pop earlier.

I do asm in the memory like the unused network memory(0x660000 - 0x663FFF). Optimize, till I can’t get rid of anymore code. Then find a place in the rom for it.

If that proves to be a big issue, I should be getting a dead SSFIIX in the next few weeks, which I could put Avalanche EEPROMs in.
-ud

IPS patches
Razoola’s Phoenix Set
Avalanche JP AM Set

The new code
Life Refill assembly



;19D8
4EB9 000D 6A80		jsr $d6a80.l;

;D6A80 (56A80)
;Address setting 28 bytes
41F9 00FF 844E			lea $ff844e,A0
43F9 00FF 884E			lea $ff884e,A1
45F9 00FF F100			lea $fff100,A2; 1P timer - Send undamned network memory test
6108				bsr; PC+$08
C149				exg A0,A1
45F9 00FF F200			lea $fff200,A2; 2P timer

;Timer set and countdown 6
4A2A 0000			tst.b ($0,A2);checks if there is a timer already
6710	 			beq; PC+$?? | Timer = 0 branch to refill 

;Hurt check and Subtraction 16 bytes
4A29 0003			tst.b ($3,A1)
6608				bne; PC+$08 | If hurt skip subtraction
102A 0000			move.b ($0,A2), D0
5300				subq.b #1,D0
1480				move.b D0, (A2)
4E75				rts

;Refill 30 bytes
157C 0096 0000 			move.b #$96, ($0,A2); Refill Timer
117C 0030 02B4			move.b #$30, ($2B4,A0); Refill Super
303C 0090			move.w #$90, D0
3340 01BC			move.w D0, ($1bc, A1); Refill Graphic
3340 002A			move.w D0, ($2a, A1); Refill Life
3340 002C 			move.w D0, ($2c, A1); Refill Life
4E75				rts


Thanks jedpossum!

Updated my ssf2xj mame cheat file with your last training mode hack.

Just posting to notify the Avalanche JP AM set is up.

And I do test the roms before making patches.
Even the Avalanche roms. 09 is giving the error since there is no boot up menu on avalanche’s set.

http://i.imgur.com/4mDm9vj.png

Hey @jedpossum, can you post the patch for the encrypted ssf2xj rom set as well? it’s useful for playing in ggpo’s unsupported room.

Is this for all cps2 games? After testing some custom drop patterns on Dreamcast puzzle fighter, I was thinking of hacking them in the puzzle fighter arcade rom…

How did you get this information? or how would I go about figuring this out for puzzle fighter?

You can look above and see the problem of doing an encrypted set. Even using Xcopy on the avalanche ST Roms doesn’t solve the problem.

Mame Source, messing around with said games, and Razoola’s notes on making a phoenix set.
http://mamedev.org/source/src/mame/drivers/cps2.c.html

The Graphics memory(0x900000-0x93ffff) area can and will be quite different with each game.

Edit
Example



Vsav
0x900000 8x8
0x904000 32x32
0x908000 16x16
0x90C000 Palette Bank

0x918000 Dark Force 16x16
0x91C000 Dark Force Palette Bank



Notice the Hud isn’t stored in the graphic memory.

Trace of the SSF2 Tournament Battle Terminal Check
http://pastebin.com/ZDn9T6EL
Interesting note there isn’t a check in the network memory.

Sorry, didn’t see this part earlier.

I would find out what is dropping the blocks and trace back till there is a command reading the player’s character and multiplying by how big the table is to get it’s slot.

Thanks.I’ll give it a try, as well as razoola’s notes a read.

Reminds me of this thing I made a few years ago.

@felineki‌
Well, I only changed one byte. My first thought was swapped roms with itself or ssf2. but looking at the description that is wrong.

Also, I’ve been meaning to get a hold of you on the rom joiner you used. I want to make better collision brackets in ST eventually.
Have it like vsav’s boxes or kof.

http://i.imgur.com/N5rE7XB.png

It’s been ages since I messed with that, but I think I used WinHex to split the original ROMs up, and then the interleave tool found here to paste them together in a way that Tile Molester could display them properly. I never actually got around to trying to modify something, rearranging it all back into the original ROM format, and then seeing if it would display properly in the game or not.

Hmm no easy way to get rid of the interleaving after it’s done. Ah well, atleast it was something I wasn’t plan on doing any time soon.

Did Capcom mean for Evil Ryu to be in ST before being in SFA1? Check this out…