gamegen 4.0:

(Now you'll know what power you're playing with)

First things first:

gamegen is a program which converts Super Nintendo Game Genie codes to hexadecimal, and vice-versa. And its name is not capitalized.

Why would you want to use such a thing?

It's useful if you want to make new codes, or want to know how your existing ones work. If you find a really nifty neat-o code, you might want to search the areas in memory by the code. Or, armed with the opcodes, you'll be able to make better codes.

How do you use this gamegen thing, anyhow?

Here's an example: Let's say you have the code ADA3-8D9B, and want to search the areas in memory around it. Simply type gamegen ADA3-8D9B and the program will spit back

C0:C6C6E1
This program (C) Copyright 1996-1998 David McGrath
                (pat@NOSHPAMfur.com)
Game Genie is a registered trademark of Lewis Galoob Toys, Inc.
It's that simple! Now, if you want to do it the other way, use something like gamegen C0:C6C6E1 and you'll (with luck) get
ADA3-8D9B
This program (C) Copyright 1996-1998 David McGrath
                (pat@NOSHPAMfur.com)
Game Genie is a registered trademark of Lewis Galoob Toys, Inc.
What? Have more than one code? Simple. gamegen ADA3-8DFB ADA3-8DBB ADA3-8D9B will give you the answers you desire.

Opcodes - programming with 5 bytes!

With a single option, gamegen will show you what the code you entered would do, if it were run by the SNES. gamegen -os ADA3-8D9B gives

C0:C6C6E1:  CPY #xx(xx) -- compare Y to (char) xx(xx)
The o flag tells gamegen to show you the opcodes, and the s flag silences the end banner, useful if you're using gamegen as a filter.

File scanning!

gamegen can scan any textfile, translating any codes it finds, even if there is more than one code on any line. This option may be combined with opcode translation, too. You can even search a binary file byte-for-byte, disassembling it, if you so desire.

gamegen's options

-h
Show help
-v
Show version
-o
Show 65c816 opcodes
-e
end showing of opcodes
-f
scan file for codes
-F
scan binary file, translating bytes into opcodes
-g
following code(s) are forced to be Game Genie
-x
following code(s) are forced to be hexadecimal
--
inhibit scanning rest of command line for codes or flags
-s
suppress endbanner

What computers does the program run on?

There are precompiled executables for Linux, in x86 libc5 ELF format and DOS, in .COM format. The latter has the opcode options compiled in, while the former doesn't, to save space. If you don't have either OS, or have another computer, you're going to have to compile it yourself. Fortunately, the source code is included. And in case you're interested, the program is made available free under the GNU Public License. (But it is mine, so don't go stripping my name from it.)

Where can I get gamegen?

Right here! Remember, if you want to download something in binary, you'll have to tell your browser so. (In Netscape, click on the link with the right mouse button. In lynx, press D when on the link.)

There are two versions, but they're identical but for the way they're archived:

gamegen 4.0 tarred and gzipped
and
gamegen 4.0 zipped

How may I get in touch with the author?

pat@NOSHPAMfur.com -- do the obvious first, though.


Acknowledgements, and copyright info:

Super Nintendo (C) Copyright 1991, Nintendo of America

NES, SNES, Nintendo, Super Nintendo, and Super Nintendo Entertainment System are registered trademarks of Nintendo of America Inc.

Game Genie (C) Copyright 1991, 1992, 1993, Lewis Galoob Toys, Inc.

Game Genie and Galoob are trademarks of Lewis Galoob Toys, Inc.

(DOS isn't trademarked. Nyah-nyah.)

Linux is a trademark owned by Linus Torvalds, and it's a wonderful OS to boot, to boot. It's Un*x-like, includes source, and it's FREE. All praise Linus, the FSF, and everyone else who made Linux either directly or indirectly.

(I'd copyright Un*x, and remove the asterisk, if I was sure who had the dang copyright this week.)

The GG codes used in this page are of my own creation.

The method of translation was snagged from the rec.games.video FAQ, managed (until recently) by Ken Arromdee. (Hi, Jiro! :)