Patch your rom with Game Genie codes
- Author: Tuncay D.
- Source: Github
- License: GPL-3.0 license
A simple command line application to patch game ROMs with Game Genie codes to play them with an emulator. With the optional script a dialog based GUI can be invoked to automate a few steps, creating the patched ROM, a BPS patch file and an additional log file.
I did not write the C program; this is a fork, of a fork. This project is based on Game Genie Good Guy, which is based on Game Genie Guy. GGGG is the short name for "Game Genie Good Guy".
- Game Genie Guy, 2015: The original tool is written by Kyle in BCX-BASIC and is released for Windows.
- Game Genie Good Guy, 2020: Mte90 took the source code and converted it into C language, made it run on Linux and added a GUI written in Python with QT on top of it.
- This, 2024: I forked this new "enhanced" version and removed most (to me) unnecessary stuff from the repository and added my own dialog based GUI.
This project comes with GGGG
, the main standalone command line program
written in C. An additional custom script genie
is provided as well, to
automate a few steps with a graphical dialog system.
- build
GGGG
using a C compiler - install
kdialog
andflips
as a dependency forgenie
- copy
GGGG
andgenie
into a folder that is in the $PATH
git clone "https://github.com/thingsiplay/genie"
cd "genie"
The main application GGGG is written in C and needs must be compiled with a
C compiler. Compile with the command, which will invoke gcc
:
make
On success, an executable file named GGGG
should be available now.
Unfortunately at this stage I am not able to give a full list of required
libraries and programs to build it.
GGGG [CODES] [ROM_TYPE] [INPUT_FILE] [OUTPUT_FILE]
All arguments are required.
CODES
: Game Genie codes to inject into the ROM. Multiple codes can be combined with+
or newline character.ROM_TYPE
: The game system of the input ROM as a number:- 1=Game Boy/Game Gear/Master System,
- 2=Genesis/Mega Drive (no SMD roms),
- 3=NES,
- 4=Super Nintendo
INPUT_FILE
: Path to the unaltered original game ROM file to patch on.OUTPUT_FILE
: Path to the patched game ROM file to save as.
GGGG "AJDV-4A4L+963B-4JAC" 2 ./rom.md ./rom-new.md
The programs GGGG
, kdialog
and flips
need to be in a directory that is in
the $PATH.
genie [INPUT_FILE]
Argument is optional. Without INPUT_FILE
the script will ask to select a
file.
INPUT_FILE
: Path to the unaltered game ROM file or a directory. If this is a directory, then script will ask to select a file in that specified folder.
The other parameters are determined by follow up graphical dialogs. Output file names and formats are determined automatically, based on user input and original file name. The script will also create a little log file as well.
I noticed lot of games and codes do not work for some systems; and none for the Super Nintendo. Maybe I broke something. For the Game Boy only those shorter 6 letter codes worked. I'll list a few examples at this place, so you can at least try working codes for yourself.
Genesis / Mega Drive Batman Returns (World)
Play The Demo Level!
GFJA-AAJW
Fly With Button A
ZASLPKIO
EASLLGLA
ALSLGGEI
Game Boy Super Mario Land (World) (Rev 1)
Enemies fall from the sky / Some enemies are more elevated:
024-B4D
- Game Genie Guy (Original tool)
- Game Genie Good Guy / Source (The port and updated version of original tool)
- Flips / Source (To create or apply patch files)
- GameHacking (I recommend filter option device "Game Genie" and "Encrypted" enabled)
- GameGenie (you need to change view to display Game Genie codes)