How do GameShark codes work?

[BACK]
How do GameShark codes work?
Posted On: July 22, 2013

This has always boggled me. Obviously GameShark and Game Genie never got inside access to place their own cheats into every game. I don't think any developers gave them the source code to pour over for codes. And I don't think the original development process for these games included placing any of these codes themselves. So, what is a GameShark or Game Genie code, really?


Both of them usually take the form of a relatively short hexadecimal string (or multiple if that is the case) so my intuition tells me they use the same principle. But are they just memory addresses to flip a bit? Or lock it? Or XOR a series of bits with something? What is the code, and what does it do?


Question from user LoveAndCoding at gaming.stackexchange.com.


Answer:

How it works.


When GameShark (and other game enhancer products/homebrew) gets loaded by the console, the enhancer is what launches the actual game. In doing so, it leaves behind a Code Handler in the system RAM and "hooks" the game's programming.


Specific locations in a game's programming that get executed roughly every frame (like reading the controller data) are where "hooks" will be placed. (because SDKs are used, this makes finding hooks that work in all games for a system much easier).


What the hook actually does is redirect the flow of programming to the Code Handler the enhancer left behind. Once the Code Handler is finished executing, it returns the flow of programming back to the point of hijacking.


If you are familiar with GameShark's "Master Code", that is what sets the hook.


(other enhancers - like Gecko OS for Wii - don't need master codes because the enhancer itself has a handful of SDK-based hooks that it can "find" in the game while it loads.).


Structure of codes.


Now a code itself is separated into THREE parts:.


The CodeType (this is USUALLY the first byte of the code-- the first 2 Hex Characters). CodeTypes are specific to the enhancer.


The address in ram that the CodeType will use.


The value the codetype will use at the specified address.


The most common CodeTypes are:.


RAM Writes (typical options are 8bit, 16bit, or 32bit).


With RAM Write, the CodeHandler will take the value and place it at the address. (changing whatever was there, like setting your health to 100!).


Conditionals (typical options are >, <, =, !=).


With Conditionals, the CodeHander reads the value at the code's address and compares it to the value in the code. IF the comparison returns true, then the CodeHander will execute the next line in the code. (how many lines it executes is up to the enhancer and often is an option in the codetype itself!).


There is plenty more info we could dive into, but that should give you a good basis for understanding. =).


Source: Game hacker since 1999, founder of http://GeckoCodes.org.


Answer from user James0x57 at gaming.stackexchange.com.



[BACK]
How do GameShark codes work?
Posted On: July 22, 2013

This has always boggled me. Obviously GameShark and Game Genie never got inside access to place their own cheats into every game. I don't think any developers gave them the source code to pour over for codes. And I don't think the original development process for these games included placing any of these codes themselves. So, what is a GameShark or Game Genie code, really?


Both of them usually take the form of a relatively short hexadecimal string (or multiple if that is the case) so my intuition tells me they use the same principle. But are they just memory addresses to flip a bit? Or lock it? Or XOR a series of bits with something? What is the code, and what does it do?


Question from user LoveAndCoding at gaming.stackexchange.com.


Answer:

How it works.


When GameShark (and other game enhancer products/homebrew) gets loaded by the console, the enhancer is what launches the actual game. In doing so, it leaves behind a Code Handler in the system RAM and "hooks" the game's programming.


Specific locations in a game's programming that get executed roughly every frame (like reading the controller data) are where "hooks" will be placed. (because SDKs are used, this makes finding hooks that work in all games for a system much easier).


What the hook actually does is redirect the flow of programming to the Code Handler the enhancer left behind. Once the Code Handler is finished executing, it returns the flow of programming back to the point of hijacking.


If you are familiar with GameShark's "Master Code", that is what sets the hook.


(other enhancers - like Gecko OS for Wii - don't need master codes because the enhancer itself has a handful of SDK-based hooks that it can "find" in the game while it loads.).


Structure of codes.


Now a code itself is separated into THREE parts:.


The CodeType (this is USUALLY the first byte of the code-- the first 2 Hex Characters). CodeTypes are specific to the enhancer.


The address in ram that the CodeType will use.


The value the codetype will use at the specified address.


The most common CodeTypes are:.


RAM Writes (typical options are 8bit, 16bit, or 32bit).


With RAM Write, the CodeHandler will take the value and place it at the address. (changing whatever was there, like setting your health to 100!).


Conditionals (typical options are >, <, =, !=).


With Conditionals, the CodeHander reads the value at the code's address and compares it to the value in the code. IF the comparison returns true, then the CodeHander will execute the next line in the code. (how many lines it executes is up to the enhancer and often is an option in the codetype itself!).


There is plenty more info we could dive into, but that should give you a good basis for understanding. =).


Source: Game hacker since 1999, founder of http://GeckoCodes.org.


Answer from user James0x57 at gaming.stackexchange.com.



[BACK]

How can I show the map layer ui? How can I show the map layer ui?

Posted On: October 20, 2023
With the release of version 4.0 layered maps are now in the game, allowing you to swap between surface level and lower levels. When you select something 'underground' the layers map ui is s...[More]


Are Cheats in GTA5 official feature or is it some hack spread by developers - users? Are Cheats in GTA5 official feature or is it some hack spread by developers - users?

Posted On: November 30, 2023
When you press ` (backtick) key in GTA5, you can enter cheat codes like BUZZOFF. Now I was wondering is this official feature? I find it a bit strange because on GTA5 official site and in their Man...[More]


What game is this music featured in Garrys Mod Idiot Box from? What game is this music featured in Garrys Mod Idiot Box from?

Posted On: September 3, 2023
I was watching some funny Garry's Mod Idiot Box episodes on YouTube. In episode 3 at 5:41 is a scene that has some music being played in the background. What game is from? It sounds so familiar to...[More]


Can I save Burmano from Himself in Zelda Tears of the Kingdom? Can I save Burmano from Himself in Zelda Tears of the Kingdom?

Posted On: June 22, 2023
Darling Burmano is the in-house chef for Lookout Landing, and very early in my adventure, he asked for an apple. After completing this quest, the next time I returned to Lookout Landing, the Chef was ...[More]


What happened to old high scores on the updated Imagine Dragons maps? What happened to old high scores on the updated Imagine Dragons maps?

Posted On: October 19, 2023
Beat Saber v1.28.0 updated the Imagine Dragons Song Pack to change the layouts of existing songs. Surprisingly, it looks like old high scores from the previous versions weren't wiped from the lead...[More]


In the Xenoblade Chronicles 3, Can characters with more HP survive falling from a greater height? In the Xenoblade Chronicles 3, Can characters with more HP survive falling from a greater height?

Posted On: March 11, 2023
I noticed the characters in my party can have vastly different amounts of HP depending on their class. My Soulhacker has 1,617 HP while my Lost Vanguard has 8,450 HP. If I switch to a character wit...[More]


Wyll got one shotted before his first turn ever Wyll got one shotted before his first turn ever

Posted On: March 27, 2025
What a great way to start my first tactician run. Wyll got critted by a goblin before his first turn.Question from user PapaPepper1999 at BaldursGate3 at reddit.com.Answer:Provoke the blade, and suffe...[More]


How is the additional damage from Chosen weaknesses calculated? How is the additional damage from Chosen weaknesses calculated?

Posted On: January 18, 2023
Some of the Chosens' possible weaknesses make them take additional damage from particular damage sources. These are:.Shell-shocked - additional damage from explosives.Brittle - additional damage from ...[More]


Is this Moaning Myrtle in Hogwarts Legacy? Is this Moaning Myrtle in Hogwarts Legacy?

Posted On: June 23, 2023
My fiance was playing Hogwarts Legacy and this girl walked by that looks like Moaning Myrtle. Idk if its supposed to be her or just look like her but either way it's funny. Question from user F...[More]


In Pokemon Go does the Vivilion postcard pinning overflow to the next medal? In Pokemon Go does the Vivilion postcard pinning overflow to the next medal?

Posted On: March 3, 2023
If I have a Vivilion medal at 12 out of 15 and then pins 5 postcards for that model, would the medal be completed and the left over of 2 be brought over to the next medal? Or would the new medal st...[More]