11 March 2016 - Forum Rules

Main Menu

Genesis Game Genie/Emulator Tool

Started by Tony H, February 15, 2023, 12:51:05 PM

Previous topic - Next topic

Tony H

Working on a new program that will do Genesis Game Genie encryption/de-encryption, and will let you add your Game Genie codes to a .pat file (cheat code file) for use on many different emulators.

Screenshot above shows the rough draft.

Planned features (some are already working):

* Can convert any Genesis Game Genie code into the raw ROM address and value, or the other way around (convert your ROM address and value into a Game Genie code).

* There are "Up/Down" buttons for increasing or decreasing your ROM address and value.  You can also just type in or copy/paste if you prefer.

* You'll have the option of making your ROM address increase/decrease by even numbers when using the Up/Down buttons, since Genesis ROM addresses should be even numbers.

* There are dual/triple purpose buttons that will cycle through different 68000 assembly instructions and insert them into the value section of your code.  Example: If you click on the "Insert Branch" button one time, it will insert "6000" into the value section of your code.  If you click that button a second time, it will insert "6002", a third click will insert "6004", and a fourth click will start over at "6000".  There's a button for NOP/RTS as well (4E71/4E75).  This is faster than typing those values in.

* Can make Game Genie codes with ROM addresses up to 0xEFFFFF (15MB).  This does two things: It prevents people from trying to make a Game Genie code from a RAM address (FFxxxx), since codes like that won't work on a real Game Genie, and secondly, it lets you access any part of the largest Genesis ROM I know of (Demons of Asteborg) which is 14.6MB.

* May have an option so you can add Genesis RAM codes (FFxxxx) as cheats, since most emulators support them.

* You can click a button to add your Game Genie code to the emulator ".pat" file (cheat file).  Can have up to 7 codes.

* You can add a code description to each of your codes (up to 200 characters).

* Will be adding an option that allows you to search your ROMs and pick the one you want to make the pat/cheat file for.  The program will automatically enter the correct name for the pat/cheat file so your emulator recognizes it.

* Should work on these emulators (so far): Kega Fusion, and most versions of Gens (Gens, Gens 9.5b, Gens r7, etc).  There are more emulators that use the ".pat" type of cheat file, but still need to do more testing.

* May add the ability to edit existing emulator pat/cheat files.

* Will also work on 32x ROMs in some cases.  If I remember correctly, Kega Fusion lets you add any type of cheat code for 32x ROMs, including ones that use 32x assembly instructions (SH2). I don't think Gens emulators will work when using 32x/SH2 codes, but should work with regular Genesis Game Genie codes (68k).  Still need to do testing with this.
The Code Hut:

Game Genie codes and ROM hacking guides

Tony H


Making progress (Screenshot).

Latest additions:

* The Game Genie conversion part is 100% functional now, and seems to work fine.  You can either enter a Game Genie code to see it's unencrypted ROM address and value, or you can enter your own ROM address and value and it will convert it to a Game Genie code in real time as you are typing in values.

* Can now enter RAM addresses (FFxxxx), with the option to make them have either a 1 or 2 byte value.  I don't think Kega Fusion supports 1 byte ROM values, so there is a little warning about that if you select the 1 byte value.  At least 2 versions of Gens support single byte RAM address, and I'll test some more Gens versions to see if they're the same.  There's like 147 different versions of Gens. lol

* Most of the buttons now have dual purposes...

* If you click the Up/Down buttons once, it will increase/decrease the value by 1 (or 2 for the ROM address if you have the "Use even addresses" option checked).  If you hold down the Up/Down buttons, the value will automatically start increasing/decreasing and will speed up even faster if you keep holding the button down.

* The "Insert" buttons will cycle through the different values each time you press them.

* Added "Clear" buttons that will clear that code, and if you press that same button again, it will clear the description for that code.

* Added a Reset button.

* Can now click on a button and search for the ROM that you want to make a .pat file for.  It will automatically convert it into the correct file name so your emulator will recognize it. 

Note that Kega Fusion and Gens emulators handle ROM names differently if there is more than one "dot" (".") in the ROM file name.  Not very common to have an extra ".", but it does happen.  Example: If you had a ROM named Sonic.Hedgehog.bin, here is how the two emulators would name you .pat/cheat file:

Sonic.Hedgehog.pat = How Kega would name the .pat file.

Sonic.pat = How Gens would name the .pat file.

The program will have a checkbox so you can choose which emulator you have so the program can name it correctly.  Still need to do a lot of testing to see if all versions of Gens work that way.

Again, very uncommon to find a ROM name with that extra ".", so you won't run into this very often.

For now, all Game Genie codes will be entered as raw addresses/values, since that is how Kega Fusion does it.  Gens will let you enter either a Game Genie code or a raw code, so it will work either way.

Also, have made the .pat code boxes read-only so the user can't inadvertently change the code which might make the pat file/code unusable with the emulator.  If you need to change a code, just click the Clear button for that code.

Still working on making the pat/cheat file, and letting the user edit existing pat/cheat files.
The Code Hut:

Game Genie codes and ROM hacking guides


List and links to all my projects:
Sub and follow me on youtube:

Tony H

The Code Hut:

Game Genie codes and ROM hacking guides

Tony H

The Code Hut:

Game Genie codes and ROM hacking guides