____ ______ ______ THE ______ ______ ____
/ \ | ___| | | _____ | ___| |_ _| / \
| |__| | |__ | |__| | \ | |__ | | | |__|
\ \ | __| | | | | | | __| | | \ \
_\ \ | | | |__ | / | | | | _\ \
| | | | |___ | | | | | \ | |___ | | | | |
\____/ |______| |______| |___|__\ |______| |__| \____/
Of Professional Cheat Device Hacking
_____ 0001110101001110010110100011
..~` a`~~.. 110100000100001000100000101000001
..~` }100000111000110001110001100011111110
-----` /\/\/\/10100011100110000111001100001110011000
`. \\\ | 00010001001111110010011111100100111111100
; \/\/\100100111001100001110011000011101100010
.` ___/01000111000110001110001100011100110010
; ..~~~~```` 11011000100100100101010100100110101001
.` ..``
; ..``
; .`
.-` .`
.-` ,` "The most elaborate, in-depth hacking guide
/ .. . for Game Cheat Devices, ANYWHERE!"
|.-`` `. \
`.|
[Originally By: Kong K Rool* and Macrox]
with additions by [Tolos, DGenerateKane, HyperHacker]
-----------------------------------------------
Table Of Contents
-----------------------------------------------
i .................. This Version
ii ................. What's New
iii ................ Coming Soon
iv ................. Dedication
v ................. Preface
1 .................. Introduction
2 .................. Hacking Basics - Theory
a ................. Know The Code
b ................. Systems Of Counting Or Number Base
I ................ Offsets
II ............... Decimal
III .............. Binary
IV ............... Hexadecimal
V ................ Octal
VI ............... ASCII
c ................. About Most GameShark Hackers
3 .................. How-to Guide - Practical
a ................. What do I need?
b ................. What do I need to know?
c ................. Learn Your ?Shark? - Code Types, Buttons and all.
d ................. The Hacking Begins
I ................ One Small Step For Man...
II ............... The Methods
IIa ............. Using Game Trainers
IIb ............. Hacking With GameShark Pro - Step by step
III.............. Link to online Code Porter
IV............... GameBoy 3.0 Hacking - by Curly9od
V ............... Hacking GameBoy Advance Enable Codes
4 .................. GameShark / GameShark Pro FAQ
5 .................. Acknowledgments
6 .................. Legal
-----------------------------------------------
i) This Version
-----------------------------------------------
Version Number: 4.00a
Release Date: 5-20-2002
Edited by Tolos
* = aka Parasyte
-----------------------------------------------
ii) What's New
-----------------------------------------------
5-20-02: Tolos assigned new acting editor by macrox.
Added sections: Hacking GameBoy Advance enabler codes, and GameBoy
Advance code types. Added a tidbit on hacking debug codes. Added a
section on hacking GameBoy Advance codes.
11-27-01: Interact Accessories affiliation in legal section removed.
Reference to Gameshark removed from work title. The reader is to
Infer the term gameshark, codebreaker and xplorer to mean cheat
device where it occurs in this work. See legal section for proper
credit.
4-21-01: Revised section on N64 and XP code types. DC code types and
buttons. Comparison of GameBoy hacking devices and reflashing a GameBoy Shark. More on hacking enabler codes and forcing high and low mode resolution in games. DC code types: CodeBreaker,
Xplorer and Gameshark. How to Hack Speed modifiers. Update on Keycodes list and revised FAQ section.
11-11-00: FAQ section updated to include info on
reflashing a corrupted GameShark and info on Pelican's
new hack device for Game Boy called Code Breaker.
Game Boy hacking info courtesy of Curly9od added.
5-6-00: How to hack specific codes section appended.
Using the memory editor has been appended.
How to install the pc hacking utilities, hooking the
GameShark to a PC and upgrading (flashing)
the GameShark Rom added. How to hack enabler
codes and walk through walls code. Link to
online code porter (when text viewed online).
7-22-99: New chapter added - Chapter 4 - GameShark / GameShark Pro FAQ.
New "How-to" added, for the Big Time Hackers.
Decimal/Hexadecimal conversion formula added.
"This Version", "What's New" and "Coming Soon" sections added.
Many new code type prefixes added.
-----------------------------------------------
iii) Coming Soon
-----------------------------------------------
Hacking Game Boy Advanced codes.
Hacking Dreamcast codes - 32 bit code hacking
Hacking Gameshark codes for Playstation 2
Hacking GameShark codes for PC games
TBA - To be announced topics.
-----------------------------------------------
iv) Dedication - by Kong K. Rool
-----------------------------------------------
This document, in all its entirety is dedicated to my dad. A very
brilliant man in the computer/science fields. He passed away July 9th of
1999 at the age of 36. May he rest in peace.
Kong K. Rool (aka Parasyte)
-----------------------------------------------
v) Preface
-----------------------------------------------
First off I want to say, Macrox has semi-retired from the hacking scene. That left no one to tend this marvelous document. Then Interact suddenly stopped hosting GSCentral when they learned that their GameBoy Advance encryption code had been cracked, and the people at GSCentral were creating codes that worked with the GameBoy Advance GameShark. After GSCentral came back, we learned we could not use the word GameShark (TM), or have the Hacking Text displayed.
So I volunteered to host this document. I hope I can do a good job; as well as Macrox and Parasyte: that is my aim. I also want to thank HyperHacker, DgenerateKane, and macrox for helping me along.
Happy hacking,
Tolos
P.S. The Hacking Text will has been re-instated on GSCentral. A mirror copy of this document will be kept on Tolos? web sites. These only the only officially endorsed sites by macrox on the most up to date versions of the text.
macrox 5-30-2002
-----------------------------------------------
Introduction
-----------------------------------------------
Welcome to the GameShark World. In this document, you will learn several
different ways to hack your own codes. These methods range in degree of
difficulty from easy to difficult and yield various results. As you read
you are encouraged to practice the methods that are described in this
document. This way, you will learn by your activities.
There is more than one way to hack codes. This ranges from guessing, to
a secret hacking system, which not everyone will understand. Again, as you
read, try the ideas mentioned. It has been proven that people learn easier
and faster when they are active in a project.
It is the authors wish that the material presented here meets the
anticipated needs of the reader's wishes to learn to hack GameShark codes.
You might even come up with another variation of these methods to hack
codes. If you do, let us know and we will consider including it in future
versions of this document.
-----------------------------------------------
2) Hacking Basics
-----------------------------------------------
a) Know the Code
I) Offsets
Offsets(or RAM addresses) are typically found by examination of the game
memory by using advanced hacking equipment such as a GS Pro, Shark Link or
hex viewer on a ROM. Basically, an offset is a "memory holder" in which
it(usually) holds a byte of memory(a two digit hexadecimal code).
If you find an offset that holds the health digits when using a ROM and
hex viewer, you can be certain that it isn't the GS code(if you find the
health at offset "012203" the GS code usually won't be "80012203 FFFF".)
There is less than a 1% chance of finding an offset and it actually being
the code. The reason the offset and the offset digits in a GS code are not
the same is this - There are MANY, MANY offsets which are used to tell the
platform what type of game it is(size, language, title, checksum values,
etc.), and other operation codes which will assign all the offsets to do
what they are meant to do. There are offsets that hold the hex values that
make up the pictures you see in the game, the coordination's of the character
you control, mathematical operations... The list goes on and on... The
header(tells the machine what type of game you're are booting) might take up
all offsets past "012203" itself!
There is a block of info that tells where the quantifier-offsets(the
byte of memory which you change through GS codes begin and which are usually things
such as number of an item you have or level of health you have). This block is
called RAM(Random Access Memory), which does exactly what it says. RAM is
memory that will be changed all throughout its processing. Score and health
are good examples of RAM, the values for both will be changed while you're
game is running. So think of GameShark as a RAM Editor.
More information about offsets is beyond the scope of this document and
will not be included in future editions of this text.
b) Systems of counting or number base
II) Decimal
Decimal Notation, based on ten digits, is something you already know.
Count to 50 like you normally count. You can count using decimal notation.
III) Binary
Binary, or dual counting, is based on two digits. It's really easy to
understand and use. You'll need to know the following -
There are two characters used in binary - 0,1
(Think of it as a switch).
A "1" means the switch is turned ON.
A "0" means the switch is turned OFF.
That's what binary is, a bunch of switches. I won't go into any more
detail about switches now, but will return to this topic later in the
document.
A four-digit string of code written in binary is called a "word".(this
is also the same in hex[1-digit])
Four Binary Digits(bits - 'BInary digiTS') equals 1 digit hex.
Three bits equals 1 digit octal.
Now that you know that, hex and octal should seem easier to learn. In
this document, we will refer to any and all hex values with "-h" and decimal
values with "-d". So value "100" decimal will read like this - "100-d" and
"64-h". How do you convert from bits to hex and back? Look at this chart -
Hex Binary Hex Binary
0 - 0000 8 - 1000
1 - 0001 9 - 1001
2 - 0010 A - 1010
3 - 0011 B - 1011
4 - 0100 C - 1100
5 - 0101 D - 1101
6 - 0110 E - 1110
7 - 0111 F - 1111
If you notice, there are no more 4-digit combinations of "0,1" left. Now
for the conversion part. Look at the 4 bits, each of the numbers have a
value assigned to them. We will call these values, "Bit Values".
Number in Hex 6
Number in Binary 0110
Bit Value 8421
(The Bit Value will ALWAYS be this! So remember it!)
You are going to learn to convert by using multiplication. Math is a
great tool to use when working with the GameShark.
You can represent the binary word by letting "0110"(8421) = "IJKL" and
thus you get "1xL + 2xK + 4xJ + 8xI" = "L+2K+4J+8I"(in algebraic terms). Now
substitute the binary back in, you would get "1x0 + 2x1 + 4x1 + 8x0" =
"0+2+4+0" which adds up to six. Six is what the hex value was in the
beginning.
To convert back to binary, use the formula "L+2K+4J+8K", find the
numbers, which add up to six. In this case, "4 and 2". Remember, "IJKL" = the
bit value. Then substitute the binary back in - "1x0 + 2x1 + 4x1 + 8x0" =
"0110".
Why do that when there's an easier way? Because there is no use in
converting when you don't understand why it is done in that way. You will
learn an easier way soon, in fact, make one up!
Octal conversions are the same as hex-to-bit. Only, octal goes up to
"7". So the bit value looks like this -
Octal 3
Binary 011
Bit value 421
The Bit Value will NEVER change. The bit value is actually the value
assigned for each bit. If you have an 8-bit value, the bit value would look
like this -
(128)(64)(32)(16)(8)(4)(2)(1)
Notice that every time a new bit is added(to the beginning, no doubt),
the last bits' value will double. Further explanation is beyond the scope of
this text.
To convert between hex and decimal, use this formula -
yz = 2-digit value hex
(when) z = "A-hex", A = "10-dec"
(when) z = "B-hex", B = "11-dec"
(when) z = "C-hex", C = "12-dec"
(when) z = "D-hex", D = "13-dec"
(when) z = "E-hex", E = "14-dec"
(when) z = "F-hex", F = "15-dec"
(if) z = #, skip next step
z-hex = z-dec, z-dec = q
(if) y = #, skip next step
y-hex = y-dec, y-dec = r
y*6 = s
yz+s = yz-dec
This looks confusing, I know, but I'll explain it as if I were talk to a
10-year-old child.
First, "yz" represents a 2-digit hex value. Our value will be
"64"(y=6, z=4). When "z" is an "A", A equals "10-d". Understand that so far?
If "z"(in the 'yz' hex value) is a number, skip the next step(4 is a number,
so we skip this next step). Transfer "z" to decimal(look at the "when's").
If "y" is a number, skip the next step(6 is also a number, we skip the next
step). Transfer "y" to decimal(look at the "when's"). Multiply value "y"
by 6, the factor is "s". 6*6 = 36, s=36. Add value yz and value s.
64+36 = 100 64-h = 100-d.
Now let's do it short-hand -
"yz" = C8
C = 12, yz = (12)8
12*6 = 72
(12)8 + 72 = [7]2 -- 72-d
+(12)8 -- C8-h
------
[20]0 -- 200-d
C8 = 200
If this doesn't make sense, I didn't explain it well enough. It is
important to understand how to do the number base conversions before
continuing. If you do not understand, the reader is encouraged to review the
material already presented.
I) Hexadecimal
Hexadecimal is a programming 'language' you must know in order to hack
GameShark codes. So, what is it? Hex is what your GameShark codes are
written in. There are sixteen characters used in a GS code. The characters
are as follows -
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Let's learn to count in hex. If you look above, you'll see how to count
to fifteen in hex. What's sixteen? "10-h" is sixteen. By the way, don't say
"ten," say, "one, zero" for '10-h'. Let's see what you've learned.
What comes after 19?
What comes after 3F?
If you said, "1A" for question #1, that is correct.
If you said, "40" for question #2, you should know how to count in hex!
VI) Octal
Octal is just another way to write binary(like hex), but octal
words are longer than hex words. What you've already read is enough to know
about octal. You do not need to know octal to hack GS codes.
V) ASCII
ASCII is what you are looking at right now. ANYTHING that can be typed
on the keyboard is ASCII. ASCII is useful to know when hacking in my secret
way. It is also useful for using the text editor search option in hacking
devices such as the GameShark PRO. You don't need to know the assignments for
ASCII characters(although you might to know them when hacking text editing
codes).
c) About Most GameShark Hackers
Most hackers use more than one way to hack. Most know programming
languages such as binary/hex/octal, HTML and Perl, scripting languages, R300
Instruction sets, etc. HTML and Perl is included here because many hackers
want to use this language to create a website that has all their codes displayed.
You don't need to learn many of the things other than binary and hexadecimal
to "hack better than the Pros."
Here are some ways you can hack(1 star[*] by the name is easy,
2 is harder, etc.) -
Guessing****
This isn't easy, because you don't always find a code this way.
It's not only troublesome, but risky at some times. Some guessed
codes can corrupt game data and corrupt hacking devices.
Modifying Codes*
One of the easiest things to do. Change a number on an existing
code, you make a new code. (Only works when you have a basis[base
code] to work with.) This technique was and still is widely used.
Looking At The Source[Code]***
Hard, but most effective. Worth a shot. This technique requires the
reader to have a working knowledge of dissembler programs and is
currently beyond the scope of this work.
Using Hacking Equipment* - ***(Code Generators; i.e. GS PRO)
Another way to get codes. It might not be very easy, but it
doesn't take much time. Plus, it's the second most effective way
to hack. Can be used to get easy to hard code types.
Porting**
Porting is taking a code from one version of a game, and making it
work on another version of that same game. This does not always
work. The reason is the same reason that they make more than one
version. Possibly to fix a minor bug. So the offsets will be in a
higher or lower position, or even moved to a totally different
location. You can use the "GS Code Porter"(available at GameShark
Central) to port any code for you. Hence you can make a code
before anyone else gets the chance! See FAQ section.
Combination Hacking* - ***
All you need to do is hack using two or more methods at once, for a
greater chance of finding a code.
(!!!!!There is a slight risk of loosing saved data on your GS
when turning the system on and off while guessing or modifying
codes.
-----------------------------------------------
3) How-to Guide
-----------------------------------------------
a) What do I need?
You need a Game Platform(N64, PSX, Dreamcast, Game Boy, etc.), you need a game to hack, and you need a GameShark,GameShark PRO or GameShark CDX and/or other hacking devices such as the Blaze Xplorer/Xploder or Pelican CodeBreaker. You will also need other things to hack in other ways such as a hex editor and calculator can do hex math or perhaps an emulator that can capture memory dumps or can do game saves all of which can be analyzed later by some hex editor program. A will to learn, basic math skills, patience, endurance, practice and this using this document are the things you need.
b) What do I need to Know?
If you've managed to read everything above, then you know about basis of
everything you'll need to know about hacking. The remainder is learning
to use hacking equipment and the software for it and to master the basics as presented here and then from there to be resolved to try as best you can to hack the harder code types.
c) Learn Your ?Shark? and code types
There are a few things you'll need to know about your GameShark before
we begin hacking. You'll discover how the GameShark codes work.
This is the layout of all N64/PSX 'Shark codes -
XXYYYYYY ZZZZ
This is the layout of all GB 'Shark codes -
XXZZYY-YY This format is called endian. Most Memory ram dumps are in this format. The GB Gameshark rewrites the code to reversed endian format as XXZZYYY. The Pelican CodeBreaker uses unencrypted endian format. The Xploder uses both encrypted and decoded reverse endian formats.
"X" digits is the 'prefix', used to tell the GS what kind of code
you are using.
"Y" digits are the 'Offset Digits', used to locate the offset digits
you want to change.
"Z" digits are the 'Quantity Digits', used to change the quantity of
the chosen offset.
The reason there is a hyphen between the Y's in the GB code layout is
because the Y's are actually set up backwards. The first two Y's should be
behind the second two. Of course, you only need to know this if you are
going to use my hacking method... You ARE going to try it, right?
N64 CODE TYPES
80 - Default, used for "regular or continuously on" 8-bit codes.
81 - Used for 16-bit codes initializing all four quantity digits,
otherwise identical to code type 80.
88 - Default GS Button, Used to activate the code by the GSB.
89 - Same as above, only the code will be activated by GSB(so, you
have a 16-bit code when the GSB is pressed).
CC ? Enabler code. Disables expansion pack if present.
D0 - "8-bit Equal To Activator", When the given address reaches
the supplied value, activate the following code.
D1 - GSPro 3.0+ ONLY, "16-bit Equal To Activator". Same as above,
only the address needs all four digits to be equal to the supplied
value.
D2 ? 8 Bit different to activator. When the given address is
different to the value on this code, activate the
following code (NOT compatible with the Xplorer 64).
D3 ? GS pro 3.x only. 16 but different to activator. When the given
address is different to the value on this code, activate the following code. Not
compatible with the Xplorer 64.
DD - Enabler code. Disables expansion pack if present
DE - GS 1.08+ ONLY, Tells the GameShark where the value "3C0880" is
in the RAM. This type of code does not write a value to the
given address. Enabler Code.
F0 - Tells the GameShark what address is causing malfunction with it,
and writes the supplied value to that address. This is in 8-bit
mode. Enabler code. Compatible with the XP 64
F1 - Same as above, only this is 16-bit mode. Enabler Code.
EE - Enabler code. Used in GS 2.2+ e.g., Legend of Zelda OoT. Disables
expansion pack if present.
FF - Enabler code. Used in GS 3.3+ only, e.g., Donkey Kong 64.
One line enabler that replaces multi line enabler of 3.2 GS. Sets
the address in memory where it stores the codes that are
currently on.
2A and 3C ? Used by the Xplorer for Enabler, M code (must be on).
50 - GSPro 3.0+ ONLY, Patch Code, to make a code string shorter. EG,
You have five codes put together to give you "all weapons." Use
the patch to shorten it to two codes. This is how it works -
50000A02 0000 +
80844CF0 FF5F EXAMPLE ONLY! NOT A REAL CODE!
The first code is the patch, the second is the first code of the
expanded STRING(a string is where the offsets will go up only a few
digits for each code, EG. 100000, 100002, 100004, etc). The patch
does not use an address, yet it is an instruction for the
GameShark. The seventh and eighth digit in the patch tells how many
numbers the second code will raise to get to the next code in the
string. In this case, "2" is used, meaning the next code in the
string must be "80844CF2 FF5F." Then the next code would also go up
by two. So would the next one, and so on. The fifth and sixth
digits of the patch are the digits that tell the GameShark how many
codes are in the string. "0A" is used in the example, so ten codes
are being used at once with only two codes! Also note, the codes
within the string MUST have the same quantity digits!!!! It's
possible to have as many as 255 codes used at once using this
format. Maybe even more in the future. You can also change the
quantity digits in the patch to make the values of each code in the
string raise by a certain value.
This is what the above code would look like with out a patch -
80844CF0 FF5F
80844CF2 FF5F
80844CF4 FF5F
80844CF6 FF5F
80844CF8 FF5F EXAMPLE ONLY! NOT A REAL CODE!
80844CFA FF5F
80844CFC FF5F
80844CFE FF5F
80844D00 FF5F
80844D02 FF5F
Which would you want to use?
Okay now to put a new twist on the Patch Codes. I'll use the materia
modifier for Final Fantasy 7 as an example.
slot 1: 3009CE60 FFxx
slot 2: 3009CE64 FFxx
There are 200 slots but there are only 90 different types materia so
to get them all that's how many codes you'll need. the quantity
digits for those range from 00-5A and 5A equals 90 in decimal. The
codes go up by 4 so we have:
50005A04 0000 +
3009CE60 FFxx
Is that the code to give you all the materia? NO! That code will
give you the same materia in 90 different slots. To get all the
materia we need to make the XX go up by one with each code. We do
that the same way we make the first half of the code.
So here it is:
50005A04 0001 +
3009CE60 FF00
We just did the same thing with the last four digits as we did for
the rest of the code. So which is better 2 codes or 90?
PLAYSTATION CODE TYPES
80 - Default, used for "regular" 16-bit codes.
30 - Used for 8-bit codes that only use the last two quantity digits.
D0 - "16-bit Equal To Activator", When the value for the given
address is equal to the supplied value, activate the following
code.
D1 - "16-bit Different To Activator", When the value for the given
address is different to the supplied value, activate the following
code.
D2 - "16-bit Less Than Activator", When the value for the given
address is less than the supplied value, activate the following
code.
D3 - "16-bit Greater Than Activator", When the value for the given
address is greater than the supplied value, activate the following
code.
E0 - "8-bit Equal To Activator", When the value for the given
address is equal to the supplied value, activate the following
code.
E1 - "8-bit Different To Activator", When the value for the given
address is different to the supplied value, activate the following
code.
E2 - "8-bit Less Than Activator", When the value for the given
address is less than the supplied value, activate the following
code.
E3 - "8-bit Greater Than Activator", When the value for the given
address is greater than the supplied value, activate the following
code.
10 - Add value(16-bit) code. Use with D/E activators. Example -
(adds value "1007" to address "001221" when address "110012"
equals value "5") -
D0110012 0005 +
10001221 1007
11 - Subtract value(16-bit) code. Use only with D/E activators.
Example -
(subtracts value "102" from address "001221" when address "110012"
equals value "6") -
D0110012 0006 +
11001221 0102
20 - Add value(8-bit) code. Use with D/E activators. Example -
(adds value "7" to address "001221" when address "110012" equals
value "5") -
D0110012 0005 +
20001221 0007
21 - Subtract value(8-bit) code. Use only with D/E activators.
Example -
(subtracts value "2" from address "001221" when address "110012"
equals value "6") -
D0110012 0006 +
21001221 0002
10 - Used in some Saturn codes, This topic is not currently included
in this version of the text. The author welcomes any information
that may be included in future issues of this text.
Xplorer/Xploder Code Types ? Courtesy of Hackman.
XPLORER CODE STRUCTURE
1.�� 3-Code 7.� 9-Code (Do-if-False)
2.�� 8-Code 8.� B-Code (Slide Code)
3.�� 4-Code (Slow Motion) 9.� C-Code
4.�� 5-Code (Supercode) 10.� D-Code
5.�� 6-Code (Modcode) 11.� F-Code (Auto Activation)
6.�� 7-Code (Do-if-True) 12.� Joker Command
Xplorer Code Structure
It seems rather amazing that an Xplorer code, a mere sequence of 12 numbers, accomplishes such stunning results as invulnerability. On the following pages we will describe these ?mysterious? codes in detail -- specifically their structures, types, and functions. This knowledge is not necessary if you only want to occasionally hack a simple cheat. However, in order to rise to the class of the professional hacker in all around abilities this section can not be avoided. It should also be noted here that all codes are described using HEX values and all mathematical computations are done using the base HEX.
The Xplorer code usually consists of the following parts:
CSAAAAAA DDDD
C = Code identification or Control Code which tells the Xplorer, what follows next (left half of the first byte or 1 number).
S = Status of the code (right half of the first byte or 1 number).
A = Storage Address in the PlayStation RAM with a range from 000000 to 01FFFF, (3 bytes or 6 numbers).
D = Data, these values are written to the given address A, (2 bytes -word- or 4 numbers).
Note: For the sake of clarity, a blank character often is inserted after each fourth number in the code. If you enter a code in the Xplorer, omit this blank character. Thus - way of writing: 8009 1234 5600; way of entering: 80091234 5600.
We will explain the types of codes (C) in detail on the following pages.
(Comment: This section assumes that you are activating ALL codes by selecting the name of the game.)
We mark the status thereby by an italic S. (example: 8Sxx xxxx) it can contain only 8 or 0. If it is 8, then you must switch this code on manually, since it is not activated automatically when selecting the codes by Game Name in the Xplorer menu. That makes sense, because with so many variations of game play there are usually codes of the following type:
Infinitely Energy
8001 1234 03E7
On Hit Death
8001 1234 0001
To have both codes switched on is unreasonable since they affect the same address. The PSX CPU must decide whether the player has infinitely energy or can be defeated immediately. If you only want infinite energy to be activated when you select the entire game then the code becomes:
Infinitely Energy
8001 1234 03E7
On Hit Death
8801 1234 0001
Now, when you select the Game Name to ?turn on? all the codes, all will be activated EXCEPT One Hit Death. Additionally, if you have multiple code lines the status value must be entered in the FIRST code line:
Have All Items
B8A6 0002 0001
1007 836C 6401
B021 0002 0001
100784B8 84A7
The above code now must be manually activated even though you may have chosen to activate ALL game codes by selecting the name of the game.
Status Note: The developers of the Xplorers have a method of encrypting codes in such a way that they function with the Xplorer but not with other Cheat Carts. Such codes you can recognize by the status "6" (more recently "4" and "5" also). Encrypted codes are published only by FCD (aka Blaze International in USA.)
�
Xplorer Code Types
3-Code
The 3-Code is the simplest. It describes a memory cell with a fixed amount. The code 3000 0004 0001 writes the byte 01 into the address 000004.
Example:
The code 300D 8A42 0003 keeps the number of the lives constant at 3. If you would rather have 9, then change the value (data) part of the code to 9: 300D 8A42 0009.
Composition
3Sxx xxxx 00yy
where:���� xx xxxx���� address������� yy������������value (byte)
Note: If you should see a 3 or 8 code which possesses the status (S) of 6 (more recently "4" and "5" also), it concerns an encrypted code.
8-Code
Together with the 3-Code is an 8-Code, the basis code, which describes the memory location directly. With the 8-Code two bytes are registered in two addresses. The code 8000 0004 FF01 writes directly into the address 0000 0004 the word value FF01 which has the following result:
Memory Cell New Contents
0000 0004 01
0000 0005 FF
Note: The 8-Code of the PlayStation permits only the access to even storage addresses (technical term: "even alignment"). An attempt to go around this adjustment is not possible and can provoke a crash. Make sure that at the eight place of the memory address you have an even hexadecimal number (0, 2, 4, 6, 8, A, C or E).
With the help of the 8-Codes you can register (decimal) a value between 0 and 65535 into a specific memory cell. Convert the value, 9999, into hexadecimal which results in the HEX value of 270F and corresponds to the right part of the code -- the data (D) part. However, the value would be stored in reversed order as 0F27.
Note: The PlayStation processor stores bytes of larger numbers in reverse order.
An 8-Code has the same effect as two 3-Codes with the two storage locations being directly next to one another. It is sometimes meaningful to split an 8-Code up into two 3-Codes if we want only one part of it to function.
Suppose you have a code 8008 8AEC FF01 with the description "Rifle + 255 cartridges"�� or "Rifle with Unlimited Ammunition". Experienced Coders can see immediately where the values lie that describe each cheat (I.e., FF = Unlimited Ammo and 01 = Rifle). Usually programmers will note in an individual memory cell whether an article is available or not.�� The absence is usually marked by 00, the presence by 01. Each processor understands an instruction of the kind......
if contents of the memory cell x contains 0 , then do this...
Such fragments are used if you change from a pistol to a rifle -- then the program must examine whether you have the rifle at all. The possession variable does not necessarily have to be 01 - you could use 05, 27 or any other number. Usually, however, one takes 01 because it can be associated so nicely with the variables "yes" or "on." This would also correspond with the original language of each microchip?s binary values of 00 and 01.
For manipulating the ammunition or the number of the lives, where not just possession matters but the actual quantity is important, one usually selects a maximum value like 99 or 255 (FF in hexadecimal, the highest value for a byte). Naturally one could use most any number here because the value always remains constant. But, for psychological reasons a large number is recommend.
The code 8008 8AEC FF01 writes into the memory cell 0008 8AEC the value 01 in order to specify the rifle and into the cell 8008 8AED the value FF in order to make 255 cartridges available. Split up into two 3-Codes we have the following:
3008 8AEC 0001
3008 8AED 00FF
Note: In the Memory Editor the code would look like this (note the reversed values):
80088AE0��� 00 00 00 00 00 00 00 00 00 00 00 00 01 FF 00 00
The two 3-Codes have the same effect as the one 8-Code. You can, however, omit the second 3-Code in order to limit the overall effect -- you have received the weapon but must look for the ammunition independently. If you omit the first 3-Code, you must find the rifle only and would not have to concern yourself with getting ammunition. An 8-Code is unsuitable for this choice as the code
8008 8AEC 0001
gives you the rifle without any ammunition.
Examples
1. In the address 0000 0004 an 01 means that you possess the appropriate weapon. In the following address, 0000 0005, the quantity of ammunition for that weapon is stored. You would like to possess the maximum number of bullets, i.e., 255 (FF in hexadecimal). The correct code is then 8000 0004 FF01.
2. In the address 0000 000A the number of possible magic points are stored. Since we want to make this value as large as possible, and only have 4 numbers within which to do so, we take the maximum value of 9999 (0F27 HEX). The correct code is then 8000 000A 270F.
3. From the following two codes:
3001 26AA 0063
3001 26AB 00C7
you would like to make an 8-Code because it is shorter. The result is:
8001 26AA C763
4. The code 8008 8AEC FF01 describes two memory cells. If you want to leave one of the two cells unaffected, split the code in two as follows:
3008 8AEC 0001
3008 8AED 00FF
and then omit one of the two lines.
Composition
8Sxx xxxx yyyy
where:���� xx xxxx���� even storage address
�� yyyy��������value which can be registered (2 bytes - word)
4-Code (Slow Motion Code)
With the help of the 4-Code you slow down the execution of a game. Logically it is called a Slow Motion Code. A meaningful application of this type code is when your opponent is very fast and you cannot react quickly enough. With the Slow Motion Code you can create for yourself a greater chance to win.
The 4-Code is not connected with a certain storage address because the processing of the game was not intended to be slowed down from the start. It is recommended that the activation of the slow motion code be accomplished by depressing a particular JoyPad key. For such codes, which are to apply only during certain time periods, there is the so-called Joker Code or Command. A Code which is activated with such a Joker Command is only effective as long as the selected key or combination of keys is held. We will discuss the Joker Command at a later place in more detail.
Because of the missing storage address a 4-Code is quite naked -- consisting of all zeros. It exclusively contains the delay value which should not exceed 12 (0C). Delays are accomplished internally as the processor runs through a series of millisecond rotations or loops (technical term: to over loop).
Example
You would like for the expiration of play to be slowed down as long as you hold the Select key. You have previously determined that the Joker Command address is D009 1234 0100 (that is usually quite simple). You feel that a suitable delay value is 6. The complete code is then:
D009 1234 0100 (Push the Select Button)
4000 0000 0006
Composition
4S00 0000 000x
Where:���� x���� Number of repetitions or 'loops' (delay value)
5-Code (Supercode)
The 5-Code is that so-called Supercode. It is meaningful if you want to describe several memory cells one behind the other. Some examples are:
- changing a text, a player?s name for example.
- manipulating a whole inventory list.
- changing a diagram, like a texture.
For the Supercode you must make arrangements for three data types:
- the memory cell, starting from which the changes become effective.
- the number of places which can be changed.
- the new entries.
In your preferred combat game your favorite character is named Eddy. However, you would find it more to your liking if he was called Rico. With the text search function of X-link you determine the storage address starting from which the character string "Eddy" is found -- for example 0002 67AA. Determine now the hexadecimal ASCII-Code of the character string "Rico." That can be done most simply through "manipulation" of the memory editor of X-link. Write into the right column (the ASCII Column) the character string "Rico" and then check to the left which HEX values have changed as a result of your changes to the name "Eddy.".
Note: X-Link for DOS generates a 5-Code automatically if it concerns text. Select in the menu option / further options / advanced code generator / string code where you must indicate only the storage address and the text in order from it to provide you with a completed code.
Example
You would like to insert the text string "GBP!" starting from the address 0002 67AA. The correct code is:
G = 71 ASCII DEC = 47 HEX
B = 66 ASCII DEC = 42 HEX
P = 80 ASCII DEC = 50 HEX
!� = 33 ASCII DEC = 21 HEX
5002 67AA 0004
4742 5021 0000
Composition
5Sxx xxxx 0yyy
zzzz zzzz zzzz
zzzz zzzz zzzz
......
Where:���� xx xxxx� Address (in our example 0002 67AA)
���������� yyy������� Number of repetitions (for example 004 or 4 letters)
���������� zzzz zzzz zzzz��� The bytes which can be used (for example GBP!)
Fill up the remaining spaces in the last line with zeros in order to have a ?full? or complete line of code.
6-Code (Modcode)
The 6-Code lets a piece of program code implement on a certain event - for instance when depressing a key or describing a certain memory cell. The code consists of several parts: the kind of event which leads to the temporary abort (BREAK) of normal program processing, the memory cells concerned, and the program code which is to be implemented with the arrival of the event.
The 6-Code is the code most complicated for the inexperienced. A basic requirement is a comprehensive knowledge of the assembly language programming of the processor. Consequently, we present the code only briefly.
A summary of the code is as follows.
Composition
6S?? ???0 YYYY
AAAA AAAA CCCC
FFFF FFFF XXXX
XXXX XXXX XXXX
.......
Where:���� ?����������������������� All the same value.
��������������� YYYY����������Number of bytes which are used.
��������������� AAAAAAAA����� BREAK address (here 001F AB92 and 3).
��������������� FFFF FFFF�����BREAK POINT mask (on 0FFF FFFC set).
��������������� XXXX XXXX��� The bytes which can be used.
��������������� CCCC����������Type of BREAK POINT at the BREAK address:
��������� E180��� The instruction gotten by the processor but is not yet implemented.
��������������� EE80��� The data to be read or written
��������������� E680��� The data to be read.
��������������� EA80��� The data to be written.
��������������� EF80��� The data to be either read, written or implemented (instruction).
Note: X-Link for DOS contains two templates which determines your 6-Codes via the advanced code generator. They must indicate only the necessary addresses and values. The Mod code has the form: "If the address X has the value Y, then add / subtract the value A to / from the address B." After the input of the four values the generator makes a pertinent 6-Code. The slip code changes contents of a memory cell as a function of depressing a specific key.
7-Code (Do-if-True)
This Joker code works with an If-Then relationship: If a specific memory cell contains a certain value, then the Xplorer becomes active and writes into a fixed (same or other) memory cell a fixed value. The 7-Code is identical to the ?D0?-code of the GameBuster.
Example
You would like to receive after collecting a certain weapon the pertinent ammunition. Or in hexadecimal language: If the address 0001 2346 (weapon) contains the value 0001, then the address 0001 8450 (ammunition) is to receive the byte with the value of 63 HEX. As a code that results in the following:
7001 2345 0001
3001 8450 0063 (63 HEX = 99 DEC)
Composition
7Sxx xxxx yyyy Where� xx xxxx��Address (in our example 0001 345)
�������������� yyyy��������Value (in our example 0001)
Observe that always two bytes (word) are queried at one time (yyyy).
Note: The Joker code generator of X-Link for DOS generates a finished 7-Code based on your defaults. Do not confuse the Joker code with the Joker Command which we will present later.
9-Code (Do-if-False)
The 9-Code is the opposite of the 7-Codes. It activates only when the code which follows directly after it does NOT contain the expected value. Or differently, the following code is ignored if the condition is fulfilled.
Example
In address 0001 8430 the number of your cartridges is stored. However, the game always crashes in Level 2 if the code is activated. In all other Levels the code functions as designed. With the following example you query the Level which your on and if you are NOT on the second level then the code for the ammunition is activated:
9011 8AFE 0002
3001 8430 0063
Composition
9Sxx xxxx yyyy
Where:���� xx xxxx���� Address (in our example 0011 8AFE)
��������������� yyyy��������Value (in our example 0002)
Observe that always two bytes (word) are queried at one time (yyyy).
Note: The Joker code generator of X-Link for DOS generates a finished 9-Code based on your defaults.
B-Code (Slide Code)
(A more in-depth discussion can be found in the Advanced Xplorer Code Types FAQ)
The B-code or so-called Slide Code shortens long code lists to a compact instruction. For games in which there is an inventory in existence such as a chest with collected treasures, a whole list of full spells, or a selection of different weapons, the storage location of each item in the inventory list is usually incremented by the same value. The solution to using fewer code lines is the B-code. A code list for All Items might look like this:
8001 1234 0101
8001 1236 0101
8001 1238 0101
8001 123A 0101
8001 123C 0101
8001 123E 0101
8001 1240 0101
8001 1242 0101
8001 1244 0101
This can be shortened with the help of a B-Code by using only two lines. The address in this example is always increased by 2 and the value remains the same in each case.
From our example list above:
B009 0002 0000
1001 1234 0101
Note: The Slide code generator of X-Link for DOS generates a finished B-Code based on your defaults.
The exact function results from the composition:
Composition
B0ww AAAA DDDD
10xx xxxx yyyy
Where:���� ww���� Number of repetitions plus 1 (in the example 8+1)
AAAA���� Size of the address step (in the example 2 = always
even, 2 or greater)
��������������� DDDD���Size of the data step (in the example 0 = always the
same value)
��������������� xx xxxx��� Start address (in the example 0001 1234)
��������������� yyyy��������Initial data (in the example 0101)
Slide codes can be combined with a D-, C-, 7-, or 9-Codes.
C-Code
This If-Then code was only taken up in order to remain compatible with the GameBuster. The appropriate Xplorer code is a 7-Code. The C-Code corresponds to the D-Code. The only difference was that in quite early version of the GameBuster / GameShark the C-Code was responsible for the upper megabyte of the PlayStation. The D-Code functioned only within the address range from 0000 0000 to 000F FFFF while the C-Code only from 0010 0000 to 001F FFFF. Today the C-Code is no longer needed since the D-Code can now be used for this entire memory block. For the sake of completeness, nevertheless, a composition of the code:
Composition
C0xx xxxx yyyy
Where:���� xx xxxx���� Address in the upper megabyte which is to be examined
������������� yyyy���� Value for which one examines
Observe here always two bytes (word) are queried at one time (yyyy).
D-code
An If-Then code identical to the 7-Code: With this code the following line is implemented only if a certain condition is fulfilled -- that condition being a certain value in a certain memory cell. The D-Code is only supported in order to remain compatible to the GameBuster codes. For newly created codes one recommends using a 7-Code in lieu of a D-Code. (Note: for the newer versions of the GameBuster there are other types of D-Codes such as D1, D2, etc. that are not compatible with the Xplorers and will not be presented here.)
Example
If the storage location 0000 0100 contains the value 0000 then write the value FF in 0011 1234 and 0011 1235. The storage location 8011 1236 FF00 is not affected as the D-Code only writes to the storage location of the first line of code directly following it:
D000 0100 0000 (If 8000 0100 contains 0000 then activate the first line of code.)
8011 1234 FFFF
8011 1236 FF00 (This line of code is not written to.)
Composition
D0xx xxxx yyyy
Where:���� xx xxxx��� Address which is to be examined (in the example 0001 1234)
������������� yyyy��������Value for which one examines
Observe that always two bytes (word) are queried at one time (yyyy).
F-Code (Auto Activation)
The F-Code is the equivalent of the Master or Must-Be-On Code of the GameBuster / GameShark. It is called Auto Activation and resembles the D- or 7-Code except that it is automatically selected when any other code is selected in the Select Cheats Menu. Additionally, unlike the D0- and 7-Codes where only the first line of code is activated when the Do-if-True conditions are met, the F-Code will activate ALL lines of Code for the game that have been initially selected in the Select Cheats Menu. One should realize here that NO codes are 'activated' during the game until the conditions of the F-Code are met. As with the 8-Code, two bytes are always queried.
Example
The game crashes because of some specific code conflicts in the Main Menu or during the loading of Introduction Films.� Consequently,� you only want the codes to be active AFTER the game has started. You find out that during the ?Introduction? the address 0011 8AFE does NOT contain the value 612A -- it only contains that value AFTER the game has loaded. Thus we want the codes that we have initially selected to be activated only if the address 0011 8AFE contains the value 612A. If the 612A value is missing then the codes are not activated.
"GAME NAME"
-------codes-------
8007 84EC 00FF <<<<< I.e., Gets activated if originally selected in the Select Cheats Menu.
Auto Activation
F011 8AFE 612A <<<<< Do-if-True code. ALL of the selected code lines, both above and
��������������������������������������� below this code line, are activated if this condition is met. The
��������������������������������������� codes remain inactive till then.
Infinite Gel and All Items
8011 A72C 270F <<<<< I.e., Gets activated if originally selected in the Select Cheats Menu.
8011 AEEC FFFF������������������������������������������������
B0A6 0002 0001���������������������������������������������������
1007 836C 6401���������������������������������������������������
Next Cheat Description
8007 84B8 84A7���������������������������������������������������
-------codes-------
Note: This also works with Joker Commands.
Composition
FSxx xxxx yyyy
Where:���� xx xxxx���� Inquiry address (in our example 0011 8AFE and F)
������������� yyyy�����Inquiry value (in our example 612A)
Joker Command �
(A more in-depth discussion can be found in the GameShark Code Types FAQ)
The Xplorer writes a constant value to a memory cell many times per second. This is called ?constant write? or ?always on.? Sometimes, however, it would be desirable if a code were active only at certain times because:
A Cheat is to be switched on only in an "emergency" -- you would like to play predominantly in an honest fashion.
A Cheat works properly only during the actual game and causes the PlayStation to crash during the Introduction or at the Main Menu.
A Cheat functions only on certain levels.
A Cheat does not function in certain situations.
The solution is the Joker Command. It permits activation of a code temporarily while a certain key or combination of keys of the Controller is held.
Note: Cheats can be also be deactivated temporarily if the Xplorer?s on / off button is switched off or, with the Xplorer FX, by using the In-Game menu to switch the codes off.
In each game there is at least one place in memory (or memory address) where the pressed keys of the JoyPad are shown by a specific value. This address is usually accessed by the use of a D- or 7-Code.
A Joker Command is thus a D- or 7-Code whose address is a storage location for a specific JoyPad button or combination of buttons. Joker Commands can be used with any game and combined with any code type.
You can select from the Table below the pertinent key code. Some games use this value in a reverse format called a Reversed Joker Command. Here only the key value changes. Otherwise the Reversed Joker Command functions exactly like a Normal Joker Command.
Normal Joker Command Digits������ Reversed Joker Command Digits������
VALUE KEY VALUE KEY
0001 L2 0100 L2
0002 R2 0200 R2
0004 L1 0400 L1
0008 R1 0800 R1
0010 Triangle 1000 Triangle
0020 Circle 2000 Circle
0040 X 4000 X
0080 Square 8000 Square
0100 Select 0001 Select
0800 Start 0008 Start
1000 Up Arrow 0010 Up Arrow
2000 Right Arrow 0020 Right Arrow
4000 Down Arrow 0040 Down Arrow
8000 Left Arrow 0080 Left Arrow
In cheat data bases or code sites you will usually find the JoyPad keys that are used in place of ????. I.e., Replace the question marks by a key of your choice. You can combine several keys such that a code is only activated if you press Select + Left Arrow + Triangle by adding the numerical values, in HEX, of the selected keys:
Normal Joker Command�������� Reversed Joker Command
0100 = SELECT������������������������ 0001 = SELECT
0004 = L1���������������������������� 0400 = L1
0010 = Triangle���������������������� 0010 = Triangle
- -
0114 = Select+L1+Triangle��������� 0411 = Select+L1+Triangle
Note: Note that these calculations are accomplished in hexadecimal. That can be done quite easily with a scientific calculator -- if necessary use the one that comes with Windows.
There are also complementary and reverse-complementary versions to these two types of values. In order to make the complementary of a value, you subtract it from FFFF:
- subtract 0100 (Reversed for #L2) from FFFF to get FEFF
- subtract 0200 (Reversed for #R2) from FFFF to get FDFF
- subtract 0300 (Reversed for #L2 + #R2) from FFFF to get FCFF
These are known as Reversed Complementary Joker Commands or R.C.J.C.
Example
You found the following code:
Infinite Energy
8012 3456 00C8
In addition we have found the Normal JoyPad address (This will be discussed later.) and made it a D-Code:
D001 2876 ???? (This is now our Joker Command.)
Further we know that the key Select is not used in the game so nothing "critical" would happened if it was pressed. Now you look in the table and you will see that the value for Select is 0100. Enter the following:
Infinitely Energy
D001 2876 0100
8012 3456 00C8
Start the game with this code selected. First nothing happens with respect to the ?Hero?s? energy -- but as soon as you press Select the energy is refurbished. But only as long as you keep the Select button pressed -- release it, or press any other key, and it no longer functions.
Last Modified:� June 3, 2000 - Hackman
----------------------------------------------------------------------------
Gameboy Code Types-
The most common GS Digit for Game Boy is "01". This means the code resides in the first bank of the address line. Codebreaker users will find that 00 and 01 are equally used code types. The ?simply means the code resides in the zero bank and ?01? as above, the first bank. There are no known other code types for gameboy as there are for N64, Playstation and Dreamcast.
Dreamcast GameShark/Action Replay Code Types
The following are what decrypted or raw code types look like. Xploder and Codebreaker use this format. Game Shark uses an encrypted format for the first line of the code (the address) while all use the second line as is (offset or quantifier). Dreamcast has 32 bit codes. These codes will require 8 digits for the offset and 8 digits for the quantifier, 2^32= FFFFFFFF in hex. Example, XXYYYYYY ZZZZZZZZ. Note: It is not unusual for manufacturers of cheating devices to encrypt their codes. Fire International (Blaze USA) has encrypted codes in both its N64 and Game Boy Xploder/Xplorer, while Interact has employed encryption in its DC Shark. If the code begins with a '0', then it is in decrypted format. As in any encryption there always is a crack to defeat it. Codebreaker and Xploder both have the built in ability to accept DC gameshark codes in decipher them. It is left to the reader to explore the decryption further.
DC code types:
Code Value
Description
00xxxxxx
000000vv
Write 8bit (byte) value ?vv? to memory address 8cxxxxxx. That is, 8 bit constant write.
01xxxxxx
0000vvvv
Write 16bit (2byte) value "vvvv" to memory address 8cxxxxxx. That is, 16 bit constant write.
02xxxxxx
vvvvvvvv
Write 32bit (4byte) value "vvvvvvvv" to memory address 8cxxxxxx. That is, 32 bit constant write.
0300nnnn
aaaaaaaa
Group write code. nn specifies how many 32 bit values follow. aaaaaaaa is the addrsss to write to. The values following this code are written to address aaaaaaaa. E.g:
03000004
8c012000
11111111
22222222
33333333
44444444
The effect is as follows: With a count of 00000004 codes, to address 8c012000:
8c012000 = 11111111
8c012004 = 22222222
8c012008 = 33333333
8c01200c = 44444444
030100vv
aaaaaaaa
Increment code. Add the 8bit value vv to the value at address aaaaaaaa
030200vv
aaaaaaaa
Decrement code. Subtract the 8bit value vv from the value at address aaaaaaaa
0303vvvv
aaaaaaaa
Increment code. Add the 16bit value vvvv to the value at address aaaaaaaa
0304vvvv
aaaaaaaa
Decrement code. Subtract the 16bit value vvvv from the value at address aaaaaaaa
03050000
aaaaaaaa
vvvvvvvv
Increment code. Add the 32bit value vvvvvvvv to the value at address aaaaaaaa
Note that this code is 3 lines long and so will require an 0exxxxxx condition (not a 0dxxxxxx) if you're using it with a condition code.
03060000
aaaaaaaa
vvvvvvvv
Decrement code. Subtract the 32bit value vvvvvvvv from the value at address aaaaaaaa
Note that this code is 3 lines long and so will require an 0exxxxxx condition (not a 0dxxxxxx) if you're using it with a condition code.
04xxxxxx
rrrrssss
vvvvvvvv
Repeat/Filler code. Writes to address 8Cxxxxxx. Writes the 32bit value vvvvvvvv. Repeats this rrrr time, each time increasing the address by ssss (actually ssss x 4). That is, 32-Bit Constant Serial Write E.g:
04007a30
00030001
12345678
Effect:
8c007a30 = 12345678
8c007a34 = 12345678
8c007a38 = 12345678
05xxxxxx
dddddddd
nnnnnnnn Copy bytes code. Copy nnnnnnnn bytes from the address 8cxxxxxx to the address dddddddd. That is, constant copy bytes
071000XX Change Decryption Type
0b0xxxxx
Delay putting on codes for xxxxx cycles.
Default 1000 (0x3e7)
0cxxxxxx
vvvvvvvv
If the value at address 8Cxxxxxx is equal to vvvvvvvv, execute ALL codes; otherwise no codes are executed. Useful for waiting until game has loaded.
0dxxxxxx
0000vvvv
If the value at address 8Cxxxxxx is equal to vvvv, execute the following code. Can be used with code types 00, 01 and 02 only. To use this type of control with other codes use an 0e code.
0dxxxxxx
0001vvvv
If the value at address 8Cxxxxxx is different to vvvv, execute the following code. Can be used with code types 00, 01 and 02 only. To use this type of control with other codes use an 0e code.
0dxxxxxx
0002vvvv
If the value at address 8Cxxxxxx is less than vvvv (unsigned), execute the following code. Can be used with code types 00, 01 and 02 only. To use this type of control with other codes use an 0e code.
0dxxxxxx
0003vvvv
If the value at address 8Cxxxxxx is greater than vvvv (unsigned), execute the following code. Can be used with code types 00, 01 and 02 only. To use this type of control with other codes use an 0e code.
0ennvvvv
00aaaaaa
If the value at address 8caaaaaa is equal to vvvv, execute the following nnnn lines of codes. E.g:
0e04abcd
00012000
02300040
ffffffff
02300050
eeeeeeee
if address 8c012000==abcd, execute the 04 lines of codes following. The 4 lines of codes being two ?02xxxxxx? codes ?02300040=ffffffff? and ?02300050=eeeeeeee?.
0ennvvvv
01aaaaaa
If the value at address 8caaaaaa is different to vvvv, execute the following nnnn lines of codes.
0ennvvvv
02aaaaaa
If the value at address 8caaaaaa is less than vvvv (unsigned), execute the following nnnn lines of codes.
0ennvvvv
03aaaaaa
If the value at address 8caaaaaa is greater than vvvv (unsigned), execute the following nnnn lines of codes.
0F-XXXXXX
0000YYYY 16-Bit Write Once Immediately. (Activator code)
Dreamcast:� INDICES FOR PAD COMMANDS'
By UL1
�
The ' good' thing is : for the DC there are commands available that allow you to activate a code in the game
by pressing one or more buttons on your pad. The 'bad' thing is : It isn't as easy as it is for the PSX...
The BUTTON COMMAND is easy to use because you just insert the values and that's it. You can combine�
different buttons - just subtract the given values from FFFF.
With the L / R COMMANDS it's a bit difficult...
There are two types :
1.��� The ANALOG-L/R COMMAND
For the A-L/R COMMAND the values for the buttons differ depending on how strong you push the button(s). So just the value for the default position of the buttons can be given -� you can activate the code by� saying :�
Code active if button isn't moved (use '0' instead of the question mark) or�
Code active if button is moved (use '1' instead of the question mark).
Alternatively, if you want to activate the code(s) when pressing button(s) to the max, use FF00 for 'L', 00FF for 'R' or FFFF for both.
2.��� The DIGITAL L/R COMMAND
This one is easy to use because you use it the same way as the BUTTON COMMANDS. The ANALOG STICK COMMAND is similar to the A-L/R COMMAND but here you have two different values for the default position of the stick : 0000 or 8080 and there is no value for a max position.� XXXXXXXX always represents the code address. Most of times the BUTTON and the L/R COMMAND addresses are placed consecutive in the memory, e.g. :
BUTTON COMMAND
01000000
0000FFFB
L/R COMMAND
01000002
0000FFFD
so you also could use a combination of the two commands. That would read like this :
01000000
FFFDFFFB
NOTE : Because SEGA / the developers use almost all buttons for game play it's sometimes difficult to find
a combination that doesn't affect other functions in the game. So I suggest to use the second Pad for�
activating codes in such cases.
BUTTON COMMAND
XXXXXXXX
0000????
A = FFFB
B = FFFD
X = FBFF
Y = FDFF
START = FFF7
D-UP = FFEF
D-DOWN = FFDF
D-LEFT = FFBF
D-RIGHT = FF7F
A-L/R COMMAND
XXXXXXXX
000?0000
0 = active when none of the two buttons is pressed
1 = active when one or both buttons are pressed
L = FF00
R = 00FF
D-L/R COMMAND
XXXXXXXX
0000????
L = FFFD
R = FFFE
A-STICK COMMAND
XXXXXXXX
000?0000
or
XXXXXXXX
000?8080
0 = active when A-Stick isn't moved
1 = active when A-Stick is moved
-----------------------------------------------
d) The Hacking Begins
Are you ready to start hacking? Of course you are. If you have skipped
directly to this section hoping you can read just this part and think you
can be a GameShark code hacker, think again. It is HIGHLY recommended,
indeed required that you read everything that has already been presented in
this document. If you do not, you won't understand what most of the following states, and you will most likely not be successful in being able
to hack GameShark codes.
This is the untouched, unchanged GB Hacking Guide written by DaRfUs.
We include it here to honor a hacker who first desired to teach
others his trade.
==========================
GB Hacking guide Written by DaRfUs
First you start off by choosing what you want the code to do (start with
something simple like an unlimited life code). Now go to "Game Trainer" in
the GS menu. It will start the game. Walk around for a little bit WITHOUT
getting hit. Now press the little button at the top of the GameShark. It
will take you to the GS menu once more. Again go to Game Trainer. Now walk
around this time I want you to get hit. Press the GS button as soon as the
life goes down. You will be taken back to the menu once again. Go to the
trainer, and select "Continue Trainer" there will be 4 boxes now here is the
most important part... What happened to your life the 2nd time (the time you
got hit? it went down right?) so you would pick the down arrow, because your
life went down! Wasn't that simple! Now it will search for some possible
codes(if you get a big # of possible codes then keep repeating step 2)
==========================
What this says is "compare and contrast", which is what the guys like
CodeBoy and CodeMaster do when hacking! They use the same method the GB GS
trainer uses. In the text above, DaRfUs explains that you choose the "down
arrow". This is not only because your life went down, but so the trainer
will compare the two RAM Dumps(which were taken when you pushed the little
button on top), and display only the codes that had the values lowered in
the second dump. From what I understand, the GameShark Pros' trainer will
work similar to the one on the standard GB 'Shark and the
SharkLink/Comms Links.
With all this information, you should be cutting the edges in your mind.
You should be gathering ideas right now. Thinking of what these trainers
actually do. Discovering for yourself what you want to know about GS
hacking.
I) One Small Step For Man...
Nintendo 64 -
This part discusses important information about things like key codes,
and "Enable Codes". A key code is a code which is used to bypass the lock-out
code set into the games header. When a key code is activated in the 'Shark,
it will use that key code as a default for a one-time shot. There are
currently four different key codes available. Check GameShark Central
(www.gscentral.com) for the key codes or check the FAQ section of this
document.
Most "locked" games need the use of an "Enable Code". There are also
many games that use enablers that do not require Key codes. They simply
allow codes to function and the code generator which is the software
newer Game Sharks have function. This code is a code that is placed
in with the others(usually named, "MUST BE ON" or "M" code).
The Enable code used the most is "DE000400 0000" but there are others.
Most recently, Donkey Kong 64 had a multi line enabler code in the 3.2
version to allow codes to work with the Game shark. The 3.3 Game shark
now uses only one line of code. Enablers also allow the gamer to use what
is called hi resolution codes which in order for a game to run would normally
use the memory expansion pack and thus render the GameShark Code Generator unable
to run since it requires this same memory expansion pack.
Any code beginning with "DE" in GS versions 1.08 to 2.1 will cause the
'Shark to freeze up when not used with a key code and needing game.
In my version 2.2, the code "DE000400 0000" will NOT freeze the Shark. Yet
almost any other "DE Code" will freeze it.
As mentioned earlier, there is one key coded game that DOESN'T need an
enable code. The Legend of Zelda: Ocarina of Time and when using the
GameShark 2.2, you see a new addition to the key codes. It's a 32-bit
block(aka instruction code). Now, three of the four key codes use the block
"80 20 10 00". BUT, Zelda uses the block "80 19 00 00". Does this suggest
that using a block different from the default, will make the use of an
Enable Code nullified? I think not. There must be some defect that The GS
has when using the "80 20 10 00" code. This calls for the 'DE' enable code
to make the GameShark work! The GS 3.2 and up does however require an enabler code
or M codes in order to work without freezing.
The DE is used to tell the GameShark where the value "3C0880" is
located. Why "3C0880"? I don't know for sure, but my guess is that the value
is where the RAM begins. So the RAM actually starts at RAM address "000400"
and not "000000"(which also has the value of "3C0880"). The DE code does not
overwrite the value of the given address.
PlayStation -
There are a few Enable Codes needed in PSX games(Crash Bandicoot for
example). But I don't understand if the enablers are used for a lock-out, or
to fix a small bug. This part of the section is in need of reference. I know
a few people that could submit contributions, and I'm sure everyone will
greatly appreciate it.
II) The Methods
Here are a few of the many methods used to hack GS codes -
Game Trainers - InterAct and Datel have their own trainers. You can,
however, get a trainer called "PC Comms Link" which will connect your
platform to your computer where you can use a hex editor to view the ROM/RAM
of your game. You will only be editing the RAM part of your games memory
though. Comms Links may still be available from Datel.
Game Backup Devices - Some devices like "Doctor V64" and "CD64" have a
built-in hex editor and GameShark function that allows you to view the
ROM/RAM and create GameShark codes. There are many LEGAL issues regarding
the use of these type of hacking devices and as such the authors of this
document have declined to include them within the scope of this work.
ROM and Hex Editor - Finally! Kong's secret hacking method is revealed!
It is, at sometimes, seemingly impossible to hack using this primitive
method, but it is well worth the trouble of it all! I was able to hack 54
Harvest Moon GB codes using this. When no one else could even get one code!
How about those results?! I've also hacked numerous other codes this way.
Definitely something to try out! Be Aware, using ROMs(they can be found on
the internet) is ILLEGAL when used for purposes of your own entertainment,
this means you can't use them just to play them! It may be possibly illegal
just because most of the Nintendo game instruction booklets say,
"WARNING: Copying of any Nintendo game is illegal and is strictly prohibited
by domestic and international copyright laws. "Back-up" or "archival" copies
are not authorized and are not necessary to protect your software. Violators
will be prosecuted." The author does not endorse nor will support any
information or the acquisition of obtaining game ROMs for legal reasons, and
their use is explained here for comparison and illustrative purposes only.
The author waives all responsibility for those readers that possess or
attempt to possess such material, and the sole responsibility,
accountability and legal consequences rest solely with the reader.
If none of this scares you, read on. You can hack this way by doing
similar to what DaRfUs explains. If looking for an infinite health code,
start a ROM with an emulator and DO NOT lose any health. Save the current
state(check with your emulators readme file to see how to save a state or a
snapshot), which will be like a ROM Dump. Then restart the ROM, go to a
different spot you were at last time, lose health, and as quickly as you
can, save the state/snapshot! Now load up a hex editor such as
"Hex Workshop". Open the saves that you made(check with your emulators'
readme file to find out what the extension will be). Choose Tools/Compare(in
Hex WorkShop). You will get various comparisons. When you find a comparison
that looks like it could be the one, change it in the second save that you
made. Change the quantifier to something like "00"(this way, you will die if
you have the right offset). Now load your emulator and ROM, load the SECOND
save that you made(with the changed quantifier), if you die, or have less
energy, you found the right offset! Now you need to find the beginning of
the RAM. This might be impossible w/o previous training skills.
A really easy way to hack the beginning of the "valid" RAM, You can
activate certain GameShark codes, and save a state, then find the values
used in the codes, in the hex editor! EG- for Game Boy hacking, I use these
codes together on any game-
013C00C0
013D01C0
014902C0
012203C0
Now I'd save a snapshot. Then Id enter hex workshop and find value
"3C3D4922" which is nearly impossible to see twice(although on some games,
the GS wrights to two different address locations with one code). When I
find the FIRST string with that value, I write the beginning offset on a
piece of paper. then I subtract that offset from "C000". Let's say the first
"3C3D4922" value was at offset "000066D0". I would use this math problem-
C000
- 66D0
----
5930
I then take my value of "5930" and insert that many bytes(hex) into the
BEGINNING of the file. Now search for value "3C3D4922" again, if you come to
offset "C000", then you know that your GS code will modify offset "C000".
And you can now go on hacking like that. The beginning of the valid RAM is
"A000"(GS code "01xx00A0") and it ends at "DFFF"(01xxFFDF).
Other Methods - New methods of hacking will be included in future issues
of this document as they become known and created.
IIa. Using Game Trainers
Using these Trainers is rather easy and usually brings up some codes.
You will learn how to use the trainers by reading this section. You will
learn to hack codes like "Infinite health", "Infinite Ammo", Debug Menus and
even "activators".
Emulators such as "ULTRA HLE" for N64 ROMs and "Bleem" that run PSX games on the PC,
are in the purest sense PC based programs that allow you to run an image (ROM)
of a console game like Zelda64 on the PC. The emulators for the newest platforms
require state of the art video and sound cards to be able to get a close enough
effect as that of the real console, otherwise they result in poor sound and
graphics display and game performance. The legal debate of having the game image (ROM)
is ongoing but is clearly considered by some companies such as Nintendo as illegal. ROMS
can be obtained via the web but please don't ask for any sites. The emu or
emulator really is used for playing the game. Now the emu coupled with a hex
editor can bring a hacking element into the scene by simply changing
addresses in a "save" file on the PC which acts as the RAM which would be in
the console cartridge. Loading these files after changing them can be the
same as loading saved games. Using the Hex editor with the emu at the same
time can be considered like using a GS Pro and Game with the console. Using
the hex editor requires no less patience or experience in looking for codes
than using a GS Pro. By the way...a very good Hex editor I use is called the
HEX Workshop and can be found on line at several web sites.
Trainers are earlier, PC based programs similar to the GS Pro. They
required a PC Comms Links card for the PSX console where the Comms Link card
allowed communication of the PC with the console. The N64 required an
additional adapter that was in reality a watered down GameShark. This
adapter was needed because the N64 GameShark never had the 25 pin port on it
the way the PSX did. The legality of using a trainer is transparent in that
you never made a copy of the game ROM. You were just scanning through the
RAM addresses looking for active codes just as you do with the GS Pro. There are
also several proprietary new trainers that are used by the pros that have not been
released to the general public.
IIb. Hacking With GameShark Pro.
Hacking the easy stuff: Some examples.
The easy stuff is codes that are easily obtained. Such as inf. money,
health, and ammo. A note to beginners, DO NOT SKIP THIS SECTION!
Practice makes perfect and is everything to getting the feel of what
hacking codes is about. You must crawl before you walk and find you
will even run in a much shorter time if you heed this advice.
?One learns by doing the thing; for though you think you know it, you have no certainty until you try? - Sophocles
?Lo?try not, do or do not, there is no try? - Yoda
We will begin:
Infinite Cash-
To hack an Infinite Money code, first you must start up the trainer
process with a Known Value search. While you have 0 money, search for value
"0". Start the second part of the process, go back into the game. Now earn
some cash, it doesn't need to be a large sum. Then do another search(for the
value that you now have). Now, repeat the process until you find the code.
Infinite Health-
For a code like infinite health, you go through the same steps above,
only you will search for an Unknown Value and you character will start with
full health in step one, and less health in step two. So you choose the
"less than" option. And when summarizing the quantifiers, notice that
MOST(not all) games with a health bar will recognize full health at
"0064"(100) or "00C8"(200). With this in mind, you can find the health code
a lot easier!
Infinite Lives-
Now on to infinite lives. Do the same thing you did in the first
example. The first step will be the default amount of lives, and the second
will be one life less. if you started with 3 lives, the first quantifier
should be "0003" OR "0002". Since some games start counting at 0 instead of
1, it may be possible that "2" = "3" But this is not usually done.
Infinite Ammo-
Another code is Infinite Ammo. This one might be a little trickier. If
you do the first search with 100 bullets(search for 100), and the second
with 50(search for 50). The code should show up.
I hope you know how to hack the easy codes now. So far so good.
Hacking the intermediate stuff
The intermediate stuff is like "In-Game Cheats", Have
weapons/medals/items codes.
Have Weapon/Item codes-
If you wanted a code that gave you a weapon or an item, you would first
take one readout without having the weapon/item, then a second with it. When
you compare, choose "greater than". The first quantifier SHOULD be "0000"
and the second "0001". If not, the second could be "0002/0004/0008/0010/
0020/0040/0080/0100/0200/0400/0800/1000/2000/4000/8000". The reason it would
have so many is the game uses the switches(described earlier). Only the
switches are represented in hex. You need a little luck when hacking a code
like this.
Activate In-Game Cheats-
For a code like "Activate In-Game Cheats", you will take one readout w/othe cheat active, and the second with the cheat active. The quantifiers
should read, "0000" & "0001". Good Luck
Character Modifiers-
(submitted by Gold64007)
1. Select a character, start the game.
2. Push the freeze button and start an Unknown Value search.
3. Change to a different character, start the game.
4. Now do a "Different to" search.
5. Change some other aspects of the game (other than your character)
(example, health, place you are in, depending on what kind of game it
is).
6. Now search for "equal to".
7. Repeat steps 3 through 6 until you get a manageable amount of results
(20 or less).
8. After you have a manageable amount of results, get into the view valid
cheats screen. Now activate the codes one at a time until you find the
character modifier.
9. Now in the view valid cheats screen highlight the Character Modifier code
on the right side of the screen and push the Right C button to edit the
value of the code put in "00" which is probably the first value that will
work (though it could be higher).
10. See which character "00" corresponds with, write it down.
11. Now change the value to "01," see which character you have.
12. Repeat step 10, adding 01 each time until there is no effect.
NOTE: Exit to the main menu of the game before editing the code to keep the
game from freezing.
Using this method, you may find two types of Character Modifiers, The
actual character mod(select any character, always play as certain
character). Or the character selected mod(your 'cursor' will always be on a
certain character at character select screen).
Hacking the harder stuff
The hard stuff is like activators, debug menus, cut scenes, walk thru walls, level modifiers, moon jumps, size modifiers, speed modifiers and Enabler codes.
Activators/Joker Commands-
An activator/joker command is a code that will activate another code at
the touch of a button on the controller. These codes use the D/E prefixes.
To hack an activator/joker, start a known value search on the game title
screen. Take this search when NOT pushing any buttons on any controller.
Next, hold the R Button for N64 or Tringle button on PSX, and push the
freeze button while holding the button on the controller. Now search for the
following values-
N64 - "16-d"
PSX - "16-d" NORMAL
PSX - "4096-d" REVERSE
The two PSX versions are listed because some games use activator
quantifiers that are different from the rest. The N64 activators are usually
always the same. So if you do not find the Triangle button with value "32-d",
try value "4096-d". When you find the code that you think it is, put the
prefix to "D0" on the code. Then test it by putting any code after it.
Here is a quick example. Start the game but do not touch any buttons after coming to the opening screen. Press and hold the "R" button and press the GS
Button to freeze the game. Release the R button. Do a known search for the value 16 in decimal, which is the equivalent of 10 in hex base. After the search resume the game and then press and hold L while pressing the GS button again. Release the L button and do a known search for 32 in decimal, which is the equivalent of 20 in hex. You should be down to 4 or 5 possibilities. Now let us say we try one of them to test. Let's pretend the code is 80012345 0010 you choose first. First Change the first digit "8" to a "D" which tells the Game Shark to execute the code that follows this new code you made, D0012345 0010 once and only once each time you press the R button. Now we pretend the code we want to use is for selecting a certain weapon, gun, 80022222 0001. So by combining the two codes;
D0012345 0010
80022222 0001
We get a code that turns the gun on every time we should press R. Now of course we must test the code to see if it works. If by chance you choose wrong, fear not, a matter of elimination of the other few possible codes will reveal the correct one. Once tested and proven you can read on for the next step.
Now we illustrate how we could de-select gun.
Well let us choose the 'L" button to do this. First, again we select the proper code to use as the activator as before. If you'd like to turn the gun code off, you can usually put another activator over the code you want turned off.
Example -
D0012345 0020
80022222 0000
Now by putting the two pieces together you can make a double activator let
Let's you turn the gun on and off.
D0012345 0010
80022222 0001
D0012345 0020
80022222 0000
Now, the 'd0' codes are the activators. the one on top is the R button, and the one on bottom is the L button. The '80' codes are 8-bit gun code. When you push R button you get the gun and when you push the L you loss the gun.
This type of code can be used for many types of use. Image transformers, Size modifiers, Cut scenes, level modifiers, health and status modifiers, items modifiers... the list goes on and on. Activators come in 3 basic types. Odd or Normal type 1, even or Normal type 2 for the 8 bit type, and even or dual for the 16 bit type. In an odd 8-bit type the activator will always have the 8th digit as odd, where it will have the 8th digit for an even value. All 16-bit activators are even by definition simply by inspection that any two odd 8-bit values create a even number. The only difference in a 16 bit activator is the 2nd digit will be a "1", e.g., D1012346. A complete list of quantifiers concludes this section
on activators.
Normal Activator 1 Quantity Digits Button Pressed to Activate
00 No Buttons
01 Right Directional Pad
02 Left Directional Pad
04 Down Directional Pad
08 Up Directional Pad
10 Start Button
20 Z Button
40 B Button
80 A Button
Multi Buttons to use any combination of buttons, like, press Right Directional and Z to enable the codes. Just add the two digits up for Right Directional and Z. 01 plus 21 equal 21, so 21 would enable the codes when you push Right Directional and Z on the Controller 1
Normal Activator 2 Quantity Digits Quantity Digits Button Pressed to Activate
00 No Buttons
01 C Right Button
02 C Left Button
04 C Down Button
08 C Up Button
10 R Button
20 L Button
Debug Menus-
This is NOT easy at all. You will need to search through MANY, MANY
codes if you have no base to go on. If you are looking for a debug menu that
is already known, just take a readout with the menu NOT activated then the
second with it activated choose "greater than". The quantifiers should read
"0000" & "0001". That wasn't so bad was it?
Now it's time to hack the Debug Menus that have never been seen before!
To pull this off, you must start playing the game and do a few million
"equal to" searches. You will see MANY codes that have the values as "0000".
Well, ONE off those "0000" codes MIGHT be a debug menu. That is, if there is
a menu in the game, IN THAT SECTION OF THE GAME. This must be the hardest
code there is to hack. Are you up to the challenge?
Cut-Scene Modifiers- (Submitted by SubDrag and macrox)
-Press the freeze button while a cut-scene is playing and start an Unknown
Value search.
-Play the same cut-scene, do an "equal-to" search.
-Play a different cut-scene, search for "different-to" values.
-THROW OUT ALL CODES that have value "FF"... Look for everything else, turn
all codes that are nor "FF" on(some of them at a time). Play a cut-scene, if
you play the same cut-scene no matter where you are, turn off a few
codes(WRITE THEM DOWN), until you get the activate codes that do not play
the same cut scene. Eliminate those codes.
-Turn on one code at a time(that you've written down) until the cut-scene
never changes.
OK, now just play all the cut-scenes, press freeze button, write down
digits, repeat until you get all the cut-scenes... If you have been through
all cut-scenes and notice missing digits, try those missing digits in your
new GameShark code. Sometimes the game will freeze with the missing digits,
but you may find a hidden, or 'unfinished' cut-scene.
Cut-Scene Modifiers - Code Generator and Memory Editor Method
-(submitted by Macrox)
- Press the GS button while the opening cut scene of game is playing.
- Do an unknown search.
- Wait till next cut scene and do greater than search
- Restart the game. Wait for opening cut scene. Do a less than search.
- Again wait until next cut scene and do greater than search.
- Wait for another new cut scene and do another greater than search.
You may have to do this for quite some time to get the possibilities down.
If you feel you are not getting anywhere try the following.
- At the opening cut scene do a Known search of 0 or 1. Make an assumption.
- Wait until the next cut scene and search for values equal to 1 or 2 depending what
you choose the step before this.
- Restart game and wait for opening cut scene. Do known search for 0 or 1.
- Again wait for next cut scene and do a search for 1 or 2.
Level Modifiers and Cut Scene Modifiers:by macrox
Now for my secret. Many games are programmed where the level modifier is
addressed close to the cut scene modifier. This is how Castlevania and
Castlevania LOD level and cut scene modifiers were hacked.
- Start game and take initial unknown search on opening level.
- Either wait for interlevel or new level and take greater than search.
- Wait for next interlevel or new level and again take a greater than search.
- Play that level awhile and take an equal to search.
- Restart the game and take less than search on opening level.
- Codes should be dropping in number of possibilities now.
- Once you get the codes possibilities down to 20 or so write them down.
- Start the memory editor and look for the codes you have on your list.
The codes you have should have values no greater than 3 or 4.
- Try changing the code value in the memory editor to something smaller or larger.
For instance, if the value is 3 try changing it to 6. This should take you to a different level.
Once it works you have the level modifier and interlevel modifier.
Now that you have the level modifier you can find the cut scene modifier with
the memory editor by inspection. Inspection means looking around by going up and down the address screen while a cut scene is playing for that level. Since most new levels run a cut scene this makes things easier. You should find the cut scene modifier rather quickly. Try changing the value after the current cut scene is done. WARNING! As I have often stated when submitting cut scene codes: Running cut scenes out of their natural location or level might cause the game to freeze or do weird things like have your character fall into empty space once the game resumes.
I will say more about the memory editor again later.
Moon Jump codes- GLEE method
Be sure that you have an activator/joker code before you begin.
1) Start the game, while your character is ON THE GROUND, push the freeze
button and start a 16-bit unknown search.
2) Move you character to a different location. With character on the ground,
push the freeze button search for equal-to values.
3) Repeat above steps a couple more times.
4) Push the jump button(if you have no jump button, fall off of something
really high). While you character is in the air, falling, push the freeze
button and search for greater-than values.
5) When you character lands, and is on the ground, push the freeze button
and search for less than values.
6) Repeat from step one until you narrow down the possibilities.
7) To test the codes available as a moon jump code, jump up in the air and
push the freeze button while the character is going up(if you have no jump
button, fall off of something really high, as your character falls, push the
freeze button).
8) View possibilities. Disregard any codes with value "0". Activate all
possible codes(you should have less than five before doing this). If your
game doesn't have a jump button and you had to fall, activate all codes and
change the values to "0".
9) Return to the game, If you character continues to go up(or is not
falling, but is in the air), then one of those codes is the Moon Jump.
10) Test codes individually. When you have the one you want, find the best
digits for it by making it a few numbers lower, or higher.(for the fallers,
Check to see if the code has value of around "Cxxx" when falling. If so, use
a value of around "4xxx".
11) A value too high will cause the character to fly into the sky too fast
and may cause the game to freeze. A value too low will cause the character
to rise unnoticeably slow.
12) To finish the code- Put an activator in front of the code, set the
activator digits to a button you would like. Now test the code, hold the
button you set it for, if your character doesn't move, but you have the
right code, push the jump button or fall off of something while holding your
Moon Jump button. The character should rise!
13) Skip these last steps if your code works with out falling off of
something.
14) Try setting the activator to the jump button, this may help.
15) If it doesn't work, or you have no jump button, you need to find out
what codes tell the game that the character is in the air. These codes are
REALLY tricky.
16) You'll need to start an unknown value search while stationary, then one
stationary, elsewhere(perform equal-to search), then fall from something
and do a different-to search. Land, do different-to, move to another place,
equal-to.
17) You get the idea. When you find the code that instructs that the
character is in the air, use it on the Moon Jump code you made before, and
put that on an activator as well.
18) Later we will show you how to use the memory editor to hasten the finding
of the moon jump code and testing it. Which ever way you prefer always
remember GLEE - , Greater, Less than, Equal, Equal. Good Luck!!
Size Modifiers -
This type of code can be considered moderate to hard to hack depending on
whether or not the object in question normally changes size, e.g., flattens,
or whether the object in question normally stays a constant size, e.g., gates, trees, rocks, doors etc. The former description would be intermediate difficult to hack while the latter hard to hard. Let us break up the two types of difficulty:
Objects can normally change shape: By Subdrag
- Start the game and identify the object you want to hack a size mod for.
- Do an unknown search
- Move around the screen, and even change the area you are in if possible.
- Do an equal to search to unload a lot of junk codes from the search.
- Now do whatever you have to do to get the object to normally change
shape. Get hit, fall, flattened or flatten, squeeze...you get the idea.
- Before the object regains it normal shape do a less than search.
- Once the object regains it normal shape, take a greater than search.
- Repeat this several times for whatever time it takes to get the codes down
reasonable number. Inspect the possibilities and look for those codes that
have quantifiers (in hex base) in the range of 3C00 - 4200, which is the
typical values used in N64 and PSX games. Another big hint is to look for
groups of 3 codes close to each other and having close to if not the same
quantifiers. The reason this works is simple. The N64 and PSX are using 3D
objects, hence you need 3 codes, one for each dimension.
Objects that do not normally change shape: by macrox
This type of code is harder than above to hack. You have very little to go on
regarding using the code generator (search engine) with the Game Shark alone.
We will also in conjunction with the PC hacking utilities use the memory
editor further aid and organize our search. In fact our example
will show how using the memory editor is a very powerful
tool to use and will be our second example in using the memory editor to hack
a code.
- Start your PC and start the hacking utilities. Insert the Game shark and
game into N64 attached the cable. Turn the N64 on and do a detect on your
PC.
- Start the game and identify the object you want to hack a size mod for.
We will use an example from Castlevania and Castlevania LOD for this.
- We have identified we want to hack a size mod for Cornell the Werewolf.
(We will be pleasantly surprised to find this will pan out for the other
characters as well later.)
- Ok. Now. We already told you that N64 usually uses several types of values
for size variables in their games. Typical values of 3F80 and 3C00 or 3DCC
are not uncommon to see.
- Making an assumption that the value is one of the above may or may not pan
out for the hacker. Patience, endurance and luck are the rule of the day
here.
- Using the PC hacking utilities perform a known search for your value.
We suggest you break down the search by ranges, such as 800XXXXX -
8010XXXX,
then 8010XXXX - 8020XXXX, etc... ALSO use the range value 3C00 - 4200.
Doing this will shorten your search time and minimize guess work.
- By inspection, look over the possibilities and observe is you see the group
of 3 we mentioned before. If the results are not too large you might want
to try changing 1 of 3 codes you see on your list. Observe if the object
on the screen has changed by doing this. Using the process of
elimination you will either exhaust your list or hit pay dirt. No pay dirt?
Perform another search but change the address range in the search.
- Again, by inspection check for the group of 3.
- Eventually, you will find the code. NOW, the question is this, Is this code
valid for any level in the game? If not you will have to repeat this
process for each and every level and interlevel too perhaps. Knowing
whether a constant offset exists for your game is VERY helpful and will
save you tons of work. We discovered that we did not have constant offsets.
So our search routine took
us quite a while in a monotony that would have quite easily discouraged a
beginner hacker. That is why we stress patience and endurance so much.
Anything worthwhile is worth work to coin a phrase.
- Luck was with us in some regard doing this hack. We found that even
though the size moderator code changed for our character for each level
and interlevel...it was in fact the same value for all the other characters
in the game as well. We only wish we had such luck hacking with moon jumps
as they were different for all level/interlevel and characters as well.
- Finally, there is one more secret we would like to share. We have often
noticed that size modifiers are usually close to location modifiers.
Location modifiers being the spatial coordinates the object has while
having its own size coordinates or modifier. This being the case one could
hack first the location modifier for an object and once knowing that use
the memory editor to inspect "look around" at nearby addresses for other
groups of 3.
Those without access to a PC or use of the hacking utilities can none-the-
less still carry out the search but should be warned that this will usually
be a rather longer process and might not yield expected results. Many
hackers that use the memory editor have found many an unexpected code by
simply looking around for "patterns" such as groupings of 3 for size mods,
location mods etc. The memory editor has been very useful to inspect
addresses close to known codes to see if that code could be further
enhanced or whether a new code could be found nearby. We encourage the
beginner to not give up in frustration but understand the hacking is not
always going to hit pay dirt each time you search. Indeed, you will learn
to appreciate the workings of game programming and find as time passes you
will "know" the game code as it you wrote it yourself. A feeling for the
game is a valuable but truly subjective experience for any hacker.
How do I use the Memory Editor?
(Submitted by Kamek)
The most common question I see on the hacking boards
is, "How do I hack with the memory editor?" I'm
not the least bit surprised -- when you enter the
Memory Editor, it looks like some kind of
programmer's screen.
First off, let me explain the big myth about the
Memory Editor. Some people think that just by doing
a text search, they can unlock special areas in the
game. THIS IS NOT TRUE! The Memory Editor just
doesn't work that way. Suppose you loaded up Zelda
and searched for "Master Sword". You probably
wouldn't find it, even though the Master Sword is in
the game. A text search is just that -- a text
search. Some games encode their text, so you might
not always be able to come up with results in the
text search. HOWEVER, you CAN use the Memory Editor
to possibly unlock extra levels, characters, and
other stuff. I'll explain more about that later.
Here is what the Memory Editor CAN do:
* You can use the Memory Editor to unlock game
secrets that are accessible.
If you have unlocked a certain character, then you
can use an unknown search to find the memory address
that tells the game you have that character. By
changing nearby values, you can attempt to convince
the game that you've found other characters that you
haven't really found. BUT, you must have a memory
address to start from. Plus, the character MUST be
accessible. You probably won't be able to play as
the Magikoopa in Mario Kart 64, because he was
removed completely from the game. (You can't have a
4-player Grand Prix either, because the game wasn't
programmed that way.)
* You can use the Memory Editor to find secret
passwords.
If you know a cheat password for a game, you might
be able to find other codes. For example, the cheat
"NOYELLOWSTUFF" in Diddy Kong Racing removes all the
bananas. If you use the Memory Editor's text search
to look for "NOYELLOWSTUFF" in memory, you might
find other passwords nearby!
* You can use the Memory Editor to find weird stuff.
Load up Zelda OOT and open the Memory Editor. Search
for the word "light". You'll be amazed at what you
find! Solid proof that Zelda 64 was originally
designed for the 64DD!
Breakdown of the Memory Editor
80010000: 00 00 00 00 00 00 00 00 ........
80010008: 00 00 00 00 00 00 00 00 ........
80010010: 00 00 00 00 00 00 00 00 ........
etc..
(Note: On some TV screens, the left and right parts
of the Memory Editor are chopped off. Unless your TV
has a Horizontal Size knob or an equivalent, there
is no way to fix this.)
So what is all this mumbo-jumbo? Let's break it
down..
80010000:
This first part of the line is the memory address
you are viewing. Actually, you can chop off the "80"
if you want, and you'll get the real memory address.
(The 80 is just for reference)
00 00 00 00 00 00 00 00
These are the values in the memory. If the number on
the left was 80010000, then the first value is the
value in memory location 80010000, the second value
is what's at 80010001, and so on.
........
You won't see dots, they'll probably be blanks, or
strange characters. This is only useful when looking
for text, and you can ignore it unless you're
looking for text.
The N64 memory starts at 000000 and goes up to
3FFFFF, for your information.
Now, first of all, I would not recommend using the
Memory Editor to find codes from scratch. It's
practically impossible to find a code from scratch.
Here are some things you can do with the memory editor
Suppose you were going to hack a code to get all the
characters for Super Smash Brothers. (It's been
done, but this is just an example.) Let's say that
after several unknown value searches, you find out
that 800A4938 0008 gives you Ness. Open up the
Memory Editor and go to location 800A4938. You'll
get something that looks like this:
800A4900 xx xx xx xx xx xx xx 00
800A4938 08 00 xx xx xx xx xx xx
800A4940 00 00 00 00 00 00 00 00
When searching for "got character" modifiers, common
values are usually powers of 2. (2, 4, 8, hex 10,
etc.) Since the game just takes the power of 2 out
of whatever the value in memory is, you can usually
set the value to FF and possibly get more
characters. So make sure all codes are off, then
change the 08 to FF:
800A4900 xx xx xx xx xx xx xx 00
800A4938 FF 00 xx xx xx xx xx xx
800A4940 00 00 00 00 00 00 00 00
Now, go back to the game and enter the Character
Select screen. Wow, you've got Jigglypuff! (If you
didn't already have Jigglypuff, and got Ness first,
then you play too much SSB!!) Let's try nearby
values to get Captain Falcon and Luigi as well.
800A4900 xx xx xx xx xx xx xx 00
800A4938 FF FF xx xx xx xx xx xx
800A4940 00 00 00 00 00 00 00 00
Change the value at 80AA4939 to FF and return to the
game. The character select screen will need to be
reloaded for the changes to take place, so exit and
return. They're all there!
Now that is how you find extra characters. Hmm...
But what if you change other values? Perhaps you
could unlock a certain classic stage of the Mushroom
Kingdom. Let's try some fiddling around in the
memory editor.
800A4900 FF FF FF FF FF FF FF FF
800A4938 FF FF FF FF FF FF FF FF
800A4940 FF FF FF FF FF FF FF FF
Change them ALL to FF. This way, you'll know that if
you find something, one of those values unlocks it!
Quit the Memory Editor and check out other areas of
the game. Go to Options -- the Sound Test is there!
One of the values you changed is definitely a
modifier to get the Sound Test!
Now, go back to the Memory Editor, and change
everything back to 00. Then, start from the
Ness/Jigglypuff Modifier and work your way
backwards, changing each 00 to FF and reloading the
options screen to see if you got the Sound Test. Or,
you could start at 800A4939 and go upward. However,
it just so happens that the Sound Test, Item Switch,
and Mushroom Kingdom modifier is right before the
Ness/Jigglypuff modifier!
800A4900 00 00 00 00 00 00 00 FF
800A4938 08 00 00 00 00 00 00 00
800A4940 00 00 00 00 00 00 00 00
Congratulations! You hacked your first Memory Editor
code!
What else can the Memory Editor do? I'll explain how
I found the Saffron City Pokemon Anti-Modifier and
other codes.
I was playing with the Yoshi's Island "Stay on cloud
forever" code on one day. I forgot and left it on,
then played a game at Sector Z. Suddenly, the game
froze. Somehow, the Yoshi cloud modifier was causing
something to happen in Sector Z! Not all game
freezes are bad -- sometimes it means you've
stumbled upon something big!!
I wrote down the cloud modifier location (80131400
region), restarted without the Yoshi cloud code,
then watched a CPU battle at Sector Z, going into
the Memory Editor every now and then. Values in the
Memory Editor changed as the Arwing entered and left
the arena. I couldn't find any pattern, so I tried
poking around that same area during a battle at
Saffron City. That's when I noticed the timer.
Every time I went into the memory editor, there was
this one memory location that kept decreasing. Then,
when a Pokemon came out, it suddenly jumped to a
higher value, then started over again. I found the
Pokemon Timer! To test my theory, I changed the
memory value at 13140E to 00 01, then resumed the
game. A Pokemon came out!
You might not be as lucky when looking for codes,
but if a code for a certain stage freezes the game
on another stage, check out that area in the Memory
Editor. You might find something good, or you might
not. It all depends on how the game is programmed.
If you remember only one thing from this document,
let it be that the Memory Editor is not magic. The
magic is in you, and with some skill and a little
bit of luck, you may stumble upon some great codes!
In summary:
* You can only unlock areas that were left in the
game.
* Things that were either partially or completely
deleted from the source code of the game probably
can't be accessed.
* You can quickly find neighboring codes to unlock
more characters than what you searched for in the
Code Generator.
* You can find cheat codes, on some games.
One final warning. You must be careful with the
Memory Editor. It's a ticking time bomb in some
cases. If you put the wrong value in the wrong
memory location, you could end up freezing up your
game. In other cases, you might accidentally
overwrite part of your game's SRAM and either lose
saved games, or ruin the cart. But usually, if you
stick to the areas of memory you find using the Code
Generator, you won't have any problems.
Happy hacking!
-------------------------------------------------------------
How do I use the Text Editor?
(Submitted by Sutaz)
I shall use the game Mortal Kombat 4 for an example.
I am playing with the fighter Fujin. When I win a round, it says on the
screen "Fujin Wins". Well, what if I want it to say "Sutaz Wins"? Easy.
Press the GS button to get to the in-game menu. Choose memory editor.
Press A to get the search menu. Choose Text Search. Type in the name Fujin.
Press search. We come upon the first set of digits that spell the word Fujin
but this text is in his biography screen. We don't want to alter that text
now, we want the "Fujin Wins" text. So tap A again to continue searching for
Fujin text. After 2 more searches, we come upon the group texts for all the
characters that say "x person wins". Looking at the right of the screen and
search for the term "Fujin Wins". Now we look to the left of the screen and
see the location code for "Fujin Wins" which is 8004C0E8. In the middle of
the screen, we see a set of 8 airs of numbers. What are these? ASCII digits.
These are the numerical code for the letters in the text. There are 8 pairs
per line of code. So, the line for "Fujin Wins" looks like this:
8004C0E8 - 46 75 6A 69 6E 20 57 69
8004C0F0 - 6E 73
46=F
75=U
6A=J
69=I
6E=N
20=(space)
57=W
69=I
6E=N
73=S
So, with the text editor, just look at the ASCII digit menu and choose
the numbers to replace Fujin with Sutaz. Press Up-C or Down-C to cycle
through the digits. With the text editor, the new phrase "Sutaz Wins" would
look like this now:
8004C0E8 - 73 75 74 41 7A 20 57 69
8004C0F0 - 6E 73
73=S
75=U
74=T
41=A
7A=Z
20=(space)
57=W
69=I
6E=N
73=S
That would be the line to change the NS if you wanted. Now how to put
this in your GameShark. Each line of code ends in a string numbering by
8's; 0,1,2,3,4,5,6,7 or 8,9,A,B,C,D,E,F. Each letter in the text "Fujin
Wins" has its own separate code. Example;
To put "Sutaz Wins" as a code in your GameShark to replace "Fujin Wins":
8004C0E8 0073 = S
8004C0E9 0075 = U
8004C0EA 0074 = T
8004C0EB 0041 = A
8004C0EC 007A = Z
No need to enter the blank space for this example, or the term "Wins".
But let's say your name is longer than 5 digits and you need more space.
You got two options; look at the last letter, which in this case is S, and
see if there are more "free" or "empty" digits after it. Example: The line
of code for the NS in "Fujin Wins" looks like this in the text editor:
8004C0F0 6E 73 00 00 53 68 69 6E
You see that you have two slots that are 00 00. Those are "text breaks".
00 or 20 are used to separate text. You could now use the 00 right after the
73 slot to spell a 6 letter word like Macrox. But if you use the second slot
00, you will run into the 53. Look at the text to the right and we see to
conserve space, the programmers put another character's Wins text on this
same line which is Shinnok. Look at the code above again; 53 68 69 6E are
S H I N, obviously for Shinnok. Now if you want to, you could do option 2
for adding more space for bigger words by "bleeding" or running over into
Shinnok's text. You could take all of his digits and spell bigger words like
Darth Maul Wins. Here is the catch, if you choose to fight with Shinnok, his
Wins text will not appear because Fujin has stolen it. Get it? You must turn
all excess digits to 20 to create a blank space and you must leave at least
one 00 between each character's beginning codes or you will bleed into their
text.
Here is a table of ASCII - numerals used in the text editor:
A = 41/61 B = 42/62 C = 43/63 D = 44/64 E = 45/65 F = 46/66
G = 47/67 H = 48/68 I = 49/69 J = 4A/6A K = 4B/6B L = 4C/6C
M = 4D/6D N = 4E/6E O = 4F/6F P = 50/70 Q = 51/71 R = 52/72
S = 53/73 T = 54/74 U = 55/75 V = 56/76 W = 57/77 X = 58/78
Y = 59/79 Z = 5A/7A 0 = 30 1 = 31 2 = 32 3 = 33
4 = 34 5 = 35 6 = 36 7 = 37 8 = 38 9 = 39
Other Symbols:
@ = 40 " = 22 # = 23 $ = 24 % = 25 & = 26
' = 27 ( = 28 * = 2A + = 2B , = 2C - = 2D
. = 2E / = 2F : = 3A ; = 3B = = 3D ? = EF
[ = 5B \ = 5C
--------------------------------------------------------------------------
How to hack enabler codes: (Used with special permission of Code Master)
Information That Is Needed To Know Before Tackling This Code
ASM - aka Assembly Language knowledge is good to know, because
these codes that are being written are in fact ASM codes. Well,
let's cut to the chase, what could Nintendo possibly be doing
to cause a problem with the Cheat Device. Not only does it disable the
Code Generator's Button to go to the In-Game Menu, but no codes will
work without an Enable Code either. This means that they are doing
something that disables how the Cheat Device works. Well, here's some
information that not many know, and I have figured this info out
over my time with hacking N64. Cheat Device Pro (Version 3.0 & Higher)
uses WatchLo & WatchHi Co-Processor break points to know when to
activate the codes that have been turned on. Well, obviously, if
they changed the WatchLo & WatchHi Co-Processor registers, it would
make Cheat Device not be able to set its own 'Break Points' to know
when to activate the codes, thus disabling the Cheat Device.
The Actual Searching Method!!
Well, obviously if you cant use the In-Game Code Generator, then
you cant dump memory to the PC, so you ask, how do I search for
this? Well, simple, you must have an Illegal Rom copy of the
cartridge :P (Well, having a 'Backup' copy of an N64 rom is not
illegal in all places if you own the original cartridge, but for
the sake of argument we'll just say it is.) In the rom file, you
need to get yourself a Dissembler, to disassemble the N64 Rom
into R4300i coding. (aka ASM) I recommend either N64PSX.EXE by
Nagr, or Niew by Titanik. Both are good, and can be used to help
find this command. Well, now what is the command that we are
looking for? Obviously, if they want to change a Co-Processor
register, you would just set the register equal to something else
right? Exactly, there is a Co-Processor opcode called 'mtc0',
which means, 'Move To Co-Processor 0'. Well, you need to find an
line that is something like, 'mtc0 $v0,$s2' or 'mtc0 $v0,$s3'.
In this opcode, the first register can be 'anything', $at, $v0,
$v1, $a0, etc.. But the 2nd register must be $s2 or $s3. Why must
it be that register? Simple, the opcode is moving a register to
the Co-Processor registers, which have different names as well.
So, in essence, $s2 is equal to WatchLo, and $s3 is equal to
WatchHi. Make sense now? They are setting WatchLo or WatchHi
with this 'mtc0 xxx,$s2/$s3' line. It also happens that the
Cheat Device needs both WatchLo & WatchHi to function properly. So
they can change either WatchLo or WatchHi to make the Cheat Device
not set its own break point to turn on codes, or check to see if
the GS Button was pressed, etc..
OK, now I know the 'mtc0 xxx,$s2/$s3' line in the ROM, how do I
make that into a Cheat Device code? Simple enough. Write down the rom
address of the line, lets say the line was 0005A278h. Now you need
to go to the rom address 00000008h in your dissembler, this is
where the game's 'Entry Point' is stored. For most games, it will
have 80000400h at this line. So, take this address you just got
from 00000008h in the rom, and add the 0005A278h to it, and your
total is 8005A678h and then subtract 1000h from it and the address
becomes 80059678h. And to make the Final Enable Code, change the
beginning of the code to F1, so you have F1059678h. And last, but
not least add 2400 to the end of that and there you have it,
F1059678 2400, your final 'Enable Code'.
Tips & Tricks Of The Trade
Now, there are some key tips to finding this type of code.
1) None really here, unless u make your own program to disassemble
the rom yourself and check for the 'mtc0 xxx,$s2/$s3' line. If you
can and do this, it becomes very simple to make an Enable Code.
There you have it!! The first EVER N64 Enable Code FAQ on how to
make them. Note that the codes will only work on Cheat Device 3.0
Or Higher because of the F1 at the beginning of the code means
that the Cheat Device activates before the game even starts to run.
------------------------------------------------------------------
Hacking Enabler codes that do not conform to the ?mtc0 xxx? search ? by Parasyte
To hack most of the newer enable codes for N64, follow the ASM from the
entry point and look for something that reads or writes to an address below
80000400. If you find something, KILL IT! You must do that by either nulling, that is setting the offset to zero or finding some other suitable offset. You must do this for every instance you can find. the new GS protection put into games will read/write to the following addresses -
80000080
80000100
80000180
80000190
go through the entry point and find all instances of "ori/addiu xxxx"
where 'xxxx' is either '0080', '0100', '0180', or '0190'. then search above those opcodes for an "lui 8000" opcode if you find that lui, just change the 'xxxx' in the ori/addiu opcodes to '0120' and the protection will be flawed. some games will also force 8MB mode before actually checking for the expansion pak. To force 8MB mode, addresses around 80000300 will be written to. many times, you can find the ASM by searching for "addiu/ori 013x"
where 'x' is a value 0-F. you may find some "sb/sh/sw 013x($yy)" opcodes. if $yy is $sp, ignore that entire opcode. Otherwise, look above that address for "lui $yy,x000" where 'x' is either '8' or 'A'.
An example of one common enabler that can be used to force either high or low resolution modes and is useful in getting a game to boot and running in either mode is as follows:
F0000319 00??
?? =
40 - low rez
80 - full hi-rez
78 - trick the game into thinking it's hi-rez, but there's actually 1/8th of the RAM free... Which the GS uses for it's trainer routines and such.
that address simply specifies the highest address the game is allowed to use. just don't go above 80.. Since that RAM is reserved and unusable, the game will crash. But just play around with the values.. you might come up with better values
It works for every game. BUT it does NOT force screen resolution!!!!! It forces the game to use any amount of RAM you want. It does not make the games any faster, does not give it a higher screen resolution. It's mainly used to hack games that run with the expansion pak. You can use the PC Utils. Addresses 80000000 - 80780000 are available in this mode. So the codes you hack with it may not work in the full 8MB mode.
Hacking GameBoy Advance Enabler Codes (Used with Permission)
- By Parasyte
Required Software:
GameBoy Advance ROM to hack (find on your own)
Mappy Virtual Machine - http://www.bottledlight.com/
GameShark Advance Code Encryption Program - http://www.angelfire.com/tx5/tolos/downloads/
GameBoy Advance Enablers are comprised of two parts, the first part is the
hook routine. It overwrites some assembly in ROM/RAM with a jump to the GSA
code handling routines. This jump must be executed many times per second. So a
good place to hook would be the controller reading routine.
The Second part is an ID Code, it's not needed, but it's good to have if you
like the GSA auto-detecting your game.
Hacking the hook code:
(this method only works on Thumb assembly in ROM)
1) Load up the rom in Mappy, then goto View -> Disassembler
2) Goto File -> Export -> Disassembly
3) Pick a destination txt file to save
4) Near the bottom you see three text boxes, leave the first one blank, type
08000000 into the second, and 200000 into the third
5) Select "Thumb" in the drop down list box
6) Click the Add button
7) Click the OK button, and wait a few seconds to a minute for the disassembly to
complete.
8) Open the new txt file in a text editor, the file will be around 7MB
9) Text search for 04000130
10) You may find more than one place with this info, so be sure to write down
ever address with that text string.
11) Going through all addresses, find two opcodes that might work. They can be
anything BELOW the "04000130", and ABOVE any opcode beginning with a "B". The
two opcodes you choose must be right next to each other, and they cannot have
an "=" sign in any part of the line. Example of USABLE opcodes -
080002D2 add r1, r4, #0
080002D4 add r1, #24
080002DE ldrh r0, [r0]
080002E0 mvn r0, r0
Example of NON-USABLE opcodes -
080002E8 bne #$080002F2
080002EA ldr r0, =$03000540
12) Once you find an address that can be used, put the "F" code type on it, and
use the value 00000101. Encrypt the code, and try it with any known codes, just
to make sure it works. Example: F80002DE 00000101
13) If the game crashes, try using a value of 00000102. If the game still crashes,
you will need to find another area to hook. The easiest method to do this
envolves running the game in an emulator (VisualBoy Advance-SDL) and halting the
game anywhere during execution. You should almost always end up in a piece of
ASM that is executed many, many times. So just use the rules above and find a
new address to use.
Hacking the ID Code:
1) Load the ROM into a hex editor
2) Jump to address 000000AC
3) Copy the 4 bytes at this address, then reverse all bytes. Example: "41424344"
becomes "44434241"
4) Encrypt this as an address with a value of 001DC0DE using the Game Shark Advance
encrypter. Example: 44434241 001DC0DE
5) GameShark Advance should autodetect the game with this code in your(M) code
How to hack GameBoy Advance codes: (By Tolos)
You will need an emulator (I use VisualBoy Advance 9.1), and a GBA ROM to
hack. DO NOT ASK ME FOR ROMS!
Before you begin, make sure the game and ROM are the same versions, and there
is no "extra stuff" in the ROM -- usually an opening sequence by the rippers.
Ripping the game yourself solves these problems.
Here's an example of finding infinite lives:
- Start VisualBoy Advance, and load your ROM.
- After it boots, start the game.
- Take note of how many lives you have.
- (Pause the game)Select the menu Cheats -> Search for Cheats.
- Click on Start, enter the number of lives (e.g. 3) into the text box
near the bottom, and press Search.
- You should come up with quite a few results. Click OK, and continue the game.
- Die once, and press CTRL+C or open the Search for cheats menu again.
- Enter the number of lives you now have (e.g. 2) and press Search, without
clicking on Start.
- If you still have a large amount of results, repeat the above three steps.
Otherwise, click on one of the addresses, then press Add Cheat. Change the
value. If your lives didn't change, try dying. Sometimes codes aren't
immediately
obvious. If that wasn't the code, try the others.
If none of the codes worked, you may need a different approach.
- Press start, and enter a number well greater than the number of lives, then
then press Search.
- Lose a life, then do a Search for Cheats.
- In the Search Type box, select old value; in the Compare Type box, select
Less or Equal, then press search.
- Repeat the above two steps.
- Select an address and click Add Cheat. Change the value, and die. If your lives
didn't change, try the other addresses. You should find the code.
Basically, the same techniques that work for other games can be used for
finding codes.
How to hack Walk through walls (WTWs):
(Used by special permission from Code Master)
Information That Is Needed To Know Before Tackling This Code
While your character is walking, or while they are not walking,
there is a value in RAM that tells the CPU whether or not you are
able to walk at all. This value is used to tell the CPU whether or
not to move your character on the screen. I call it the 'Collision
Detection Address', because basically, the game checked to see if
there was any structures or walls that you would 'collide' with and
stores a value to the Collision Detection Address based on if
there was or wasn't an object to collide with in the direction you
are trying to go. The value of this address could be almost any-
thing the developer wants to use. Most common is 0 (Cant Walk),
and 1 (Can Walk). Although with the release of this FAQ,
developers are going to get smarter and use different values.. :(
But oh well, we can deal with it. Now that you know this info,
on to the actual searching methods.
The Actual Searching Method!!
There are 2 ways to go about this, you can do the 'Known' value
search method. Or the 'Unknown' value search method.
1) The 'Known' Value Search Method:
This method, you are assuming the value is 0 for when you cant
walk, and 1 when you can walk. Now, here's the critical part.
This value changes based on whether or not you are moving, or
if you are not moving. So, while you character is currently
walking in a certain direction. (Character HAS to be moving!)
Do a search for values Equal to 1. After that has finished the
game will restart, keep walking in the same direction until you
run into an object/wall. While holding down the direction the
object is. (character will be moving their legs, but not going
anywhere) Do a search for values Equal to 0. You should have
a pretty good size of possibilities. So you do some more
searches. Walk to the opposite direction that you are facing.
While your character is 'Walking', do a search for values Equal
to 1. Walk till you run into an object/wall, and while holding
the direction of the object/wall, do a search for values Equal
to 0. Then walk in the opposite direction till you run into an
object/wall, do a search for values Equal to 0. (Why 0, because
the value should be the same as before, meaning you couldn't
walk then, and you cant walk now.) Keep repeating these methods,
until you get a respectable amount of possibilities to search
for. Once you start going thru the possibilities, your Walk
Thru Walls code, will be the address and the last 4 digits of
0001. And once you put it in shark, it should work.
2) The 'Unknown' Value Search Method:
This method is for use with games that Method 1 did not work in.
This method, you don't assume what the values are, you just know
that they are different based on whether you can walk, or can
not walk. Same as before, do an Initial search when you are
currently walking. (Character HAS to be moving!) Then when you
run into an object/wall, do a different to search. Then walk in
the opposite direction, do a different to search. Walk till you
hit an object/wall, do another different to search. Then walk
back in the opposite direction till you hit an object/wall, do
an equal to search. (Because the value should be the same as
before, meaning you couldn't walk then, and you cant walk now.)
the previous search you took where you couldn't walk.) Keep
repeating these methods, until you get a respectable amount of
possibilities to search for. Once you start going thru the
possibilities, your Walk Thru Walls code, will be the address
and the last 4 digits will be the value the code was when you
were walking. And once you put it in shark, it should work.
3D Game Specification
Due to the nature of this method, it may or may not be possible
to do with a 3D game. The logic behind it all is this: In a 2D
game, you can move at the most in 4 directions, up/down/left/right.
In a 3D game, you can move in 360 Degrees, so the developer has to
cope with this as well, and probably will use different routines.
The above method should still work, provided that when you are
running into an object/wall, you are running into it 'Head On'.
'Head On' means, that while holding the direction of the object/
wall, you're character doesn't turn, face, or go in any other
direction. And in all reality, there's not many places you can do
this. Sometimes, you can just hold 'Up' when you are directly
facing a wall, and sometimes you cant. When you cant, I suggest
trying a corner in a room. :)
Tips & Tricks Of The Trade
Now, there are some key tips to finding this type of code.
1) You found the code that lets you walk thru walls, but only in
left/right or up/down directions!! DOH!!! Here's what you need
to do. Make a Joker Code for the game, and lets just say the code
you made works in the 'Right' direction. Lets say, the Joker Code
for this game was a normal Joker Code and the code was.
D0123456 ????
And the Walk Thru Walls code you made only worked in the
'Left/Right' directions. If you put in these codes:
D0123456 2000
80XXXXXX XXXX << Walk Thru Walls Code You Made Goes Here.
D0123456 8000
80XXXXXX XXXX << Walk Thru Walls Code You Made Goes Here.
It will now work in the 'Left/Right' directions, with no lock
ups. And now, you need to find out the Walk Thru Walls code
for the 'Up/Down' directions. So, repeat the searching method
used to find the 'Left/Right' code, but this time, walk 'Up'
and 'Down'.
2) You cant get it down to a lower amount of possibilities. What
I would do, is walk in one direction till I hit an object/wall,
and do the appropriate search, then walk in the other direction
till I hit an object/wall and do an Equal to search. Or even do
an Equal to Search while your character is walking in opposite
directions. Also, another key way to reduce possibilities, is
to do an equal to search in different parts of the map. I.E.
If you walked 'Right' till you hit an object/wall, did the
appropriate search. Walk up some more on the map, and walk
'Right' till you hit an object/wall up there, and do an Equal
to search. (This helps quite a bit usually. Try and make it not
be part of the same object/wall though. If you are walking into
a house, walk around in the town till you get to a different
house, etc..)
3) The above 2 methods didn't work. This means the game probably
changes the value based on what direction you are heading. So,
you need to use search for it in the same direction only. Like
so: Initial search while walking 'Right', do an Initial search.
Walk till you hit an object/wall, while holding 'Right', do a
Different to search. Then walk to the left, and then back to the
right till you hit an object/wall, while holding 'Right', do an
Equal to search. Then walk to the left, and then back to the
right, and while walking 'Right', do a Different to search.
Keep repeating these steps only in the 'Right' direction.
4) Last but not least, the code you found only works in Towns, or
only works in the Overworld Map. Plain and simple almost ALL
Walk Thru Walls codes will be like this. You just have to search
again in the area where the code doesn't work.
How do you hack Speed Modifiers? (Submitted by Bleeding Gums Murphy)
You start by doing a time trial or something you don't have a time limit on.
1) Once you start, keep your speed at 0 and take an Unknown 16-bit search.
2) Now when it's finished, speed up a little bit.
3) Take a Greater than last search.
4) Now speed up a little more and take a greater than last search again.
5) Now speed up completely and take a greater than last.
6) Now slow down to about half speed and take a less than search.
7) Next speed up a little bit and take a greater than search.
8) Then go back to 0 speed(stop) and take a less than.
Repeat steps 2-8 until you get around 10-30 codes remaining margin.
Speed up to the fullest and press the freeze button(the button on your
gameshark itself). Try out each code one at a time until you do not slow
down when you break. This is the speed mod.
Typically, for most racers, a value of around the 4800's is top speed you
can control, but games like Rush 2047 isn't like that.
If one of the codes freezes the game, don't get angry, like I said before,
Speed Mods are reletively easy, you'll just have to start again.
You may also like to know that speed mods can be hacked for non-racing
games, but they don't help you as much as they should.
------------------------------------------------------------------------
III Online code porter
You can transfer a code from one version of the game by knowing the difference in offsets one version of a game has from another version. Please see the FAQ section for more info on how to do this. Game Shark Central has an automatic code porter that the reader is welcome to try. The authors would like to thank Crocc for permission to use the code porter found at Game Shark Central
http://www.gscentral.com/cgi-bin/port.pl
IV Hacking with the ProAction Replay/GameShark PRO 3.0 for Game Boy
?submitted by Curly8od
How To Hack For Action Replay Pro For Gameboy
Table of Contents
Inf Lives 1
Inf Ammo 2
Inf Money 3
Have an Item 4
Walk through walls 5
Capture The Pokemon You Want 6
All Weapons 7
Bullet Mod 8
Character Mod 9
Cut Scene Mod 10
Activate In Game Cheats 11
Text Mod 12
Some F.A.Q 13
Updates Since version 1.2
Added How To Hack Character mod,Cut Scene Mod And Activate In Game Cheats
Added another question in the F.A.Q
1.
Inf Lives
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:In code gen select start generator
Step 4:Start the game and lose a life
Step 5:Press the button on the action replay. Go to code gen and select
less and a number will appear at the bottom
Step 6:Do step 1 again then select code gen
Step 7:Select greater than a number with maybe letters will appear.
They mean: 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 8:Keep on doing steps 4-7 until you get 10 or less
Step 9:Go to view cheats and write down the number of codes you got
closest to ten
Step 10:Try the codes
2.
Inf Ammo
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:In code gen select start generator
Step 4:Start the game and use some ammo
Step 5:Press the button on the action replay. Go to code gen and select
less and a number will
appear at the bottom
Step 6:Do step 1 again then select code gen
Step 7:Select greater than a number with maybe letters will appear.
They mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 9:Go to view cheats and write down the number of codes you got
closest to ten
Step 10:Try the codes
3.
Inf Money
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:In code gen select start generator
Step 4:Start the game and spend some money
Step 5:Press the button on the action replay go to code gen and select
less and a number will
appear at the bottom
Step 6:Do step 1 again then select code gen
Step 7:Select greater than a number with maybe letters will appear.
They mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 9:Go to view cheats and write down the number of codes you got
Closest to ten
Step 10:Try the codes
4.
Have An Item
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:In code gen select start generator
Step 4:Start the game and as soon as you can move press the button on
top of the action replay
and go to code gen and select less and some numbers will apear
Step 5:Then start the game again and get the item that you want then
press the button on the
action replay
Step 6:Go in to code gen and select greater than. go to view cheats and
write down 15 codes
Step 7:Try the codes you wrote down
5.
Walk Through Walls
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:in code gen select start generator
Step 4:Start the game and move one step then press the button on the
top of the action replay
Step 5:Select less then a number with maybe letters will appear. They
Mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 6:Keep on doing steps 4-5 until 10 codes or less are found
Step 7:Go to view cheats and write down how many codes were found
Step 8:Try the codes
6.
Capture The Pokemon You Want
Step 1:Start the game and as soon as you can move press the button on
top of the action replay
Step 2:Select code gen
Step 3:In code gen select start generator
Step 4:Start the game and get in a wild battle with the pokemon you
want then press the button on top of the action replay
Step 5:Go to code gen and select less then a number with maybe letters
will appear thy mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 6:Keep on doing steps 4-5 till you get about 10 codes found
Step 7:Go to view cheats and write down how many codes were found
Step 8:Try the codes
7.
All Weapons
Step 1:Start the game and get a weapon then press the button on top of
the action replay
Step 2:Then go to code gen and select start gen then start the game
again and get a different
weapon
Step 3:Press the button on the action replay and go to code gen and
select different
Step 4:Start the game again and get the same weapon as last
Step 5:Then press the button on the action replay and select different
and numbers with maybe letters will appear they mean
1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15
Step 6:Keep on doing steps 4-5 until around ten codes are found
Step 7:Then view cheats and write down how many codes were found
Step 8:Try the codes you wrote down!
8.
Bullet Mod
Step 1:Start the game and as soon as you can move press the button on
top of the action replay.
Step 2:Select code gen.
Step 3:In code gen select start generator.
Step 4:Start the game again and get a gun and fire it then press the
button on the top of the action replay.
Step 5:Go to code gen and select different.
Step 6:Start the game again and get a different weapon then fire some
bullets the press the button
on the top of the action replay and go to code gen and select different
and some numbers maybe letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8 9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 7:Keep on doing steps 4-6 till around ten codes are found.
Step 8:Go to view cheats and write down how many codes where found.
Step 9:Try the codes!.
9.
Character Mod
Step 1:Start the game and as soon as you can move press the button on
top of the action replay.
Step 2:Select code gen.
Step 3:In code gen select start generator.
Step 4:Start the game again and change charcter and press the button on
the top of the action replay
and go to code gen
Step 5:Select same and some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 6:Start the game and chose a different character then press the
button on the action replay
and go to code gen
Step 7:Select different and some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 8:Keep on doing steps 4-7 until around 10 or less codes are found
Step 9:Go to veiw cheats and write down how many codes where found
Step 10:Try the codes!
10.
Cut Scene Mod
Step 1:Start the game and as soon as you can move press the button on
top of the action replay.
Step 2:Select code gen.
Step 3:In code gen select start generator.
Step 4:get in to a cut scene and then press the button on top of the
action replay and go to code
gen and select different. Some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 5:Play the same cut scene and press the button on the top of the
action replay. Go to code gen
and select Equal. Some numbers maybe
letters will appear thay mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 6:Dont play a cut scene and press the button on the top of the
action replay. Go to code gen
and select different. Some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 7:Keep on doing steps 4-6 until around 10 codes are found.
Step 8:go to view cheats and write down how many codes where found.
Step 9:Try the codes!
11.
Activate In Game Cheats
Step 1:Start the game and as soon as you can move press the button on
top of the action replay.
Step 2:Select code gen.
Step 3:In code gen select start generator.
Step 4:start the game again and put a code on and press the button on
the action replay. Go to
code gen and select greater. Some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 5:start the game again and don?t put a code on then press the
button on the top of the
action replay and go to code gen and select less and Some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 6:Keep on doing steps 4-5 until around 10 codes are found.
Step 7:Go to view cheats and write down how many codes where found.
Step 8:Try the codes!
12.
Text Mod
Step 1:Start the game and as soon as you can move press the button on
top of the action replay.
Step 2:Select code gen.
Step 3:In code gen select start generator.
Step 4:Start the game again and talk to some one then talk to someone
different and press the button on the top of the action replay
Step 5:Go to code gen and select different and some numbers maybe
letters will appear they mean 1=1 2=2 3=3 4=4 5=5 6=6 7=7 8=8
9=9 0=0 a=10 b=11 c=12 d=13 e=14 f=15.
Step 6:Keep on doing steps 4-5 untill you have 10 or less codes!
Step 7:Try the codes!
13.
Some F.A.Q
Q. What Dose A Bullet Mod Do
A. Changes The Type Of Bullets Like If I Had A Shotgun And I Wanted It
To Shoot Pistol Bullets.
Q. Where Do I Find The Numbers And maybe Letters.
A. At The Bottom Of The Screen In Code Gen Your Action Replay Will
Freeze While You Press The Button And Then Numbers With Maybe Letters Will Appear At The Bottom.
Q. What do the numbers and maybe letters tell you?
A. How many codes where found.
Credits: Omegakid,Pichu
Written by Aaron
Nickname curly8od
Email mailto:[email protected]
Version 1.3
Official site www9.50megs.com\curly8od
-----------------------------------------------
4) GameShark / GameShark Pro FAQ
-----------------------------------------------
Many parts of this text originally appeared on GameShark Central.
Revised 11-11-00
What is a GameShark?
A GameShark is a cheating and game enhancement device made by Datel.
Interact is a North American distributor for Datel. Interact is a subsidiary
of Recoton Inc. It is similar to the device called a Game Genie made by
Galoob Toys, that were made for the NES, SNES, Genesis, and Game Boy
systems several years ago. It can be used to cheat any game,
e.g. allows players to do anything from being invincible to having infinite
lives to having unlimited amounts of money. The GameShark can also be used
to do some cool tricks, such as alter the color of objects such as your gun
in GoldenEye 007, or even give you all of the weapons listed under the
"All Guns" cheat which would normally be unavailable in Multi-Player!
Codes of this nature although are not cheating the game can be worth while
as they make the game more fun and allow the player to actually, temporarily
alter the game and in effect make different variation of the game as
originally created. The first thing that you learn about the GameShark
is that it can open many interesting possibilities with games.
It is also called a Pro Action Replay in the United Kingdom and
GameBuster in Germany.
What is a GameShark Pro?
The GameShark Pro is a new device made by InterAct that can do what its'
predecessor the GameShark can do, and also has the capability to allow you
to create your own GameShark codes by using the built in code generator. It
comes with a bonus 'Hack Like A Pro' tutorial video.
What is a GameShark Lite?
The GameShark Lite is in essence a GameShark PRO without the PC
connector port. A good example is the GS PRO 3.0. There are some other
differences from the standard GS PRO but these details are not available
at the time this text was being updated.
GameShark Pro for PSX
Some of the features are:
Built-in Code Generator: allows you to create your own GameShark codes.
Memory Editor: allows you to view the memory of your game and search for
text.
V-Mem: Virtual Memory holds up to 120 blocks worth of game save data.
Explorer: It can play game soundtracks and view hidden Full Motion
Video(FMV) sequences. You can store GameShark codes on a standard
PlayStation Memory Card.
It comes with a bonus 'Hack Like A Pro' tutorial video.
GameShark Pro For N64
Some of the features:
Built-in Code Generator: allows you to create your own GameShark codes.
Memory Editor: allows you to view the memory of your game and search for
text.
Memory Card Manager: can copy game saves from a memory card or a N64 game
cartridge. You can store GameShark codes on a standard N64 Memory Card.
It comes with a bonus 'Hack Like A Pro' tutorial video.
GameShark for Game Boy
Some of the features:
Built in Code Generator: allows you to create your own GameShark codes.
The Code Generator can only search for unknown values, not exact. There
is no memory editor nor text editor. New added codes can be stored only in
version 3.0 and higher (GameShark Pro), older versions do not store new codes.
You must reboot game after every code search with versions 3.0 and less. The new 3.1 version works in the same manner as its big brother the N64 GameShark Pro where you can resume play after you perform searches and therefore no game reboot is needed. This device works with Game Boy Pocket and Color. This device does not work with the Original Game Boy.
GameShark PRO CDX for PSX and Dreamcast
These devices are similar to the above in that they are cheat devices. They work by first loading the device by using a boot GameShark CD from which codes can be loaded prior to loading and running the game. They are somewhat limited as compared to the GS PRO non CDX versions above as in the case of the GS for Dreamcast as there is as yet no code generator available.
What is a Code Breaker?
A Code Breaker is a cheating/hacking device that is made by Pelican
Accessories for use with Game Boy Pocket and Color. This device
does not work with the Original Game Boy. This device is more complex
than the GameShark in that it has more functions. It has a Code Generator
that searches for unknown and exact values with no rebooting needed,
stores and sorts new codes and game listings, uses Code Breaker and
GameShark format codes, Slow Mo speed select, rumble pack built in,
real time save and restore, ram saves, message writer, word scout to find
passwords in games, memory and text editor, copy and erase game saves,
supports Game Boy Printer and has more robust secure game holder.
What is an Xploder/Xplorer?
An XploderXplorer (the name varies by country, is another cheat/hacking device that is made by Fire International (Blaze USA). The Gameboy version has very similar properties as the Game Shark such as the exact and unknown code search generator. The unique property of the Gameboy Xploder is its ability to alternate between exact and unknown searches. The other plus it has is its ability to offer several warning as changes are made to its code database. A blessing for any of us who are too fast with the fingers. It can store 1 real game save at a time. The Gameboy version has no memory or text editor. The N64 and PSX versions have memory viewers but no memory or text editors. The PSX version has an available PC utilities program for advanced hacking and is similar to the Game Shark utilities program. Little wonder both the Game Shark and the Xploder are the brain child of Wayne Beckett
What are the differences between the Game Genie, GameShark, GameShark Pro &
Pro Action Replay?
The Game Genie was manufactured by Galoob, the GameShark is manufactured
by InterAct, and the Pro Action Replay is manufactured by Datel. You had to
keep inputting codes into the Game Genie every time you wish to use them and
the number of codes you may input was very limited. Both the Pro Action
Replay, the GameShark and the GameShark Pro have a battery-backup that can
save codes. One major difference between the three device is evident in that
only the GameShark Pro has a code generator that can search for codes in the
games RAM, whereas the others cannot.
Are these products authorized by Nintendo?
The GameShark, GameShark Pro and Pro Action Replay aren't authorized,
endorsed, or supported by Nintendo. Special thanks goes to Avid Gamer for
telling me that Nintendo filed many lawsuits against Galoob trying to
prevent the Game Genie from being marketed in North America. Galoob did win
the court case and did go on to selling the Nintendo version. However, a
interesting fact is that Sega did not oppose the Game Genie, and instead even
gave it a official license.
Where can I get a GameShark? GameShark PRO? GameShark PRO CDX? Code Breaker? Xploder?
In the U.S. try stores such as Software Etc, Babbages, and Electronics
Boutique and FuncoLand (GameStop). In Canada I've only been able to find them at Electronics Boutique. Expect to pay about $39.99 to 49.95 U.S., and that roughly translates to $69.99 Cdn. U.K. gamers can get a Pro Action Replay from Datel. Check the Interact and Pelican web pages for further information:
www.gameshark.com , www.pelicanacc.com , http://www.blaze-gear.com/ or www.xploder.net, and www.codejunkies.com .
I have a GameShark or GameShark Pro, now what do I do?
Place your game cartridge onto the Game Shark?s top. You can easily tell
which is the top by noticing if the GameShark sticker on the GameShark is
readable. Then insert your GameShark (that has the cartridge placed onto it)
into your Nintendo 64 system or PSX system and turn the console power on.
Help! My GameShark or GameShark Pro isn't working now!
There are a few reasons why your GameShark didn't work. Either you
didn't follow the procedure listed, or you have a placed a game into your
N64 that requires a Key Code to boot the game. Also you may not have pushed
the GameShark (or cartridge) down far enough for it to fit in snugly. There
is a very slight possibility that your GameShark is defective. Also beware
not to switch the power off and on quickly as the GameShark might freeze on
the title screen, with the LED Indicator displaying an 8 all of the time. If
this should occur, please try the following as it may help reset the
GameShark.
First make sure the console is off. Then remove the GameShark
from the console and then remove the game from the GameShark. Next insert
the game into the GameShark and then the GameShark into the console. Turn
the console power on and the GameShark should again begin its' boot up and
count down. If the GameShark still does not boot try the following:
First make sure the console is off. Then remove the GameShark from the
console and then remove the game from the GameShark. Now gently wipe the
edge connector of both the GameShark and the game cart with a soft cloth to
dissipate any static charge there. Next insert the game into the GameShark
and then the GameShark into the console. Turn the console power on and the GameShark should again begin its' boot up and count down. If the GameShark still does not boot it could mean that it is waiting for a game with a required matching key code to be inserted.
Another thing to try is to again start with the console power off and with both the shark and game already seated, to pull ever so slightly upward on the shark to lift it SLIGHTLY from the console pocket. (Sometimes the console socket is too deep for the shark connector board and this helps establish the proper seat to get the shark booted.) Try turning the power on again.
Review your situation and act accordingly. If this is the first time you are using a new GameShark I would seriously advise returning it to the store
where it was bought for an exchange for a new GameShark.
Another possibility is that you have somehow corrupted the GameShark
BIOS. In this case you can try to reflash (reinstall the BIOS) the GameShark.
You will need access to a working GameShark, you defective GameShark, Shark Link
(PC link cable), Hacking Utilities Software(available on the Interact and Datel
websites, and a PC. Next, goto the section below on how to connect the PC and
GameShark up together.
What is the LED Indicator?
The LED Indicator is merely the number inside the small glass piece on
the front of your GameShark that counts down upon boot-up.
What are Key Codes?
Certain games such as Diddy Kong Racing, Yoshi's Story, 1080
Snowboarding, F-Zero X and The Legend of Zelda: The Ocarina of Time cannot
be used normally like Mario 64 can with your GameShark. They have chips to
block out illegal copying of the game, and also, unfortunately, prevents the
GameShark from accessing them. You require a version 1.08 of the GameShark
or higher (depending on which game) to use your GameShark with these games.
Games such as The Legend of Zelda: The Ocarina of Time must be used with a
GameShark 2.2 or higher due to the 32 bit write change of it's key code.
There is a new 32-bit input on the key codes in GameShark V2.2+, this new
'block' is the essential instruction code that tells the GameShark, "this
instruction is '80 20 10 00'!" When using any of the "original key codes",
the instruction will be "80 20 10 00". When using the Zelda key code, the
instruction will be "80 19 00 00". Since you cannot change the instruction
code on GS 2.1 and lower, there is no way to add the Zelda key code(on these
GameSharks, the instruction is always '80 20 10 00'). InterAct is nice
enough to replace older GameSharks up to version 2.1 for a 2.21 for free.
They will not however allow upgrades to a GS Pro 3.0. GameShark owners are
responsible for shipping and handling to InterAct. InterAct covers the
return shipment costs.
KeyCodes:
Gameshark Version 1.08
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest: 4E F8 4D D6 0A B3 D6 0A B8
Yoshi's Story
Cruis'n World
F-Zero X: Unknown
Gameshark Version 1.09
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest: 59 A6 31 F5 13 B3 DA 50 FA
Yoshi's Story
Cruis'n World
F-Zero X: 05 63 14 98 D5 E4 CF CD 1A
Gameshark Version 2.00
Super Mario 64 & Others: 6334 F161 A72C 201C 2E
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest: 50 F2 49 08 7C 07 EE 6C 25
Yoshi's Story
Cruis'n World
F-Zero X: 8D 9A 8C DA F5 F2 B6 07 92
KeyCodes:
Gameshark Version 2.10
Super Mario 64 & Others: EB 03 0C 2C D2 3A AF C3 CE
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest: 78 69 4F BD AC EF E9 DD 79
Yoshi's Story
Cruis'n World
F-Zero X: 85 A2 B3 44 44 4C F1 C1 E4
Gameshark Version 2.21
Super Mario 64 & Others: 3E 75 22 68 00 99 BE BE F6 - 80 20 10 00
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest
Paper Mario: 2C 48 29 16 D4 3E 90 61 47 - 80 20 10 00
Yoshi's Story
Cruis'n World
F-Zero X: 94 CB D4 8E 52 9A 30 89 E7 - 80 20 10 00
The Legend of Zelda: Ocarina of Time
The Legend of Zelda:Majora's Mask
Perfect Dark
Conkers Bad Fur Day
Jet Force Gemini: 14 A8 3B CA CD F8 11 BE 50 - 80 19 00 00
Gameshark Pro Version 3.0 and 3.1
Super Mario 64 & Others: 70 14 FF AB 1A 91 14 49 B4 - 80 18 00 00
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest
Super Smash Bros.
Paper Mario: 5B E5 5F CE 93 89 D7 11 9F - 80 20 00 00
Yoshi's Story
Cruis'n World
F-Zero X: 33 31 66 BD 04 ED E3 62 DF - 80 20 04 00
The Legend of Zelda: Ocarina of Time
The Legend of Zelda:Majora's Mask
Perfect Dark
Conkers Bad Fur Day
Jet Force Gemini: 56 72 19 E1 9D 62 82 28 C9 - 80 19 00 00
KeyCodes:
Gameshark Pro Version 3.2
Super Mario 64 & Others: AF FA 90 67 C2 49 22 D0 12 - 80 18 00 00
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest
Super Smash Bros.
Paper Mario: BD B8 AF 1A E9 C2 8B 3B 30 - 80 20 10 00
Yoshi's Story
Cruis'n World
F-Zero X: B6 F4 6A E1 8B 0F C8 AB 67 - 80 20 04 00
The Legend of Zelda: Ocarina of Time
The Legend of Zelda:Majora's Mask
Perfect Dark
Conkers Bad Fur Day
Jet Force Gemini: 85 87 29 C5 3A 85 F7 50 F0 - 80 19 00 00
Gameshark Pro Version 3.3
Super Mario 64 & Others: 8F 89 AB A0 C3 4C 26 10 A4 - 80 18 00 00
Diddy Kong Racing
1080� Snowboarding
Kobe Bryant In NBA Courtside
Banjo-Kazooie
MLB Featuring Ken Griffey Jr.
Ken Griffey Jr.'s Slugfest
Super Smash Bros.
Paper Mario: 95 AC 21 BE 58 B0 4E F6 A8 80 20 10 00
Yoshi's Story
Cruis'n World
F-Zero X: C4 6F 1B C2 6C 6C 1F 67 1D 80 20 04 00
The Legend of Zelda: Ocarina of Time
The Legend of Zelda:Majora's Mask
Perfect Dark
Conkers Bad Fur Day
Jet Force Gemini: A9 24 53 52 5F 73 77 37 7D 80 19 00 00
---------------------------------------------------
What's the GS Button?
It's the button on the front of the GameShark. It is fairly small, and
makes an amusing clicking sound. It is used for one-time only codes, and
injects the code into the RAM only once, instead of having a constant
effect. For Pro Action Replay owners it is called the "PAR button".
How do I add new codes?
Please refer to the owners manual.
Can I make codes?
Yes, you most certainly can! Refer to the "How-to's" above.
What do these 'XXX' and so on represent?
You either place your own digits there (for 'XX' or 'XXX') or you have
to insert the coding that represents a certain level for that game. If it is
'XXXX' then it can probably be replaced with some special digits, that
accompany that code. Sometimes it can represent the quantity of the code,
and for the GameShark 0 is the lowest amount, while F is the highest.
What is a Memory Card Manager?
It enables you to view the contents of any memory card up to 1998 blocks
in size. You do need a v2.0 or higher GameShark to have this ability. Follow
the simple instructions to save, load, and copy between memory cards that
are there on your GameShark. You can even copy save games from your game
cartridge onto memory cards.
What is a SmartCard/Port?
The Smart Card Port is a reader/writer slot at the back of the GameShark
that will be able to read SmartCards when they are available. InterAct says
that in the future the slot will support a range of SmartCards, and will
offer features including special game cheats and memory card support. This
includes Ram, Rom, and Flashy Rom cards. SmartCard are reported to be only
supported in the GameShark for PSX and the GameShark PRO for both the PSX
and N64. This function was discontinued on the 3.2+ version of the N64 GS and
replaced with the 25 pin parallel connector port.
How can I get a newer GameShark?
InterAct is currently located at
InterAct Accessories
10999 McCormick Road,
HuntsValley, MD 21031.
Or go to www.gameshark.com for up to date info.
What is the difference between the GameShark Pro and the Shark Link Trainer?
The devices work on the same principle. The major hardware differences
between them are: The Shark Link Trainer consisted of a PC Comms link board
that was inserted into a ISA slot of your PC for PSX owners and for N64
owners an additional special adapter that was for all intents and purposes a
"stand in game shark". This adapter was essential to use for N64 owners as
the Game Shark for N64 lacks any parallel connector port as in the PSX
version. N64 owners also had to purchase a 4 meg ram expansion pack for
their N64 console and replace the standard jumper that comes with it. This
memory upgrade was also essential as the N64 lacks sufficient memory to
operate the Shark Link alone for storage of found codes and activated codes
during use. Custom written software and drivers were then loaded on the PC
and then used to perform various searches of the game ram to find a varied
assortment of different code addresses depending on what was displayed on
the screen and what codes were active in the program at that moment. In
essence, the user was taking game ram or memory "snapshots" in order to find
what code addresses were increasing, decreasing or remaining the same as
the game progress. This allowed the user to "zero in" on any particular
code(s) of interest from infinite health to finding the debug menu screen.
The user was then allowed to activate these codes immediately for testing
and alter the codes as desired and make them active. In addition, the user
of the PSX version of the shark link could immediately upload these new
codes into their game shark while the N64 version user had to go through the
laborious task of inputting these new codes by use of the game controller.
Rocket Games Inc., (part of Datel) use to sell the Shark Link.
The GS PRO is different in that it no longer requires the PC Comms link card
as it has the code generator built right in. It still currently requires the
additional memory expansion pack in order to do the maximum code activation
allowed per game and it still retains the property of altering codes and
making them active. The GS PRO has known and unknown code search capability
as well as text search mode to find hidden screens in certain games.
Previous shark link users will welcome the familiar screen command
environment they have come to know while those new to the code hacking world
will come to know a powerful ally they can use to find those codes they
always dreamed of. The Game Shark PRO 3.3 is the new Shark Link and Datel,
Interact and independent organizations such as Game Software Clubs Creator Cub www.cmgsccc.com now have software that allows the Game Shark to be connected
to your PC. Other cheat device manufacturers such as Fire International (Blaze) also have their own version of PC hacking utilities for their devices as well. The hacking utilities as it is known, allows a code hacker to
use more advanced hacking features and options of the Game Shark.
What is required to connect my PC and Game Shark PRO for N64?
Materials You Need:
-GameShark Pro 3.1 - 3.3
-25 Pin Printer Cable (available at Radio Shack, or any other
computer/electronics store. We recommend using IEEE-1284 compliant,
high speed parallel cables such as from Belkin.
-Computer, with a functioning LPT1 port
-N64 Utilities (available for free at http://www.gameshark.com/)
WARNING! USA GS owners should not download the file from
Datel as this version is made for AR PRO owners. The AR PRO
works on PAL TV systems only while the GS PRO works on NTSC.
Step By Step Procedure:
Step 1: Check to see if you have a printer connected to your PC's parallel port.
Disconnect the printer from the cable if you do. You need to do this to continue.
If you do not have a printer than this connect one end of your new cable to your PC (while off)
parallel port, 25 pin female. Connect to www.gameshark.com and get the latest N64
hacking utilities from their web site. Install them on your PC but do not run them yet.
Step 2: Boot your PC and get into the PC BIOS screen. This is usually allowed
during the first few seconds during boot up and is invoked by pressing some key on your
keyboard such as F1. Consult your owners manual for more info. Once in the BIOS screen
you should check that you parallel port is using either EPP or ECP, NOT Bi-directional
(the Game Shark will not work with this setting). Warning! You many find you can longer
communicate with your printer once you reconnect you printer to your PC If your printer
required bi-directional communication.
If you change the port to ECP or EPP then you should save the settings and reboot.
-Step 3: Place the GameShark into your N64 console while off. Now plug a game into the Game shark.
Connect the other end of your cable into the back of the Game Shark (25 pin male connector).
Turn on the N64, after the short loading time
you should be at the GameShark's Main Menu. If you are not, read the
GameShark's Manual.
-Step 4: Start the N64 Utilities you installed earlier. Go to the
Screen that has the 'System Information' info. Click on the 'Detect' button.
You should see an affirmative reply it found the console. If you see "console
didn't respond, you possibly did not do step 1 and 2 correctly.
-Step 5: Assuming you got through to this step ok you can now explore the
utilities. The following info is used with permission from james007.
-Code Generator: The Code Generator acts a lot like the Code
Generator built into the GameShark itself. Using the one on your
computer is a lot slower, since the LPT1 port is only a 25kb/sec
port. Extra features to look out for are the 'In Range' button, which
allows you to search for a value in range of what you specify. The
'Resume Last' button allows you to resume a search incase the game
crashed (good for games with Anti-GameShark Chips). The 'Search
Range' area allows you to specify where the Code Generator will
search in the games RAM. I usually use 80000000 to 80100000, since
most codes are in between these two addresses. The 'Search History'
area allows you to see the history of what type of searches you did.
-Results (Code Tester): This page allows you to test codes you have
found using the Code Generator, and to enter in new codes. This area
is pretty self-explanatory.
-Code List: This page allows you to modify your GameShark codes on
your computer. This is far faster than entering them in using your
N64 Controller. The first step is to Download your codes onto your
computer using the 'Download Codes From Cartridge' area. Select the
'Browse' button to pick a location where you want the codes to go.
Then push the 'Download Codes' button to copy them to your computer.
Now you can modify them using a text editor like Notepad. When you're
ready to upload your new code list, do the following. Go to the 'Code
List Compiler' area and push the 'Browse' button. Search for the code
list you want to upload. Once found push the 'Compile Codes' button,
N64 Utilities will now check the syntax of the code list. If it is
good it will say it had no errors. If it found errors it will tell
you what line had errors and what the error was. Fix the error before
uploading your codes. If you now have no errors, push the 'Upload
Codes' button in the 'Upload Codes To Cartridge' area. It will send
your code list to your GameShark. You now have to turn off your
GameShark so it can load them up properly.
-Other Utilities: This page has two useful things. An upgrade place,
where you can upgrade your GameShark, and a video
capture area, where you can take screenshots of your game. The
screenshots are saved as Bitmap files (*.bmp), which is a Windows
standard graphic file. The files can be easily converted to other
formats with third party programs. The 'Cartridge Upgrade' area
allows you to upgrade your GameShark to the latest version.
Selecting the Overwrite code lists & settings' option will do just that,
when you upgrade, it will overwrite your entire GameShark, including
all your codes and settings.
REFLASHING the BIOS of a defective N64 GameShark:
(DISCLAIMER! Neither the authors, contributors, Datel, Interact or its subsidiaries, or Game Shark Central assume any responsibility in consequence of the results of the this procedure. The authors do not and will not be held liable for anyone attempting this procedure. The reader is advised to understand that this is a last ditch effort to repair
a defective GameShark. Neither Datel, InterAct nor Game Shark Central
endorse this procedure.)
Proceed like above from steps 1 - 3 but with this one major change:
After you seat the working GameShark in the N64 console you will seat the
defective GameShark into the working GameShark and then the game into
the defective GameShark. Connect the Shark link cable into the bottom
(working) GameShark. (Caution! You should use a working GameShark that
is of the same version you are going to reflash the defective GameShark
as this procedure will flash both GameShark BIOS to same version. You can
choose to NOT overwrite your code list in the GameSharks if you don't want
to loose your current codes in the working GameShark. The authors suggest
you backup your codelist at any rate for safekeeping. Once you have
everything ready proceed to flash the BIOS by going to the upgrade
screen and choosing the upgrade option. Once the operation is complete,
you will have repaired the defective GameShark and both GameSharks will
be the same version. Turn off the N64 and remove the GameSharks from
one another and if desired plug the Shark link cable into the former defective
GameShark and reload the code list. One of the authors (macrox) has tried
this procedure several times without negative results.
REFLASHING the BIOS of a defective Game Boy 3.0 GameShark:
(DISCLAIMER! Neither the authors, contributors, Datel, Interact or its subsidiaries, or Game Shark Central assume any responsibility in consequence of the results of the this procedure. The authors do not and will not be held liable for anyone attempting this procedure. The reader is advised to understand that this is a last ditch effort to repair
a defective GameShark. Neither Datel, InterAct nor Game Shark Central
endorse this procedure.)
The reader may find the need to reflash the Game Shark 3.0 for Gameboy should it become corrupted during use. Corrupted can mean many things such as the code database is lost. The code generator program is buggy or missing. The boot record of the shark can also be faulted. One procedure that has been found to revive the 3.0 is as follows:
Step 1 ? Turn your Game Boy off.
Step 2 ? Insert a fully working 3.0 shark in your Gameboy.
Step 3 ? Insert the corrupted shark into the working shark.
Step 4 ? Insert a game into the corrupted shark.
Step 5 ? Turn the Gameboy on.
Step 6 ? There should be a different icon on the right side of the Gameboy
screen that indicates upgrade. Choose it and let the process complete without interruption.
Step 7 ? Wait to see process is complete, turn your Gameboy off and remove the
game and sharks from the Gameboy.
Step 8 ? Insert shark that was corrupted in Gameboy with game and test shark.
Note: If no upgrade icon is seen in step 6: This may mean your corrupted shark has a hardware fault that will not and CANNOT be corrected by reflashing...ergo...your shark is dead.
A code doesn't work for me for the other levels, what can I do?
Certain games have certain "beginning" codes, and certain letters that
follow it. For example, all of the Jetpack codes for Shadows of The Empire
begin with "801", and then for one of the levels it is soon followed by a
"A55" for the Xizor's Palace level. If you wish to use that code for a
different level, which doesn't always work for the other levels, then you
merely switch those three (or if two) digits with the digits that represent
the level that you wish the code in. Sometimes you may need to find a
different three-digit code that that specific code needs to work.
What games are easy or difficult to hack with a GameShark?
Please refer to above document.
Have there been any theories made for hacking with a GameShark?
Please refer to above document.
What does the term "Porting Codes" mean?
It means that you are transferring a code from one version of the game
to another. This example is from Mortal Combat Trilogy v1.0 & v1.1. The v1.0
Codes-
P1 No Energy: 8016984D 0000
P2 No Energy: 80169B21 0000
v1.1 Codes-
P2 Automatically Dies: 80169C61 0000
P1 Automatically Dies: 8016998D 0000
Notice how the two versions of the game are the same except for the
sixth, seventh, and eighth digits. I find usually that transferring codes
from one game to another the sixth digit goes up one 'step' in the code.
(E.G. 'C' would become 'D'). Further info is available in this document.
See how to hack codes section for online code porter site.
How can I tell what version I have of a game?
One way at the moment to see what version of a game that you own is by
testing all of the known versions of the game that you own with your copy of
the game. Depending on which version of codes works, that is the version
that you own! With most games you can tell just by looking at the label,
not in most cases.
There is a part of the label that reads: NUS-006 (USA) NUS-NWGE-USA All
games have something like that on the label the first line seems to stay the
same from game to game but the "NWGE" is different sometimes. The example
above shows v1.0 of the game. Here is what v1.1 looks like: NUS-006
(USA)NUS-NWGE-USA-1
Does the GameShark support Japanese games?
Yes, the GameShark can hack foreign games.
Can I play Japanese games on the GameShark?
Yes, you can. Simply plug the foreign game in and start the game without
any codes! PSX Users must do that "swap trick".
Is there a Game Shark for the Sega Dream Cast? Datel and Interact will soon release
a Game Shark for this console. It will be a CDX version like the PSX CDX GS. The DC
GameShark will not have a code generator in its first version as reported to us
at the time of this version of the hacking text.
This edited version of the GameShark FAQ was made possible by contributions
over the last couple of years by these fine people:
Jim Reinhart, Avid Gamer, Kong K Rool, ShadowKnight, Gaming Freak, and
special thanks to Gavin Thornton, Ali Yates and Marios(from Datel) for helping get the original shark link off the ground. A Special Thanks to
Bill Kaufman (CodeBoy) for supplying Game Sharks to the Game Shark Central
beta test team and to Kris Schineller at Blaze USA for providing sample N64 and GB Xploders for testing and review. Finally, a special thanks to Wayne Beckett ? the Game Shark creator, without whom, the concept of Game Shark may never may have become a reality.
Macrox ? April-21-2001
5. Acknowledgments
Many talented people have contributed to this work over time either directly or indirectly. To those people we say thank you for all your contributions to the world of video games and for hacking codes and sharing ideas on how to hack codes. Special thanks again to Tolos, DgenerateKane and Hyperhacker for picking up the torch and keeping the text alive and well.
People whom have shared ideas and contributed information for this
document:
Kong K. Rool (aka Parasyte)
Macrox (mailto:[email protected])
Tolos - [email protected]
DGenerateKane
HyperHacker
ShadowKnight
Jim Reinhart (Game Shark Central Founder)
Code Master
Kamek
Freeza
Subdrag
Viper666(187)
Sutaz
james007
Gold64007
Stinky613
Crocc
Zap2
CodeBoy
Savior
Charizard
Dr. Ian
Curly9od
Bleeding Gums Murphy
Kola
FoxDie
ARHQ ? our AR PRO replay affiliates.
This list goes on and on, we apologize for any omissions of people who gave of their time to advance the art. The authors want to thank everyone at Game Shark Central, Game Shark Zone, Game Shark (Software) Code Creators Club, Gamasutra, Dextrose, Interact and Datel for fruitful discussions.
------------------------- 6) Legal ----------------------------------------
This document Copyright � 1999 - 2002 GS Central, All content is used with permission by the specific authors. This Document may not be used in any book, magazine, website, or any other form of media without expressed written consent of the authors. Nintendo64, PSX(Playstation), Game Boy, Game Boy Advanced, GameShark, Interact, Datel, GS Central, Pelican, Game Genie by Galoob, Code Breaker, Xploder, Xplorer, Fire International, Blaze USA, and any aforementioned game or product are trademarks of each respective company and product of respective companies as cited in this document. GameShark device is not sponsored, endorsed or approved by Nintendo, Sony or Sega. GS Central www.gscentral.com is an independent code club and cheat code information web site and is not affiliated with Interact Accessories, Pelican Accessories, Fire International, Blaze LTD, Nintendo. Sony, Sega or Microsoft