GameShark: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
No edit summary
 
(64 intermediate revisions by 38 users not shown)
Line 1: Line 1:
'''GameShark''' is a [[cheating]] device used to alter the internal data of many video games. It is well-known for its use in the Pokémon series, as it is one of the ways to easily get [[legendary Pokémon]] or Pokémon only available through an event, and many rare items, such as [[Master Ball]]s.
[[File:GameShark logo.png|thumb|GameShark logo]]
The '''GameShark''' is a [[cheating]] device used to alter the internal data of many video games. It is well-known for its use in the Pokémon series, as it is one of the ways to easily obtain [[legendary Pokémon]] or Pokémon only available through an {{pkmn2|event}}, and many rare [[item]]s, such as [[Master Ball]]s, [[Rare Candy|Rare Candies]], or [[vitamin]]s.


Use of a GameShark can sometimes cause unwanted corruption of a save file. If the game is not inserted correctly into the slot, this is especially likely.
Use of a GameShark can sometimes cause corruption of a save file. This is especially likely if the game is not inserted correctly into the slot or if it is bumped while playing. In the [[Generation I]] games, complete deletion of the save may occur if the game is taken out while the GameShark is running. Also, if too many codes are entered in a GameShark, it may stop working.


==Gameshark Codes==
==Codes==
A gameshark code is made up of three parts. The first part is the code type, which is commonly represented as 01. The second is the quality digits, which are the digits that will go into that space in memory. This is usually represented by XX so that it can be modified to the number that you want later. As always, all values follow the Hexidecimal Numbering System. The third and final part is the address in memory, represented in Little Endian notation.  That means if you want to modify the address C000, you'd have the last part of your code be 00C0. These all combind to make a Gameshark Code.  So, the code 010100C0 tells me that the code type is 1, and that the value 01 will be put into the address C000.
===On [[Game Boy]] and [[Game Boy Color]]===
A GameShark code for these consoles is written in the format '''ttvvaaaa'''. '''tt''' specifies the code type and VRAM bank, which is usually 01. '''vv''' specifies the {{wp|hexadecimal}} value the code will write into the game's memory. '''aaaa''' specifies the memory address that will be modified, with the low byte first (e.g. address C056 is written as 56C0). The GameShark hooks into the {{wp|vertical blank}} {{wp|interrupt}} to write the given value to memory every frame. Up to 15 codes can be active at once.


{{stub}}
===On [[Game Boy Advance]]===
GameShark codes for Game Boy Advance are encrypted; once decrypted, the codes are in the format '''ttaaaaaa vvvvvvvv'''. The GBA GameShark supports multiple code types such as 8-bit, 16-bit and 32-bit memory write, memory copy, conditional write, and ROM patching. It also supports long codes, which span over several lines and write up to 256 bytes into memory.
{{incomplete|section|Add information about the encryption used}}
 
===On [[Nintendo 64]]===
GameShark codes for Nintendo 64 use the format '''ttaaaaaa vvvv'''. The N64 GameShark supports fewer code types than the GBA GameShark, and codes can only write up to 2 bytes each. With games that do not use the N64 Expansion Pak, the GameShark can use it to store thousands of active codes or an in-game code search tool. Games that use the Expansion Pak have limited support, but generally still allow a few dozen active codes.
 
The N64's CIC protection chip prevents the GameShark from working natively with many games. To play a protected game, the user must first insert a non-protected game (e.g. Super Mario 64), turn the console on, and select the appropriate ''key code'' in the GameShark menu. The user can then turn the console off, insert the protected game, and use the GameShark normally. This process must be repeated every time a protected game is used, and the GameShark will be rendered unusable if the user selects a key code that does not correspond to any game they own.
 
==Unintended side-effects==
If a code is incorrectly entered, the game may give the player a [[Bad Egg]], rewrite the Bag contents, freeze the game, corrupt or delete a Pokémon, corrupt the Hall of Fame data, or simply corrupt the save file. These occurrences may also occur at other times. In other situations, nothing unintended may occur.
 
==Criticism==
The GameShark was widely criticized for its poor construction and software quality. The Game Boy Color and Nintendo 64 models had a bare cartridge connector instead of a slot, so cartridges could be easily jarred out of place during play. The software used buggy and incorrect methods of writing to its internal memory, which caused it to occasionally corrupt the code list or the software itself and could render the device unusable. The case was made of thin plastic and fell apart easily.
 
Additionally, the devices left the flash memory chips fully accessible to games, which allowed them to easily detect and even erase the GameShark. No games are known to tamper with it, however most N64 games included routines that would prevent the game from running or erase save files if a GameShark was detected. While these routines can be detected and removed automatically, the GameShark did not make any attempt to do so.
 
==Related articles==
* [[Action Replay]]
* [[Monster Brain]]
* [[Cheating]]
* [[POKESAV]]
 
==External links==
*{{wp|GameShark}}
 
{{Project Games notice}}
 
[[Category:Cheating]]
[[Category:Electronic devices]]
 
[[ja:プロアクションリプレイ]]

Latest revision as of 21:23, 22 June 2024

GameShark logo

The GameShark is a cheating device used to alter the internal data of many video games. It is well-known for its use in the Pokémon series, as it is one of the ways to easily obtain legendary Pokémon or Pokémon only available through an event, and many rare items, such as Master Balls, Rare Candies, or vitamins.

Use of a GameShark can sometimes cause corruption of a save file. This is especially likely if the game is not inserted correctly into the slot or if it is bumped while playing. In the Generation I games, complete deletion of the save may occur if the game is taken out while the GameShark is running. Also, if too many codes are entered in a GameShark, it may stop working.

Codes

On Game Boy and Game Boy Color

A GameShark code for these consoles is written in the format ttvvaaaa. tt specifies the code type and VRAM bank, which is usually 01. vv specifies the hexadecimal value the code will write into the game's memory. aaaa specifies the memory address that will be modified, with the low byte first (e.g. address C056 is written as 56C0). The GameShark hooks into the vertical blank interrupt to write the given value to memory every frame. Up to 15 codes can be active at once.

On Game Boy Advance

GameShark codes for Game Boy Advance are encrypted; once decrypted, the codes are in the format ttaaaaaa vvvvvvvv. The GBA GameShark supports multiple code types such as 8-bit, 16-bit and 32-bit memory write, memory copy, conditional write, and ROM patching. It also supports long codes, which span over several lines and write up to 256 bytes into memory.

050Diglett.png This section is incomplete.
Please feel free to edit this section to add missing information and complete it.
Reason: Add information about the encryption used

On Nintendo 64

GameShark codes for Nintendo 64 use the format ttaaaaaa vvvv. The N64 GameShark supports fewer code types than the GBA GameShark, and codes can only write up to 2 bytes each. With games that do not use the N64 Expansion Pak, the GameShark can use it to store thousands of active codes or an in-game code search tool. Games that use the Expansion Pak have limited support, but generally still allow a few dozen active codes.

The N64's CIC protection chip prevents the GameShark from working natively with many games. To play a protected game, the user must first insert a non-protected game (e.g. Super Mario 64), turn the console on, and select the appropriate key code in the GameShark menu. The user can then turn the console off, insert the protected game, and use the GameShark normally. This process must be repeated every time a protected game is used, and the GameShark will be rendered unusable if the user selects a key code that does not correspond to any game they own.

Unintended side-effects

If a code is incorrectly entered, the game may give the player a Bad Egg, rewrite the Bag contents, freeze the game, corrupt or delete a Pokémon, corrupt the Hall of Fame data, or simply corrupt the save file. These occurrences may also occur at other times. In other situations, nothing unintended may occur.

Criticism

The GameShark was widely criticized for its poor construction and software quality. The Game Boy Color and Nintendo 64 models had a bare cartridge connector instead of a slot, so cartridges could be easily jarred out of place during play. The software used buggy and incorrect methods of writing to its internal memory, which caused it to occasionally corrupt the code list or the software itself and could render the device unusable. The case was made of thin plastic and fell apart easily.

Additionally, the devices left the flash memory chips fully accessible to games, which allowed them to easily detect and even erase the GameShark. No games are known to tamper with it, however most N64 games included routines that would prevent the game from running or erase save files if a GameShark was detected. While these routines can be detected and removed automatically, the GameShark did not make any attempt to do so.

Related articles

External links

Project Games logo.png This game-related article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.