GameBoy Game Genie Programming Guide
Version 2
By Nick Joslin (c)
Joslin1000@aol.com
created 08/13/96


(This file should be viewed with Notepad or edit)




The reason for this file is to show how to program the GameBoy Game
Genie, and to tell you what to do with the Last three digits on it.




First the most important thing to know when programing The Game Boy
Game Genie is how to count in, what is called hex. Have I turned you
off or scared you? I hope not. Counting in Hex is so easy that a 5
Year old could do it. It's that easy.




We all know how to count from 0 to 10. Don't we. If you don't you've
picked up the wrong file. I'm sure you do know how to count from 0 to
10 though. Well counting in hex is just like counting from 0 to 10,
but hex has 6 extra digits. Huh? SIX EXTRA DIGITS!!!!
That must mean that counting from 0 to 10, in hex, is like counting
from 0 to 16, the regular way. The regular way is called decimal.
(An inacurite reason that this is so is because the Aliens that
made the Gameboy Game Genie have 8 fingers on each hand. And rather
then make it easy for us to use, made it easy for themselves to use.)




Just what are the new digits. The new digits are A, B, C, D, E, F.
Yes. The new digits are A to F. They are what you would normaly call
letters. They're not letters now. How do I use the new digits?
Like this:
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10
Yes I just counted from 0 to 10 in Hex. Easy wasn't it. Notice that
I put a leading 0 on each of the numbers. When counting on the Gameboy
you may have to put in one or two leading 0's. Most of the spaces must
have some thing in them. So use a 0.
What? You have a question? How do I count above 10?
Very easy. Very easy.
What normaly comes after 10? Answer 11
I'm sure you can get from 10 to 19. Can you guess what comes after 19?
I'll bet you can. Would it be 1A. Yes it would.
(10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20)
Do you think that you can count to 100 now? I'll bet you can. Just
remember to include the new digits.




Now on to the Programing.




Positions on a GBGG
(1 2)(3 - 4 5)(6) - (7 8) 9






Positions 1 & 2 are used together. They represent a two digit number.
They represent what you are changing, the number in the cartrige to.
This Number ranges from 00 to FF. Remember we're counting in hex.
Your highest number FF Hex=255 Decimal. Your lowest 00 Hex=00 Decimal.




Positions 3, 4, & 5 represent an address in the cartrige.
An address points to what is changed by positions 1 & 2.
You must fill all positions. You can start with 000 and go to FFF.
(000, 001, 002, ... 010, 011, 012, ... 0FF, 100, 101, 102, ... FFF)
Just count in hex.


Position 6 is counted from 8 to F If you put in a lower value the Game
Boy Game Genie will just add 8 to it. So a 0 will become 8, a 1 goes to
9, and so on. Position 6 is Just like an address position.
You can only count from 8 to F with it though. You should consider it
as being in front of Positions 3, 4, & 5. If I were to count in a
straight maner I would start with position 6 with the number 8.
Then I would count with positions 3, 4, & 5. I would go from 000 to FFF.
Then when I got to address FFF(positions 3,4,5),8(position 6), I would
change the FFF to 000 and up position 6 by 1 to 9. I would end up with
0009 for postions 3 thur 6. Not too hard is it.






Positions 7, 8, & 9 are the most complicated.
When Positions 7,8,&9 do not have anything in them any code you make
will change more then one address in the cartrige. I estimate that it
may be a many as 16 address'. The main propose of positions 7, 8, & 9
is to tell your code which of those 16 address' to pick from, and
limit it to just one address. It does that by using positions 7, 8, & 9
to tell the code what the original value of the address is. When the
game genie looks at the address and it isn't the value, chosen by
postions 7, 8, 9 , then it won't change that address. But when the
address has that value, chosen by postions 7, 8, 9, then it will change
the value at that address to the new value you have chosen. (The value
in postions 1 & 2.)




Positions 7 & 8, always have one of 16 sets of numbers.
The sets are:
08 19 2A 3B 4C 5D 6E 7F
80 91 A2 B3 C4 D5 E6 F7
NEVER USE ANY OTHER NUMBERS IN SPACES 7 AND 8.
Those sixteen are it. They will lead you to the right set




x x x-x x x-0 8 x




Space nine you just count up from 0 to F then change 08 to the next
prefix. When you are looking for codes you should just leave positions
7,8,&9 blank.




When you are first looking for codes you should not put any thing in
postions 7,8,9. This will allow the gamegenie to make more changes then
It would if you filled postions 7,8,9. You will then have a better
chance to find a code that does something.




When you have found a code that you like, you may find that the code
has many side effects. These are effects that you don't want to have.
Let us take as an example a code I made for Kirby's Dream Land 2 for
game boy. I started looking for codes at xx0-008 (xx is a number from
00 to FF. I used 40), and I didn't fill postions 7,8,9.
I used a value for postions 1 and 2 of 40. The code now looks like
400-008. I counted three at a time 400-008, 400-018, 400-028. You have
three lines for codes so use them. Sometime you will hit places that
cause a crash. You should try going through those places by sometimes
changing the value of postions 1 & 2. Or by doing just one code at a
time. Its up to you.




When I got the 403-7E8 I had an interesting suprise. Kirby walked
through all his enemys. Here was a code to work with. I then tried
changing the value of postions 1 & 2. I started at 00 and was going to
work my way up, but that change made Kirby Invicible. Wow!!! What a
great code, But unfortunatly the code has side effects.
Some of the side effects caused the complete loss of all saved games.
If only I could find the numbers for spaces 7 to 9. This would limit
the effects to just one effect. The effect of inviciblity.
Only one set of three numbers in postions 7,8,9 will let the code work
right.
Here is how you can do it.
All of the codes that galoub makes have one of 16 sets of numbers in
postions 7 and 8.
The sets are:
08 19 2A 3B 4C 5D 6E 7F
80 91 A2 B3 C4 D5 E6 F7
NEVER USE ANY OTHER NUMBERS IN SPACES 7 AND 8.
Those sixteen are it. They will lead you to the right set
_ _ _-_ _ _-_ _ _
x x x x x x 0 8 x
Space nine you just count up 0 to F then when your changing F to 0, in
postion 9, change postions 7 and 8 to the next prefix.
There are 256 possible combinations.
You should just put one code in three times, but with the last three
digits counting up.
003-7E8-080
003-7E8-081
003-7E8-082
Each of those codes affect a different address in the cartrige and do
not interfere with each other. When you hit the right code it will
work. You should can then try each of the codes one at a time.
Start from the first of the three codes and find out which one it was.
You now have a correct code.




On Kirby's dream land 2 the code went from 003-7E8 to 003-7E8-B3A.
(Invincible code Kirby turns gray)
Without the correct numbers in postions 7,8,9 the code has many
problems.
Here is a list of the problems that go away when you have the correct
values in postions 7,8,9.
1: You had to turn off the code to pick up any animal friend.
2: On level 5-2 if you go through the second door of the level the game
crashes and can delete all saved games.
3: on level 6-2 some enemes disapair.
4: on level 6-3 second part the layout of the room is messed up so you
can't get though.
The correct last three digits does away with all those problems.




Code for Kirby's dream land 2 003-7E8-B3A Invincible and Kirby
turns gray
created by Nick Joslin
Joslin1000@aol.com
on 04/18/96






The table that follows has the Hex value and the value for postions
7, 8, & 9. If you know the original value of the code you can use this
table to just look for address' that have that value.




Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
00 E6A 0 | 01 E6E 1
02 E62 2 | 03 E66 3
04 F7A 4 | 05 F7E 5
06 F72 6 | 07 F76 7
08 C4A 8 | 09 C4E 9
0A C42 10 | 0B C46 11
0C D5A 12 | 0D D5E 13
0E D52 14 | 0F D56 15
----------------------------------------------------------------
10 A2A 16 | 11 A2E 17
12 A22 18 | 13 A26 19
14 B3A 20 | 15 B3E 21
16 B32 22 | 17 B36 23
18 80A 24 | 19 80E 25
1A 802 26 | 1B 806 27
1C 91A 28 | 1D 91E 29
1E 912 30 | 1F 916 31
---------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
20 6EA 32 | 21 6EE 33
22 6E2 34 | 23 6E6 35
24 7FA 36 | 25 7FE 37
26 7F2 38 | 27 7F6 39
28 4CA 40 | 29 4CE 41
2A 4C2 42 | 2B 4C6 43
2C 5DA 44 | 2D 5DE 45
2E 5D2 46 | 2F 5D6 47
----------------------------------------------------------------
30 2AA 48 | 31 2AE 49
32 2A2 50 | 33 2A6 51
34 3BA 52 | 35 3BE 53
36 3B2 54 | 37 3B6 55
38 08A 56 | 39 08E 57
3A 082 58 | 3B 086 59
3C 19A 60 | 3D 19E 61
3E 192 62 | 3F 196 63
----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
40 E6B 64 | 41 E6F 65
42 E63 66 | 43 E67 67
44 F7B 68 | 45 F7F 69
46 F73 70 | 47 F77 71
48 C4B 72 | 49 C4F 73
4A C43 74 | 4B C47 75
4C D58 76 | 4D D5F 77
4E D53 78 | 4F D57 79
----------------------------------------------------------------
50 A2B 80 | 51 A2F 81
52 A23 82 | 53 A27 83
54 B3B 84 | 55 B3F 85
56 B33 86 | 57 B37 87
58 80B 88 | 59 80F 89
5A 803 90 | 5B 807 91
5C 91B 92 | 5D 91F 93
5E 913 94 | 5F 927 95
----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
60 6EB 96 | 61 6EF 97
62 6E3 98 | 63 6E7 99
64 7FB 100 | 65 7FF 101
66 7F3 102 | 67 7F7 103
68 4CB 104 | 69 4CF 105
6A 4C3 106 | 6B 4C7 107
6C 5DB 108 | 6D 5DF 109
6E 5D3 110 | 6F 5D7 111
----------------------------------------------------------------
70 2AB 112 | 71 2AF 113
72 2A3 114 | 73 2A7 115
74 3BB 116 | 75 3BF 117
76 3B3 118 | 77 3B7 119
78 08B 120 | 79 08F 121
7A 083 122 | 7B 087 123
7C 19B 124 | 7D 19F 125
7E 193 126 | 7F 197 127
----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
80 E68 128 | 81 E6C 129
82 E60 130 | 83 E64 131
84 F78 132 | 85 F7C 133
86 F70 134 | 87 F74 135
88 C48 136 | 89 C4C 137
8A C40 138 | 8B C44 139
8C D58 140 | 8D D5C 141
8E D50 142 | 8F D54 143
-----------------------------------------------------------------
90 A28 144 | 91 A2C 145
92 A20 146 | 93 A24 147
94 B38 148 | 95 B3C 149
96 B30 150 | 97 B34 151
98 808 152 | 99 80C 153
9A 800 154 | 9B 804 155
9C 918 156 | 9D 91C 157
9E 910 158 | 9F 914 159
-----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
A0 6E8 160 | A1 6EC 161
A2 6E0 162 | A3 6E4 163
A4 7F8 164 | A5 7FC 165
A6 7F0 166 | A7 7F4 167
A8 4C8 168 | A9 4CC 169
AA 4C0 170 | AB 4C4 171
AC 5D8 172 | AD 5DC 173
AE 5D0 174 | AF 5D4 175
-----------------------------------------------------------------
B0 2A8 176 | B1 2AC 177
B2 2A0 178 | B3 2A4 179
B4 3B8 180 | B5 3BC 181
B6 3B0 182 | B7 3B4 183
B8 088 184 | B9 08C 185
BA 080 186 | BB 084 187
BC 198 188 | BD 19C 189
BE 190 190 | BF 194 191
-----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
C0 E69 192 | C1 E6D 193
C2 E61 194 | C3 E65 195
C4 F79 196 | C5 F7D 197
C6 F71 198 | C7 F75 199
C8 C49 200 | C9 C4D 201
CA C41 202 | CB C45 203
CC D59 204 | CD D5D 205
CE D51 206 | CF D55 207
-----------------------------------------------------------------
D0 A29 208 | D1 A2D 209
D2 A21 210 | D3 A25 211
D4 B39 212 | D5 B3D 213
D6 B31 214 | D7 B35 215
D8 809 216 | D9 80D 217
DA 801 218 | DB 805 219
DC 919 220 | DD 91D 221
DE 911 222 | DF 915 223
-----------------------------------------------------------------
Postion Decmial Postion Decmial
Hex value 7,8,&9 value | Hex value 7,8,&9 value
E0 6E9 224 | E1 6ED 225
E2 6E1 226 | E3 6E5 227
E4 7F9 228 | E5 7FD 229
E6 7F1 230 | E7 7F5 231
E8 4C9 232 | E9 4CD 233
EA 4C1 234 | EB 4C5 235
EC 5D9 236 | ED 5DD 237
EE 5D1 238 | EF 5D5 239
-----------------------------------------------------------------
F0 2A9 240 | F1 2AD 241
F2 2A1 242 | F3 2A5 243
F4 3B9 244 | F5 3BD 245
F6 3B1 246 | F7 3B5 247
F8 089 248 | F9 08D 249
FA 081 250 | FB 085 251
FC 199 252 | FD 19D 253
FE 191 254 | FF 195 255