Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of an article from Glitch City Laboratories wiki.

A live version of this article is available at the Glitch City Wiki here.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of the wiki in .tar.gz or .xml.gz formats.

Pokémon Yellow reverse badge acquisition no underflow route

The Pokémon Yellow reverse badge acquisition no underflow route combines the already-niche goal of "reverse badge acquisition" with the restriction of not allowing item underflow. "Reverse badge acquisition" routes require the player to get the badges in the opposite order as they appears on the trainer card (Earth, Volcano, Marsh, Soul, Rainbow, Thunder, Cascade, Boulder). All badges must be acquired in the "intended" way of defeating the corresponding gym leader, but of course sequence breaking glitches must be used for this to be possible. As with many R/B/Y category extensions, arbitrary code execution and the SRAM glitch are not allowed due to their tendency to trivialize otherwise interesting goals. The run ends at Hall of Fame, but the Elite Four (and the Champion) may be skipped since they are not related to the badges.

The route makes use of two glitch marts, one from text box ID matching and one from the Yami Shop glitch. Many items used in the route are bought from those glitch marts, including the following glitch items:
  • 6F, which is a partial battle escape item, a requirement of the LOL glitch, which is used to catch a high-level Jynx that will be used for all the gym leaders.
  • ????? ("Surfboard"), which removes the need to have a Pokémon learn Surf to get to Cinnabar Island.
  • 4# ぅ#▶ 't4# ("TMTRAINER"), which is an unterminated name glitch item, the other requirement of the LOL glitch. It also has many other utilities, including activating the Rival's effect on certain tiles to "Jack through walls", and triggering the Yami Shop glitch.
  • #o## ("Jack"), which allows activating the Rival's effect with no tile restriction. Brock Through Walls is also used in cases where other movement options are slower, with an unconventional setup that requires the player to "Jack through walls" in the first place.

    Several luck manipulations are used throughout the route. The most crucial one is known as "THE Manip", which is also used in the Yellow any% No Save Corruption route. It sets up the first glitch mart by manipulating NPCs to walk in a certain way, leaving a 0xFE byte at a specific address in the OAM buffer. Other luck manipulations (in roughly decreasing order of importance) are to get an encounter for the death-warp, to get a specific Trainer ID so that HM02 and TM30 (which are otherwise slow to get) appears in a glitch mart, and to walk through Viridian Forest without unwanted encounters.

    This page documents the route and analyzes the glitches used in detail.

    The content of this page is based on the route guide by entrpntr. Details unrelated to glitches/manipulations (i.e. for time saving only) are omitted.


  • Manipulate for a Trainer ID of 0xC5E6 (50662).
  • This manipulation is done with the following sequence of actions: fastest intro, Oak reset, fastest intro with 1 backout, Oak reset, fastest intro.
  • This puts HM02 and TM30 in Pewter glitch mart.
  • Name the player any one-character name (which matters for later manipulations).

  • Play the game normally, delivering Oak's Parcel, then buying Poké Balls from Viridian Mart.
  • The recommended number of Poké Balls is 5~8, because the player needs at least $1400 for later (more precisely, the player needs $700 to buy a single Max Repel after doing a death-warp, halving the player's money in the process), and also at least one Poké Ball left after catching Pidgey.
  • Backtrack to Route 1 to catch a Pidgey, and give it a one-character nickname.
  • Go to Viridian Pokémon Center, deposit Pikachu in the PC, and heal to set the death-warp destination.

    Trainer escape and Forest glitch mart

  • Manipulate RNG to walk through Viridian Forest without encounters until the last patch of grass.
  • Note that the player's name affects the manipulation, since it's displayed when picking up the Potion.
  • Manipulate a Pidgeotto encounter in front of the mandatory trainer, and lose the battle.
  • The trainer will notice the player before the player blacks out. This completes the first part of the Trainer escape glitch.
  • Do a series of actions consisting of both RNG manipulation and glitch setup, collectively known as "THE Manip". The exact steps include:
  • After hard resetting, flash the Pokédex at a specific location on the Viridian City map.
  • Manipulate the NPCs in the house in Viridian City with a Spearow, so that the bytes "A0 FE" are left at $C330 in the OAM buffer.
  • There are two backup manipulation sequences, to be used when the NPCs move in unexpected ways when the player enters the house, indicating an unfavorable IGT. The player needs to load the same save file, but walk to the house in different ways:
  • If the girl walked up and the bird walked right, do U11, R2, U3, with A presses at U8/U10/R1.
  • If the girl walked down and the bird walked left, do U13, R2, U1, with A presses at U1/U9/R1.
  • (For comparison, in the standard manipulation, do U13, R2, U1, with A presses at U8/U10/R1. Ideally the girl should walk up and the bird should walk left.)
  • Read the Town Map on the wall in the process.
  • Town Maps on the wall display a "predefined text", with ID 0x41 for the purpose of text box ID matching. However, since text box ID matching does not use the "predefined text" code path, the game instead tries to display text ID 0x41 for Viridian Forest, which happens to point to $C331, which has just been manipulated to be 0xFE.
  • On the way to Viridian Forest, jump over a ledge. Avoid encounters by going around the tall grass.
  • When the player returns to Viridian Forest, the game will try to display the text from $C331, but it will first check the first byte for some special casesThe "first byte" special cases in DisplayTextID. Since the first byte is 0xFE, the game will display a mart instead, interpreting the rest of the "text" as the item list.
  • Buy the following items (all are free except the single Max Repel, which costs $700):
  • Max Repel x1
  • Bicycle x23
  • Bicycle x91
  • The above two stacks will combine into Bicycle x99 and Bicycle x15. In addition, the quantity "x91" is saved in a temporary variable, which is also an item in the glitch mart, due to the glitch mart having too many items. Therefore, when the player scrolls down, they can find...
  • 6F x7 (partial battle escape glitch item)
  • ????? x1 ("Surfboard")
  • Master Ball x99
  • All those three items are found in the same slot; they are all derived from the quantity of the previous item bought.
  • This is an unterminated name glitch item. As such, simply selecting it from a menu causes memory corruption by copying from $CD6D from $CF4B. This causes $CF91, which stores the ID of the item selected, to be corrupted to 0x7C (vertical menu border tile).
  • As a useful side effect, $CF94 (wListMenuID) is also corrupted, and when its value is not PRICEDITEMLISTMENU, the "choose quantity" text box will not display, and in fact will skip computing, the total price. Therefore the "total price" variable will stay at 0 (the total price for buying Master Ball x99), and the player gets to buy the item for free.
  • The 0x7C glitch item, 4# ぅ#▶ 't4#, happens to also be an unterminated name glitch item. After choosing a quantity, the same corruption happens again, and importantly now it also corrupts $CF96 (wItemQuantity) to 0xBA (the character "é"). Therefore, the player gets 4# ぅ#▶ 't4# x186 despite only choosing to buy one.

    Route 2

    This article is incomplete. Please feel free to add any missing information about the subject. It is missing: Index number.

  • Swap Poke Ball with bottom Bicycle, get on Bike
  • Bike to jack tile (,142) and turn to face left (moving left one tile is fine)
  • Pretend to use TMTRAINER, skip over boulders, flash party ("unjack")
  • Pick up HP Up (skip jingle if not slow)
  • Go through gate and WALK to next jack tile (,113 -- this jack softlocks if on bike)
  • Pretend to use TMTRAINER, go up 1 tile and buffer menu (internal direction changes to UP if buffered)
  • Swap HP Up with Potion
  • Use HP Up but backout on party screen ("medicine re-jack")
  • Bike past Diglett's Cave to other side of r2, unjack
  • Grind for an encounter in grass
  • Use 6F, open menu, flash party, close menu, bike to Pokemon Center and heal
  • Walk to tile (,78) and flash items, continue walking to Pewter Mart

    Pewter Mart

  • Sell:
  • Master Ball x3
  • Buy:
  • Jack x1
  • Ether x99
  • HM02 x1 (with TM30 on bottom of screen, which ensures cost is $1000)
  • TM30 x2
  • Close glitched mart, then re-open unglitched mart
  • Buy:
  • Burn Heal x99
  • Escape Rope x2
  • Awakening x1
  • Antidote x99
  • Antidote x99
  • Antidote x1


  • Walk to Museum, go upstairs to Jynx tile
  • Pretend to use TMTRAINER, catch Jynx with Master Ball, nickname 1 char ("J")
  • Flash party (to get out of jack state), swap Jynx and Pidgey
  • Exit museum and head to Brock fan jack tile (,66)
  • Use Burn Heal to heal Jynx's status, swap Jack with Poke Ball, use Jack
  • Go to tile above Brock fan, talk to him without unjacking (!)
  • Brock thru Walls to Viridian Gym (fastest to go straight down, then left at the end)
  • NOTE: This particular BTW method relies on an 0F23 setup in items. Specifically, starting from an odd slot, the order must be: [item] x15 | HP Up x1 |


  • Defeat Giovanni. Before exiting his gym:
  • Use Max Repel
  • Pick up Revive (~0.2s faster than combining Max Repel and Bike menus and getting TM38 from Blaine)
  • After exiting gym:
  • Bike to Pallet
  • Use Surfboard and surf to Cinnabar
  • Defeat Blaine.
  • The player may run out of Blizzards at this point. If this happens, the player should not use Ether during the battle, since that would cause instant victory, which is banned in this category. Instead, just use Ice Punches to finish things off.
  • Menu after Blaine:
  • Ether on Blizzard
  • Teach Fly to Pidgey
  • Teach Teleport to Jynx (over Thrash)
  • Use Burn Heal if burned
  • Escape Rope to Pewter
  • Brock thru Walls
  • Bike to house near Brock fan and enter/exit
  • Brock thru Walls to r23
  • Walk up until Indigo Plateau map loads, then Teleport to Pewter
  • Brock thru Walls to Saffron Gym (still in BTW state after Teleporting)
  • Defeat Sabrina. Heal in Celadon Pokémon Center.
  • Defeat Koga. Teleport to Celadon.
  • Defeat Erika. Teleport to Celadon.
  • Defeat Surge. Fly to Cerulean.
  • Defeat Misty (using Surfboard to reach her). Fly to Pewter.
  • Defeat Brock.
  • Fly to Indigo, skip E4+Champ, go immediately to HOF.

    YouTube video

    [b]YouTube video by PLASMA GER[/b]