Reverse engineering Street Fighter 2 – The World Warrior

Years ago (2005!) I started reverse engineering the ROMs for Street Fighter 2 – The World Warrior in my spare time, and rewriting the whole thing (yes, the whole game) in C.

Since I can’t likely share my source or binary without infringing Capcom’s copyright, I decided I should at least start a blog to share with the world what I’ve found from the code, for whatever reason you might be interested.

I’ll likely never be able to release my full code or binary, so I want to share as much of my findings as I (legally) can so if for some reason I can’t continue, not too much of this goes to waste.

I also wrote a graphics engine to emulate the CPS’s tile graphics hardware using OpenGL. Because this code is mine, I’ll be sharing parts of it with you.

Reverse engineering Street Fighter 2 – The World Warrior

4 thoughts on “Reverse engineering Street Fighter 2 – The World Warrior

  1. Jordi says:

    You can’t not distribute SF2 ROM, but your code is yours.
    I’m a coder too, but too lazy to disassemble SF2 ROMS so I will keep on reading your blog telling the “behind the scenes” secrets from Street Fighter. 😉


    1. Hey Jordi,

      I’ve been doing a lot of work over the holiday break cleaning up anything in the project that could be questionable in terms of original copyright. See my latest post for more.


  2. David says:

    I’d love to see the code for this and try building it for various platforms. People have been reverse engineering commercial games and writing open source game engine remakes for years ( without running into any legal issues. To name a few examples: OpenRA (Red Alert, Command & Conquer, Dune 2000), ScummVM (many adventure games), REminiscence (Flashback), Xash3D (Half-Life). As long as you don’t redistribute the SF2 ROM or any Capcom intellectual property such as character sprites, graphics or music there should be nothing illegal with releasing the code. Capcom already endorsed the fan made game “Street Fighter X Megaman” which did include intellectual property so I’d be really surprised if they had a problem with your project. Please release the code for this, even better if you could share it on a Git repo so that others can contribute.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s