- 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 yield various results. As you read this,
you are encouraged to practice the methods that are described
in this text. This way, you will learn by your activities. There
is more than one way to hack codes. These range from guessing,
to my secret hacking system, which not everyone will understand,
again, as you read, try the idea's mentioned. It has been proven
that people learn easier and faster when they are active in a
project. It is the author's 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.
- Hacking Basics--Know
- Offsets are typically
found by examination of the game memory by using advanced hacking
equipment such as a GS Pro, SharkLink or hex decoder on a ROM.
Basiclly, 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, you can be certain
that it isn't the GS code(if you find the health at offset "012203"
the GS code 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 of the character you control, mathematical operations...
The list goes on and on. The header(tells the machine what type
of game your are booting) might take up all offsets past "012203"
its self! There is a block of info that tells where the quantifier-offsets(the
byte of memory which you change through GS codes) begin. 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 your game is running.
- Systems of counting
or number base
- Decimal Notation, based
on ten digits, is something you already know. Count to 50 like
you normally count. You can count using decimal notation.
- 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 text.
- 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
- 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
- It is important to understand
how to do the number base conversions before continuing. If not,
the reader is encouraged to review the material already presented.
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.
- Hexadecimal is a programming
`language' you must know in order to hack GS 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
- 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" is sixteen. By the way, don't
say "ten," say, "one, zero" for `10'. Let's
see what you've learned(easy, huh?).
- 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!
- Octaldecimal is just another
way to wright binary(like hex), but octal words are longer than
hex words. What you've read already is enough to know about octal.
You do not need to know octal to hack GS codes.
- 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.
You don't need to know the assignments for ascii characters,
so let's skip this part!
- About Most GS
- Most hackers use more
than one way to hack. Most know programming languages such as
binary/hex/octal, HTML, scripting languages, etc. HTML 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 any 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.)
- 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
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.)
Looking At The Source[Code]***
Hard, but most effective. Worth a shot.
Using Hacking Equipment*
Another easy 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.
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 Universe) to port any code for you. Hence
you can make a code before anyone else gets the chance!
This isn't rated. 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 sleight risk of loosing saved data on your GS
when turning the system on and off while guessing or modifying
codes. It happened to my PlayStation GS!!!!!) Now, ask yourself,
which method am I going to use to hack? When you get your answer,
continue on to the next section.
- How to guide
- a) What do I need?
- You need a Game Platform(N64,
PSX, etc.), you need a game to hack, and you need a GameShark.
You will also need other things to hack in other ways. You will
need to use your brain(yeah, there's even MATH involved!). You'll
need to read everything in this text.
- b) What do I need to Know?
- If you've managed to read
everything above, then you know about 40% of everything you'll
need to know about hacking. The remaining 60% is learning to
use hacking equipment and the software for it, among other things.
c) Learn your 'Shark
- There are a few things
you'll need to know about your GS before we begin hacking. You'll
discover how the 'Shark codes work.
This is the layout of all PSX 'Shark codes.
- XXYYYYYY ZZZZ
- Here are the most common
PSX/Saturn/N64 `GS Digits' that you must know (All of the following
- 80 - Default, Used for
"regular" codes that need no special FX.
88 - N64 GS Only, Default GSB, Used to activate the code by the
81 - These digits activate the 'Shark to make use of 16-bit mode
(all four quantifier digits).
D0 - "Flash Code," Used to "flash" the code
ONCE, rather than having the effect on all the time. (an example
is a code that uses two lines, both use the same base code, the
first code starts with "D0" and the second has "80"...
The D0 code will be used to "flash" the following 80
code only once. This is mostly used to stop the code from freezing
the game. Or to set a starting point[if you use a code that makes
the score ALWAYS 255, set a flash code in front of the 80 code
and you'll have the score START at 255 and it can still be raised.]
- 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.
- 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. To bad they don't know how
to share. 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.
- 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".
- Using GameShark
- Hacking the easy
- The easy stuff is codes
that are easily obtained. Such as infinite money, health, and
ammo. We will begin. To hack an Infinite Money code, first you
must start up the trainer process as a Known Value Search. Now
go into the game and take a readout while you have 0 money, select
the "Equal To" value as "000". Start the
second part of the process. Earn some cash, it doesn't need to
be a large sum. Then take a second readout with "Equal To"
value as the amount that your cash sum was. Now, when the trainer
shows you all possible codes, you can do one of two things. If
the amount of possibilities is too high, you can repeat the process.
You can return to the game, play around for a while, not earning
extra cash. Then do another search. Make sure you search for
the SAME value that you cash is. You should find your code in
- For a code like infinite
health, you go through the same steps above, only you will choose
an unknown value search, since there may be no way of telling
what the values will be. 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!
- 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. Choose the "less than" option for this one.
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
it's very rare to see this. And, of course, the second value
will be one less than the first. You can always regain an extra
life and search for greater than, or search an equal-to just
so you can simplify all possibilities.
- Another code is Infinite
Ammo. This one might be a little trickier. If you take the first
readout with 100 bullets, and the second with 50, then you would
choose the "less than" option and have the values "100"
- Hacking the intermediate
- The intermediate stuff
is like "In-Game Cheats", Have weapons/medals/items
- If you wanted a code that
gave you a weapon or an item, you would first do one unknown
search without having the weapon/item. You should repeat the
search w/o the item a coupe of time to make sure you have UNDER
1 million(trust me, it's hard to get them under a million. While
doing this, you will search for "equal-to in different parts
of the game. Then you can grab that item and search again, choose
"greater than". The fisrt quantifier SHOULD be "0000"
and the second will be "0001 / 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.
- For a code like "Activate
In-Game Cheats", you will take one known readout w/o the
cheat active(search for "0"), and the second search
with the cheat active(search for "1"). Good Luck.
- Hacking the harder
- The hard stuff is like
activators, and debug menus. To hack an activator takes a little
luck, and some time. First thing you would do is do a known search
on the games title screen. Take this readout when NOT pushing
any buttons on any controller(search for "0"). During
the second search, hold the L Button(PSX users, hold Circle).
Now search for the
- PSX - "32" NORMAL
- PSX - "8192"
REVERSE (switch to 16-bit mode)
- The two PSX versions are
listed because some games use activator quantifiers that are
different from the rest of the games. So look for those. When
you find the code that you think it is, Put the GS digits "D0"
on the code and test it by putting any code after it. When in
the game, hold L(or Circle) and the code will activate.
- 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 do a known search with the menu
NOT activated(search for "0") then the second with
it activated(search for "1"). There will be almost
1-2 million codes that register at "0" so be careful
and eliminate as much as possible. When the menu is active, the
"1" value search should shorten the list a lot. You
can also deactivate the list and search for "0" again.
do this alternately until the possibilities are below 20.
- Now it's time to find
the Debug Menus that have never been seen before! To pull this
off, you must go to a certain point in the game, usually the
title screen, and do two, normal known searches for the value
"0". You will see MANY MANY codes that have the values
as "0". 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.
- Thanks to firstname.lastname@example.org
for writing this text