The purpose of this page is to document all known tricks of the Pokemon generation 1 games on Game Boy, which include Red, Green, Blue, and Yellow.

List of categories

Due to the number of categories that exist for Gen 1 Pokemon games, it is helpful to list them here to avoid confusion.

Luck Manipulation

In RBGY/GSC (assuming fast text speed), the timing of a button press has a high influence on random factor. The duration of a button press (how long it is held down) has a mild influence on random factor. For example, holding a button down for different durations usually (but not always) preserves a critical hit while randomizing damage. Mashing the A button during dialog slows down the text a little, so it can be used to luck-manipulate.
In RBGY/GSC, when catching Pokémon, timing of entering squares has a high influence on random factor. Walking around in the grass without stopping has a mild influence; the desired type of Pokémonis not likely to change, but its DVs are likely to change. Duration of a button press also has a mild influence.
Most actions are determined when they are needed; for example, critical hits are determined when the damage is calculated, and attack misses are determined at the end of the attack message. However, there are a few things to watch out for:
(Game Mechanics)
(Pokémon personal stats)

Random Number Generator (RBGY)

Memory addresses FFD3 and FFD4 are the two RNG bytes. The I/O address FF04 (which may be anything) influences theses addresses in the following way:
Note that FFD3+FFD4 (the D-sum) either increases by 1 (in battles), decreases by 1 (in overworld), or remains constant. These changes occur many times per frame.
Random encounters are determined by the value of FFD3 and FFD4 as follows:
Pokémon Index by AreaFFD3 range
0 (common)0-50
9 (rare)253-255
It may be necessary to change the D-sum to be able to catch different Pokémon. This can be done by waiting one or two frames to clear a dialog in battle. Pressing A in the field can have an effect, but slows you down two frames.
During battle, FFD3 controls damage (not in an obvious way) and FFD4 controls critical hits. Both may be responsible for controlling accuracy. Delaying button presses produces large changes, and holding A in a dialog usually has a mild effect (which is why critical hits sometimes remain), but may occasionally produce a large change.

Tricks and glitches

Pokédoll glitch (RBGY)

In the Lavender Town Ghost Tower, it was intended that the ghost Marowak could only be bypassed using the Silph Scope. However, it can be bypassed using a Pokédoll obtained from the Celadon Dept. Store.

Non-100%-accuracy glitch (RBGY)

In RBY, any attack has at least a 1/256 chance of missing, including those attacks which are supposed to have 100% accuracy. This is due to a programming oversight.

Missingno. Pokémon and relatives (RBGY)

Not much is known about Missingno. (name is derived from “missing number”) other than that it glitches the game badly. Encountering a Missingno. automatically gives you 128 more of the item in the sixth slot of your pack (if it isn’t already above 127). In addition, Missingno. writes garbage to the savefile on encounter, messes up graphics, possesses abnormal stats and moves, has strange evolution lines, and does unpredictable things to the game.
Missingno. relatives: ‘M, Missingno., other glitch Pokémon of a high ID number, glitch trainers.
Missingno. is related to the ZZAZZ glitch.

Cinnabar Island glitch (RBG)

Also known as the Missingno. glitch. The east coast of Cinnabar Island (and Seafoam Islands) is a defined grassy encounter spot (which must be surfed), but has no defined encounter list. Instead, Pokémon from the previous grassy encounter list are used. This includes, for example, Safari Zone Pokémon if it was the last grassy area you traveled in. However, if you talked to the guy in Viridian who teaches how to catch a Weedle, and saw him catch a Weedle, your name is placed in the encounter list, which, when doing the glitch, may cause glitch Pokémon (or normal Pokémon with absurd levels) to appear:
    __ __ __ __ __ __ __  <-- these are the 7 characters of your chosen name
       L1 P1 L2 P2 L3 P3
This glitch does not work in Yellow version.

Trainer-Fly glitch (RBGY)

This glitch is also known as the Mew glitch. The basics of this glitch is that some of the trainers that battle you have a line of sight that is up, left, or right and sees you if you start one square past the line of sight (with the trainer offscreen) and walk one square toward the trainer. During this one-square-walk, the game defaults the trainer to facing downward before rendering the trainer in the proper direction, allowing you to open the menu and escape rope/dig/fly/teleport away as the trainer sees you. This will suspend the pre-battle trigger.
After you perform this, you cannot control your character except with the directional keys. To regain control, let a trainer see you but let the trainer walk up to you, so that control is regained after the battle. Fight other trainers and even wild Pokémon if you desire. Now walking back to the area where the pre-battle trigger occurred will trigger a magic wild Pokémon encounter (after you close the menu that pops up). This Pokémon's level is the Attack stat modifier (from -6 to +6) plus 7 (so for normal Attack stat modifier 0, level is 7). Which Pokémon this is depends on the special of the last Pokémon that you battled.

Skipping Snorlax (RBGY)

By performing the Trainer Fly glitch following certain rules both Snorlax blockades in the game may be skipped.
The rules for how this glitch works are as follows: [2]

Experience underflow on fading-experience Pokemon (RBGY)

Depending on the level-experience relationship a Pokemon has, each level corresponds to a certain amount of experience. For fading-experience Pokemon E = 1.2L³ - 15L² + 100L - 140, where E is the experience corresponding to level L. However, for L=1, E=-54. So if a fading-experience level 1 Pokemon is glitched by using Trainer-Fly (lowering the Attack stat modifier of the previous Pokemon as far as possible), it will have -54 experience, which the game interprets as 16777162 experience. Gaining 53 or less experience will cause its level to reset to L100.
Pokemon with fading-experience are Mew and all 3-stage-evolution Pokemon except the Caterpie and Weedle lines.

Masking Pokémon cries with the low health sound (RBGY)

If you are low on HP the game has a warning sound in effect the entire time. This sound, while annoying, will save time by masking the sound of enemy Pokémon battle cries. The sounds either will not be played or will be ignored saving time everytime a Pokémon comes out. Abuse of this trick is generally discouraged because the warning sound is considered annoying.

Glitch City glitch and walk through walls glitch (RBGY)

First, enter the Safari Zone. Exit and when asked to leave say "no". Save the game and reset. Then leave and when asked to enter say "yes". Leave through the bottom exit. Walk or bike 500 steps and you will be returned to the Safari Zone building. Exit and you will be in Glitch City.
If, however, you are halfway over a ledge jump before you are warped back, you can walk through walls at the Safari Zone building until you exit. Even more, if your last non-fainted Pokemon faints from poison while in the Safari Zone building, you are warped outside, where you can walk or bike over anything, even water, until you enter a building. This has many applications, such as:

Skip Pewter City gym (RBG)

Approach the Youngster that forces you to Pewter gym (but don't walk in front yet). Open the menu and select "Save", but don't save. Now walk in front of him and as soon as you close the last dialog with B (A doesn't work), immediately press Start and save the game (the cursor is frozen). Reset the game. Then the conversation will happen again; let him take you. After that, go back to where the Youngster should be and he should no longer be in the correct position. Walk through where he should have been and you have skipped the Pewter City gym.
You must do any item buying beforehand, since entering a building resets the Youngster's position.
Because of the walk-through-walls glitch above, you don't need the first badge, because you can skip the first badge check.
This glitch does not work in Yellow version.

Useful memory addresses (RBGY)[3]

Addresses listed are exact for Red/Blue US versions. Yellow is the same memory address minus 1.
CFE7: Current HP of current opponent.
CFF1: DVs of current opponent. This is used to determine the DVs of wild Pokémon that you want to catch.
CFF4: Stats of current opponent (except current HP). First is the total HP, followed by attack, defense, speed, and special. Each value is two bytes.
D0D8: Amount of damage current attack is about to do. Damage is rolled directly after the entire “- used such-and-such” dialog is displayed. A very nice thing about this is, one frame before the actual damage is calculated, the maximum damage possible is also stored in this memory location, which can help you to plan attacks and to know what exactly is possible or not.[4]
D186: DVs of the first Pokémon in your party. This is for your starting Pokémon.
In-game time:
DA40: Hours, two bytes.
DA42: Minutes, two bytes.
DA44: Seconds, one byte.
DA45: Frames, one byte.
FF04: I/O address used by the RNG for entropy. FFD3: RNG byte. Controls type of Pokémon in an encounter, and damage during battle. FFD4: RNG byte. Controls Pokémon encounter events, and critical hits.

See also

[2] Thanks to hanzou for this explanation.
[3] Credit goes to primorial#soup who found the memory addresses.
[4] primorial#soup’s description.
Expand/Collapse collapse-content-_e02b2b4b27fa4359ad176739c4f3da71

GameResources/GB/PokemonGen1 last edited by Fortranm on 1/12/2022 3:35 AM
Page History Latest diff List referrers View Source