Street Fighter 2: Sheng Long arcade hack

Discuss all hardware and software modifications
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

bdlou wrote:
I love following this project. Keep up the great work!
Really I think this's is far as it's going to get without disassembling the code. I think version 6 is really going to be the last version. I've pushed the code as far as I can without the need to add new programming, adding new programming is impossible when romhacking you can only change existing data.
http://16bitgamer.forumotion.ca/

Older games are better
bdlou
32-bit
Posts: 228
Joined: Fri Oct 02, 2009 5:16 pm
Location: Bothell, WA

Re: Street Fighter 2: Sheng Long arcade hack

Post by bdlou »

Do you think it's possible now, knowing what you know, to create a tool to allow people to tweak the known values to make their own changes to the game?
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

bdlou wrote:Do you think it's possible now, knowing what you know, to create a tool to allow people to tweak the known values to make their own changes to the game?
I actually hate programming regular applications. If someone wanted to they could use my rom hacking notes and make a tool. Included in my rom hack zip is a file called "sf2 code.txt" and that's a massive text file of where pretty much all the data that I altered is found. Some of the text file is hard to understand but I don't mind explaining it to someone who's willing to write a sf2 rom hacking utility.

Also this rom hacking utility would only be able to work with the sheng long / punishment edition roms which are based on the m5 bootleg hack of champion edition 920313. To get this all working I had to hack up the m5 bootleg roms to restore their ability to run on the regular cps1 hardware but the m5 roms are a great template to work with because they include custom code that lets you essentially "summon" fireballs whenever you feel like it. Without these m5 roms my hack wouldn't be nearly this cool / fun. As my romhack demonstrates you can make a surprising amount of changes. I plan on making a youtube compilation video of all the changes that I didn't include because they were just plain stupid. I kept backups of all the rom changes I made that didn't make the final cut.

Here's the sheng long revision 6 rom which also includes the latest verison of my sf2 code.txt notes

http://www.mediafire.com/?gt7rcav67i2i01n

The notes are very messy as they were only intended to be read by me. But if you can find someone who wants to write a utility I'll happily explain all my notes.

Unfortunately winkawaks doesn't emulate these roms 100% how they run on my arcade board. All of my demonstration videos were recorded off of the real arcade board. This's why I didn't start working on this project until I had a proper rom burning setup going, because emulation is never 100% accurate. When I first was just trying to hack the m5 roms for them to work on the regular board again emulation would react very differently from the actual pcb. There's small differences between how the game runs in an emulator compared to the actual board. The arcade board the "summoned" fireballs seem to move faster in revision 6 than in winkawaks.
http://16bitgamer.forumotion.ca/

Older games are better
User avatar
d123456
Next-Gen
Posts: 1268
Joined: Tue Jan 30, 2007 6:39 pm
Location: The Netherlands, Almere
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by d123456 »

Version 6 is even better than version 5!
For those unfamiliar with Drakon´s work. rename the zip to sf2ce.zip and run with kawaks (or mame)
Hey Drakon, would it be possible to speed up chun li´s upside down spinning bird kick. So that it becomes more of a threat like the flash kick from guile. I´d like the speed of chun li´s upside down spinning bird kick to be that of ken´s hurricane kick.
Great work and even though you hint this being the last, I secretly await future updates :mrgreen:
Optimizing PS2 games 480p (progressive) and 240p gsm hdtv
http://www.racketboy.com/forum/viewtopi ... 25&t=30389
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

d123456 wrote:Version 6 is even better than version 5!
For those unfamiliar with Drakon´s work. rename the zip to sf2ce.zip and run with kawaks (or mame)
Hey Drakon, would it be possible to speed up chun li´s upside down spinning bird kick. So that it becomes more of a threat like the flash kick from guile. I´d like the speed of chun li´s upside down spinning bird kick to be that of ken´s hurricane kick.
Great work and even though you hint this being the last, I secretly await future updates :mrgreen:
Yeah I can make her kick faster I think I was trying to make it something to counter an air jump. For some reason the game doesn't give her spin kick priority over most things so it's kind of useless the way it is now. I'll probably tweak chun li tomorrow. Chun li's fireballs coming out of the fast kick makes her kind of overpowered so I didn't want to make her spin kick too strong. And of course v6 is better...it's a bigger number!

Anyway as promised....

the good, the bad, and the funny...

Let's break street fighter, a hacker's tale:

http://www.youtube.com/watch?v=1FkkIROw ... e=youtu.be

This's a compilation video of some of the most entertaining hacks that didn't make it into my hacks for obvious reasons. There's way more things I hacked that didn't make it but these were the most entertaining.

The reason why I doubt there will be any future major update besides minor tweaks....

1: I've got commissions to do. You know, those things that I actually get paid money to do.

2: I've pretty much stretched the capabilities of raw hex editing these roms to its limits. To do anything more would require re-programming the entire game.

3: Uhh I'm still trying to think of a third excuse.

Version 6 was sort of like "I have a day off let's dust off some old concepts and see what I can do" and I managed to find a previously undiscovered exploit. It was unexpected and it's really the last exploit I'll probably find. So yeah.

Also I've been in contact with ashura-x (the guy who made mame ash build) and he already has my older sheng long hacks included in his mame build. He's been keeping up with my thread on my forum so soon I expect version 5 and punishment edition to be included in ash build. I already provided direct downloads of the roms on my forum with their own rom name so you can download and play once they're added to the ash build list. I don't want to get version 6 included until it's more tweaked. But heck apparently people were adding my roms to ash build way back at version 3 without me even knowing so who knows.
http://16bitgamer.forumotion.ca/

Older games are better
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

Did some chun li retooling today and made some great progress. I FINALLY managed to give her the ability to move left and right while doing her fast kick move but she no longer shoots out loads of fireballs while doing it. Her spin kick now shoots out two fireballs and moves less high and much faster horizontally. Still playtesting it.
http://16bitgamer.forumotion.ca/

Older games are better
User avatar
d123456
Next-Gen
Posts: 1268
Joined: Tue Jan 30, 2007 6:39 pm
Location: The Netherlands, Almere
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by d123456 »

Drakon wrote:Did some chun li retooling today and made some great progress. I FINALLY managed to give her the ability to move left and right while doing her fast kick move but she no longer shoots out loads of fireballs while doing it. Her spin kick now shoots out two fireballs and moves less high and much faster horizontally. Still playtesting it.
That sounds awesome, sounds like Chun li is now in asskicking mode and a good adversary
Optimizing PS2 games 480p (progressive) and 240p gsm hdtv
http://www.racketboy.com/forum/viewtopi ... 25&t=30389
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

d123456 wrote:That sounds awesome, sounds like Chun li is now in asskicking mode and a good adversary
Actually a bit of the opposite. Chun li's a little harder to use now which is why I want to playtest her more before releasing this. Chun li is probably the most DIFFICULT character in the game to hack. It's like everytime you try to make her more powerful she winds up becoming too powerful. It's VERY difficult to get chun li balanced out.

Basically, I wanted chun li to have the ability to move while performing her fast kick but not shoot out fireballs while doing it. I had to learn the roms so well to figure out the lines of hex that summon a fireball. Both the ability to move while doing the fast kick and the fireballs shooting out were part of the same custom programming that the taiwanese hackers had included in the 22 rom, so I had to hack the large added routine and replace the fireball call with a bunch of nothing. As you would imagine finding an exact routine call in a bunch of raw hex can be quite a task, but I eventually managed it, and yes it took me a long time to figure it out. All the custom added programming in the game was inserted into the 22 rom in an area that originally was empty. Then the taiwanese hackers would replace a normal function call with a call that loaded data from their added programming, this way they could "insert" their code without changing the location of the normal programming. When romhacking if you insert code and move the rest of the code over nothing will work right. Romhacking is all about replacing code, so you need to find clever ways to add new code in unused areas and find a way to "call" it. I can open the official champion edition 22 rom of the same version and there's a large chunk at the end of the 22 rom that's empty, but in the hacked version that area is full and a lot of that code is the added functions that the taiwanese hackers added. Lately I've learned this custom code better and better which is why I've been able to manipulate it and that's how sheng long version 6 was born.

I had previously made chun lis spin kick weak because her fast kick shooting fireballs out was completely overpowered she shot out the fireballs at a very high frequency. At first I wondered why they didn't give honda the ability to shoot fireballs while doing his hand slap. I changed e hondas hand slap to have the same programming to shoot out fireballs and he shot them out at a very high frequency quickly filling the screen with fireballs....I guess that's why. What the original hackers did was they made chun lis fireball "profile" make all her fireballs go super fast so it wouldn't fill up the screen. Each character in the game has their own fireball profile, if you shoot a fireball with one character and press start to change to another character suddenly the fireballs change to fit the new characters profile. Most characters use the standard profile but chun li has a profile that makes all fireballs go super fast, and ryu / ken have a profile that make the fireballs split apart and move in a zig zag pattern. For some reason blanka shoots out fireballs at a much lower frequency when electrocuting which is why they gave blanka the ability and didn't speed up his fireballs. I've searched long and hard to find out how to change the fireball profiles but I'm just unable to locate the code. It looks like the fireball profile code isn't uniform so even if I found that code changing it probably wouldn't be possible. Every minor change in the game requires a tremendous amount of work which is why this project is moving at a snails pace.

The reason why I didn't have chun lis spin kick stay low the whole time is simple. Her spin kick is DEVASTATING going at high speeds and being able to hit the opponent the whole time. I made her spin kick go right at the opponent full speed and I beat a lot of characters in just 2 moves. Needless to say that is just too powerful and not fun at all. So I made her spin kick still move up but with a faster horizontal speed so at most she will hit the opponent only once with her spinning kick. I added 2 sonic booms shooting out when she does her spin kick because they're not too damaging. When I was a kid playing the m5 hack on an arcade machine I'd always play as chun li because her spin kick was just way too overpowered.

A lot of stuff these taiwanese hackers added made characters too powerful so I've been slowly removing all the overpowered stuff while trying to keep the fun stuff included. I kept in the computer opponent being able to rape you to death with hondas ultra speed handslap, chun lis fast kick, or blankas ultra speed electrocution (literally I've had games where I have a full health bar and blanks charges full speed with electrocution and block damages my entire health bar away until I die). I kept this in because the AI doesn't make use of a lot of the added stuff so I didn't want the game to be too easy.
http://16bitgamer.forumotion.ca/

Older games are better
User avatar
Drakon
64-bit
Posts: 306
Joined: Tue Apr 29, 2008 7:58 pm
Location: Toronto Canada
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by Drakon »

Did some playtesting and new chun li is quite playable I just needed to re-learn how to use her. Her best attack now is the spin kick with the weak kick button. Download is here:

http://www.mediafire.com/?1ig04yvrkh4pz5z
http://16bitgamer.forumotion.ca/

Older games are better
User avatar
d123456
Next-Gen
Posts: 1268
Joined: Tue Jan 30, 2007 6:39 pm
Location: The Netherlands, Almere
Contact:

Re: Street Fighter 2: Sheng Long arcade hack

Post by d123456 »

Drakon wrote:
d123456 wrote:That sounds awesome, sounds like Chun li is now in asskicking mode and a good adversary
Actually a bit of the opposite. Chun li's a little harder to use now which is why I want to playtest her more before releasing this. Chun li is probably the most DIFFICULT character in the game to hack. It's like everytime you try to make her more powerful she winds up becoming too powerful. It's VERY difficult to get chun li balanced out.

Basically, I wanted chun li to have the ability to move while performing her fast kick but not shoot out fireballs while doing it. I had to learn the roms so well to figure out the lines of hex that summon a fireball. Both the ability to move while doing the fast kick and the fireballs shooting out were part of the same custom programming that the taiwanese hackers had included in the 22 rom, so I had to hack the large added routine and replace the fireball call with a bunch of nothing. As you would imagine finding an exact routine call in a bunch of raw hex can be quite a task, but I eventually managed it, and yes it took me a long time to figure it out. All the custom added programming in the game was inserted into the 22 rom in an area that originally was empty. Then the taiwanese hackers would replace a normal function call with a call that loaded data from their added programming, this way they could "insert" their code without changing the location of the normal programming. When romhacking if you insert code and move the rest of the code over nothing will work right. Romhacking is all about replacing code, so you need to find clever ways to add new code in unused areas and find a way to "call" it. I can open the official champion edition 22 rom of the same version and there's a large chunk at the end of the 22 rom that's empty, but in the hacked version that area is full and a lot of that code is the added functions that the taiwanese hackers added. Lately I've learned this custom code better and better which is why I've been able to manipulate it and that's how sheng long version 6 was born.

I had previously made chun lis spin kick weak because her fast kick shooting fireballs out was completely overpowered she shot out the fireballs at a very high frequency. At first I wondered why they didn't give honda the ability to shoot fireballs while doing his hand slap. I changed e hondas hand slap to have the same programming to shoot out fireballs and he shot them out at a very high frequency quickly filling the screen with fireballs....I guess that's why. What the original hackers did was they made chun lis fireball "profile" make all her fireballs go super fast so it wouldn't fill up the screen. Each character in the game has their own fireball profile, if you shoot a fireball with one character and press start to change to another character suddenly the fireballs change to fit the new characters profile. Most characters use the standard profile but chun li has a profile that makes all fireballs go super fast, and ryu / ken have a profile that make the fireballs split apart and move in a zig zag pattern. For some reason blanka shoots out fireballs at a much lower frequency when electrocuting which is why they gave blanka the ability and didn't speed up his fireballs. I've searched long and hard to find out how to change the fireball profiles but I'm just unable to locate the code. It looks like the fireball profile code isn't uniform so even if I found that code changing it probably wouldn't be possible. Every minor change in the game requires a tremendous amount of work which is why this project is moving at a snails pace.

The reason why I didn't have chun lis spin kick stay low the whole time is simple. Her spin kick is DEVASTATING going at high speeds and being able to hit the opponent the whole time. I made her spin kick go right at the opponent full speed and I beat a lot of characters in just 2 moves. Needless to say that is just too powerful and not fun at all. So I made her spin kick still move up but with a faster horizontal speed so at most she will hit the opponent only once with her spinning kick. I added 2 sonic booms shooting out when she does her spin kick because they're not too damaging. When I was a kid playing the m5 hack on an arcade machine I'd always play as chun li because her spin kick was just way too overpowered.

A lot of stuff these taiwanese hackers added made characters too powerful so I've been slowly removing all the overpowered stuff while trying to keep the fun stuff included. I kept in the computer opponent being able to rape you to death with hondas ultra speed handslap, chun lis fast kick, or blankas ultra speed electrocution (literally I've had games where I have a full health bar and blanks charges full speed with electrocution and block damages my entire health bar away until I die). I kept this in because the AI doesn't make use of a lot of the added stuff so I didn't want the game to be too easy.
What amazing job you did with Sheng Long 6.1. Chun li is alot of fun to use now and the spinning bird kick can now take out jumping opponents most of the times. I also like how Chun Li´s sonic boom and the sbk (spinning bird kick) now combo. It is a fantastic joy to play. Sounds like alot of hard work went into it and it shows.
We´re not worthy.
Optimizing PS2 games 480p (progressive) and 240p gsm hdtv
http://www.racketboy.com/forum/viewtopi ... 25&t=30389
Post Reply