Subject: Guide to altering SNES Game Genie codes!
From: [email-masked] (TheSpook1)
Date: 22 Jan 1995 14:14:16 -0500
Newsgroups: rec.games.video.nintendo

Use a monospaced font to display.

______________________________________________

    /////// /////// ///////
   /       /       /
  /  //// /  //// /  //// The Game Genie Guide
 /     / /     / /     /  SNES Version 1.5
/////// /////// ///////   By Jay McGavren

______________________________________________

********************************************************
GENERAL FORMAT INFO
********************************************************
     The Super NES Game Genie uses codes in this format:

                    DDAA-AAAA

The 3rd through 8th positions (The A's) specify a memory 
address in ROM to be altered. The first 2 positions (the 
D's) specify a number for  that address to be changed to. 
We'll cover that section first. 

********************************************************
DATA SECTION
********************************************************

The data section, the first two positions, specifies a 
number in hexadecimal. The first position is like a tens 
place, and the second like a ones, except that the number 
in each place can range from 0 to 15. Here are the number 
equivalents:
D=0 F=1 4=2 7=3 0=4 9=5 1=6 5=7 6=8 B=9 C=10 8=11 A=12 
2=13 3=14 E=15

     The easiest way to program a new code is to change 
the first 2 positions of an existing code, because the 
right memory address is already found for you and all you 
have to do is change the number. For example, let's say 
you had a code for Street Fighter 2: 
1D62-672A- 60 seconds per battle instead of 99. 
Increasing the 2nd position by 1 would give you the 
following: 
1F62-672A- 61 seconds per battle.
Increasing the first 2 positions to EE (the highest 
possible) would give you the following: 
EE62-672A- 255 seconds per battle- number is glitched.
(A glitch, for those who don't know, is an effect that 
scrambles graphics or sounds.)

Unlike the code book suggests, codes that contain numbers 
in their description are not the only ones you can 
change. Codes affecting weapon power level and many 
others can have their number changed just as easily. This 
code for D-Force:
D8B6-DF6D- Start with cannon power at level 12
can have its number raised 1 to get:
D8B6-DF6D- Start with cannon power at level 13- a wierd 
weapon
This codes causes a few unusual glitches, but the effect 
is cool.

********************************************************
ADDRESS SECTION
********************************************************

Another way is to alter the section of the code that 
affects memory location. The positions that change the 
memory address the least, and are therefore safest to 
change, are positions 4, 6, and 7. We'll start with 
position 7, as that one has the smallest effect.

The character in position 7 fits into one of four 
categories:
D06A F9B2 41C3 75CE
You can change position 7 to any other character in its 
category. Let's say you had this code for Super Mario 
World:
CBED-6DDF: Keep powerups when hit
Notice that position 7 is a "D". That puts it in the 
first category. You can change it to any character in 
that first category, so the next 3 codes would be:
CBED-6D0F CBED-6D6F CBED-6DAF
Test them and see what they do. Of course, 3 more codes 
based on the first aren't much, so now let's move on to 
position 6, which will let us set an even higher address.

The character in position 6 also fits into one of four 
categories:
DF47 0915 6BC8 A23E
Let's take that same code for Super Mario World. We've 
already reached CBED-6DAF and can go no higher with 
position 7, right? So change position 7 back to a "D" and 
raise position 6 up one.
CBED-6FDF
It's just like our number system, where when you've gone 
through 15, 16, 17, 18, and 19, to reach the next higher 
number you change the ones place back to a 0 and raise 
the tens place up from 1 to 2 to get 20. Once you've 
reached the highest possible number in position 7, you 
change it back to the lowest and raise position 6 up one. 
So here are the next few addresses for this code:
CBED-6FDF CBED-6F0F CBED-6F6F CBED-6FAF
CBED-64DF CBED-640F CBED-646F CBED-64AF
CBED-67DF CBED-670F CBED-676F CBED-67AF
Once again, we've hit a wall. We can raise position 6 no 
higher. So now we move on to position 4.

Position 4 is the easiest to change. It doesn't fall into 
any categories, so you can use any character. The 
characters go in the same order as for the data section:
DF4709156BC8A23E
So once we've hit CBED-67AF, we need to move on to the 
next higher address. With our number system, once we've 
gone through 297, 298, and 299, we lower both the tens 
and ones places back to the lowest possible character, 
"0", and raise the hundreds place up one to get 300. We 
do likewise with our code, lowering positions 6 and 7 
back to the lowest possible characters, "D" in this case, 
and raise position 4 up one. So here's the next code 
after CBED-67AF:
CBEF-6DDF
We can then start raising positions 6 and 7 all over 
again, and raise position 4 up another one when both 6 
and 7 are at the highest possible.

Here are all the possible alterations using positions 4, 
6, and 7 to this code with memory addresses going from 
lowest to highest:
CBED6DDF CBED6D0F CBED6D6F CBED6DAF CBED6DDF CBED6D0F CBED6D6F 
CBED6DAF CBED6FDF CBED6F0F CBED6F6F CBED6FAF CBED64DF CBED640F 
CBED646F CBED64AF CBEF64DF CBEF640F CBEF646F CBEF64AF CBEF6DDF 
CBEF6D0F CBEF6D6F CBEF6DAF CBEF6FDF CBEF6F0F CBEF6F6F CBEF6FAF 
CBEF64DF CBEF640F CBEF646F CBEF64AF CBE464DF CBE4640F CBE4646F 
CBE464AF CBE46DDF CBE46D0F CBE46D6F CBE46DAF CBE46FDF CBE46F0F 
CBE46F6F CBE46FAF CBE464DF CBE4640F CBE4646F CBE464AF CBE764DF 
CBE7640F CBE7646F CBE764AF CBE76DDF CBE76D0F CBE76D6F CBE76DAF 
CBE76FDF CBE76F0F CBE76F6F CBE76FAF CBE764DF CBE7640F CBE7646F 
CBE764AF CBE064DF CBE0640F CBE0646F CBE064AF CBE06DDF CBE06D0F 
CBE06D6F CBE06DAF CBE06FDF CBE06F0F CBE06F6F CBE06FAF CBE064DF 
CBE0640F CBE0646F CBE064AF CBE964DF CBE9640F CBE9646F CBE964AF 
CBE96DDF CBE96D0F CBE96D6F CBE96DAF CBE96FDF CBE96F0F CBE96F6F 
CBE96FAF CBE964DF CBE9640F CBE9646F CBE964AF CBE164DF CBE1640F 
CBE1646F CBE164AF CBE16DDF CBE16D0F CBE16D6F CBE16DAF CBE16FDF 
CBE16F0F CBE16F6F CBE16FAF CBE164DF CBE1640F CBE1646F CBE164AF 
CBE564DF CBE5640F CBE5646F CBE564AF CBE56DDF CBE56D0F CBE56D6F 
CBE56DAF CBE56FDF CBE56F0F CBE56F6F CBE56FAF CBE564DF CBE5640F 
CBE5646F CBE564AF CBE664DF CBE6640F CBE6646F CBE664AF CBE66DDF 
CBE66D0F CBE66D6F CBE66DAF CBE66FDF CBE66F0F CBE66F6F CBE66FAF 
CBE664DF CBE6640F CBE6646F CBE664AF CBEB64DF CBEB640F CBEB646F 
CBEB64AF CBEB6DDF CBEB6D0F CBEB6D6F CBEB6DAF CBEB6FDF CBEB6F0F 
CBEB6F6F CBEB6FAF CBEB64DF CBEB640F CBEB646F CBEB64AF CBEC64DF 
CBEC640F CBEC646F CBEC64AF CBEC6DDF CBEC6D0F CBEC6D6F CBEC6DAF 
CBEC6FDF CBEC6F0F CBEC6F6F CBEC6FAF CBEC64DF CBEC640F CBEC646F 
CBEC64AF CBE864DF CBE8640F CBE8646F CBE864AF CBE86DDF CBE86D0F 
CBE86D6F CBE86DAF CBE86FDF CBE86F0F CBE86F6F CBE86FAF CBE864DF 
CBE8640F CBE8646F CBE864AF CBEA64DF CBEA640F CBEA646F CBEA64AF 
CBEA6DDF CBEA6D0F CBEA6D6F CBEA6DAF CBEA6FDF CBEA6F0F CBEA6F6F 
CBEA6FAF CBEA64DF CBEA640F CBEA646F CBEA64AF CBE264DF CBE2640F 
CBE2646F CBE264AF CBE26DDF CBE26D0F CBE26D6F CBE26DAF CBE26FDF 
CBE26F0F CBE26F6F CBE26FAF CBE264DF CBE2640F CBE2646F CBE264AF 
CBE364DF CBE3640F CBE3646F CBE364AF CBE36DDF CBE36D0F CBE36D6F 
CBE36DAF CBE36FDF CBE36F0F CBE36F6F CBE36FAF CBE364DF CBE3640F 
CBE3646F CBE364AF CBEE64DF CBEE640F CBEE646F CBEE64AF CBEE6DDF 
CBEE6D0F CBEE6D6F CBEE6DAF CBEE6FDF CBEE6F0F CBEE6F6F CBEE6FAF 
CBEE64DF CBEE640F CBEE646F CBEE64AF CBEE67DF CBEE670F CBEE676F

The truly intrepid programmer may wish to venture still 
further. Once you've reached E in position 4 you can 
change position 5 to the next character in its group 
(the same groups as position 7):
D06A F9B2 41C3 75CE
You should of course reset positions 4, 6, and 7 to their 
lowest values before doing so. The next address after
CBEE-67AF would be CBED-ADDF.

You can then (if you have 30 years to spare) cycle 
through all the possibilities for positions 4, 6, and 7 
again. Once you've gone through all the possibilities 
for position 5 you can (gasp) raise position 8 to the 
next character in its group (the same as position 6):
DF47 0915 6BC8 A23E
As when raising position 5, you need to reset positions 
4, 5, 6, and 7 to their lowest values. The next address 
after CBEE-A7AF would be CBED-DDDF.

And finally, you can raise position 3 (the largest 
increment) to the next character in the scale:
DF4709156BC8A23E
Need I say it? Be sure to reset positions 4, 5, 6, 7, 
and 8. The next address after CBFE-A7A7 would be 
CB4D-DDDD.

********************************************************
PORTING OVER CODES
********************************************************

The final way to create new codes is to "port over" a 
code from another game. That is, you could enter a Super 
Mario World code for Street Fighter II. This is the least 
effective method, and takes a lot more patience, but it 
is the only way to find codes to work off of for a game 
you don't have codes for yet. It is also the best way to 
get effects drastically different from existing codes. 
You will almost never find an invincibility code by 
altering a weapon code.

I hope the Guide has been helpful to you! If you have 
your own effective technique, more info on the code 
format for the SNES or any other Game Genie, or just want 
to heap praises on me for the Guide, E-mail me at 
"[email-masked]". Thanx!