Genesis/Mega Drive/Sega CD/32x Region Bypass Tool  by: Tony H
Version 1.1a    8/15/2022   
For Windows    (written in C#)
Send bug reports or comments to: t_hedstrom@yahoo.com

My site, with other editors, programs, Game Genie codes, guides, etc...
https://codehut.gshi.org/
http://www.angelfire.com/games2/codehut/

Version 1.0 = Initial public release. 6/11/2022

Version 1.1 = Many improvements, including: new region checks, better "new style" region code support, better checksum fixing, option to have checksum automatically fixed after patching, button to put 32x ROMs into developer's mode, etc. 8/11/2022.

Version 1.1a = Fixed a minor bug where 32x and some Sega CD ROMs were incorrectly named when saving a new ROM, added some info about Sega CD. 8/15/2022.


New for version 1.1a:

Fixed a minor bug where some 32x and Sega CD ROMs were incorrectly named when making a new ROM.  This only applied to ROMs with these file extensions: .32x, .iso, and .img.  Any ROM with those file extensions, would have ".bin" incorrectly added to the end of the newly created ROM name (eg. Tempo Patched U.32x.bin). 

You will no longer have to select "All files" when opening or saving a 32x or Sega CD ROM with the file extensions mentioned above.

Note about patching Streets of Rage 2 (US):
If you only patch the ROM once and have your emulator set to Japan, it will show the "Bare Knuckle" title screen, and the text will be in Japanese.  If you continue patching the rest of the region checks, all of the Japanese text will be displayed in English.  Also, if you only patch it once and have your emulator set to Europe, you will get a region warning screen, but if you patch it a second time (with the same ROM), it will run without the region warning.

Information about Sega CD:
Finally did a little research on how Sega CD games work as far as regions go.  There are at least two options you have to get your Sega CD working in different regions.  The first is to get region free BIOS files.  This method doesn't change your ROM at all, but rather changes the BIOS file.  The second way to get your Sega CD to run in different regions is to use a cool program called ConvSCD.  It converts your Sega CD ROM to work in different regions.

To get the special region free BIOS files or ConvSCD:
Using Google, I was able to find some without too much trouble.  Search "sega cd region free bios download", and a site called mmmonkey has at least one download for it.  I'm sure there are many other places that have them as well.  To find ConvSCD, just Google "ConvSCD".  This site has version 1.10: https://www.retrodev.com/convscd.html

Once you get your Sega CD running in a different region:
If you open a Sega CD ROM with my program, it will often find region checks.  What these region checks do depends on the game.  With Sonic CD, they appear to change the speed of the game play and music (50/60hz) when patched with this program.  If you seem to have region problems after you get your game running with a region free BIOS or ConvSCD, you can start patching the region checks (if the program finds any) in your Sega CD ROM to find out if that fixes anything. 


New for version 1.1:

Have added some new types of region checks (types 5, 6, and 7), and improved one of the old region checks (type 4).

Added new methods that bypass checksum checks, and shows ROM addresses for them.  Works on almost all Capcom games, and many others.

Added an option to make it so that the program will automatically fix the checksum as soon as it finishes patching.  This option is on by default, and should normally be left on.  Clicking on this option will give you more details.

Added an option to only fix the checksum value in the header.  This is off by default, and should normally be left off.  Clicking on this option will give you more details.

Added a button that lets you put 32x ROMs into a sort of developer's mode.  Makes 32x ROMs skip the checksum checking process.  This will make the game boot faster, and it will ignore any changes made in the ROM.

Added better "new Style" region code support, so it will now recognize more regions that use the new style of region codes (old style used J, U, or E.  New style uses letters and numbers like 4 for USA, A or 8 for Europe, etc).


Partial list of games that will now work with version 1.1:

Street Fighter 2 CE, Super Street Fighter 2, Megaman Wily Wars, Great Circus Mystery Starring Mickey, Saturday Night Slam Masters, Thunder Force 4, Lightening Force, Streets of Rage 2, Contra Hard Corps, Golden Axe, TinHead, Smurfs 1, Smurfs 2, TinTin in Tibet, and many more.


Made a ton of changes for this update, so please let me know if you find any bugs.

==========================

Version 1.0:

This program will try to patch your Genesis, Mega Drive, Sega CD, or 32x ROM so that it works in all regions, or sometimes just work in different regions.

Will not work on every game, but seems to have pretty good compatibility.

The program does things differently than what you'd expect.  If it finds a region check in the ROM, the region that is selected will actually be the region of the console that the ROM will see when it does a region check.  In other words, it usually doesn't change the region of the ROM, it changes the region of the console.

If your ROM is for a single region and the program finds at least one region check in the ROM, it will automatically select the best region so that your ROM will be region free, and work in any region.

Depending on the game, you may need to experiment with the 3 different regions to see which ones work.

When patching, you can decide if you want it to create a new ROM or not.  If you do make a new ROM, the program will automatically add "Patched" to the end of your file name, along with the letter of the region it was patched to. This makes it easy to remember which file was patched, although you can name the new file anything you want as long as it's not the same as the original file name.  This keeps your original ROM safe.

The program searches for 4 different types of region checks.  It uses search patterns to find these, so will work on any game that uses those types of region checks.  I'm sure there are more types of region checks that I haven't found yet, so the program may not work on every game, but seems to have pretty good compatibility.

If the program doesn't find any region checks in the ROM, then it will only change the region letters/codes in the ROM header (at 0x01F0).  Many games only use those region letters in the ROM header to determine the region, so that will often work.

There are a few Help/info buttons in the program with a lot more information.

Here's a link to a thread about this program, with some detailed/useful info:
https://www.romhacking.net/forum/index.php?topic=35066.0


Shouldn't need any additional files if you're using Windows (uses the .net framework).  Made and tested with Windows 10.
