Main Menu

Glitches

References/Resources

Affiliates

Technical

Search Wiki

Toolbox

User:Bbbbbbbbba/Pokémon Blue "Catch 'em All" speedrun route
 User page | Discussion | View source | History

From Glitch City Laboratories

Jump to: navigation, search
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: A large portion of the route.

The current Pokémon Blue "Catch 'em All" speedrun route obtains all 151 valid Pokémon using a variety of intended methods and glitches. The glitch used the most to obtain Pokémon is the LOL glitch. The run also performs the dry underflow glitch early on both the PC and the item pack, and uses the expanded item pack extensively to obtain Master Balls, Rare Candies and glitch items, warp around on the map, and do other memory corruptions.

The run also uses many luck manipulations. Most of them are to encounter specific Pokémon in their intended habitat, either by DSum manipulation or by hard-reset manipulations (including a Pidgey at the beginning for Brock Through Walls). Two other manipulations are used near the beginning, to get a desired Trainer ID and to death-warp from a trainer twice for a x255 item stack.

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

The content of this page is based on the route guide by Shenanagans, Eddaket, Dabomstew, Stringflow, and Krazyd4n. Details unrelated to glitches/manipulations (i.e. for time saving only) are omitted.

Intro

  • If there is an existing save file, clear it by pressing Up + Select + B on the title screen.
  • Manipulate for a Trainer ID of 0x805E (32862).
  • Name the rival "AaR SS×" (the last character is a multiplication symbol, not a lower case X).
  • Set options to Fast/Off/Shift (this shows up in the expanded item pack later).
  • Pick Bulbasaur as the starter.

Brock Through Walls setup

There are two strategies to activate Brock Through Walls. The Pidgey strategy is faster, but is not consistent because it requires the Bulbasaur's Special stat to hit exactly 16. The PP strategy is slower, but consistent.

Either way, there are some steps that, for time reasons, are best done before activating Brock Through Walls.

  • Acquire six item stacks.
    • In the route, this is done by saving a Potion (appears in many places throughout the early game), buying 10 Poké Balls and 1 Paralysis Heal in Viridian City, picking up an Antidote in Viridian Forest, then buying 1 Burn Heal and 1 Escape Rope in Pewter City.
  • Catch a Pidgey (best to maniplate a 17 HP one on route 2).

Pidgey strategy

  • Make sure Bulbasaur hits 16 Special.
    • After winning the rival fight, the Bulbasaur will level up to L6, and the player should note its Special stat here.
      • If it has 13 Special, then it is most likely to hit 16 Special at L8 (75% probability). Therefore the player needs to kill an encounter (ideally L2/3 Rattata or L2 Pidgey) on the way to Pewter City.
      • If it has 14 Special, then it is most likely to hit 16 Special at L7 (43% probability). Therefore the player needs to avoid killing any encounter (Bulbasaur will level up after the Weedle Guy fight).
      • If it has 12 Special, then it is unlikely to hit 16 Special at all, so the player should either reset immediately, or commit to the PP strategy.
  • Put the Bulbasaur in slot 1 of the party, and the Pidgey in slot 2.
  • Mark sure Pidgey has 8, 10, 13, 15, 16, or 17 current HP (guaranteed if caught from the manipulation).
    • Some HP values may have unwanted complications (like disabling the Start menu, requiring a save from the PC). Again, it is best to just manipulate a 17 HP Pidgey.

PP strategy

  • Make sure the Bulbasaur is level 8, and has the following moves, in this order: Leech Seed (any amount of PP), Tackle (16 PP), Growl (36 PP).
    • Bulbasaur learns Leech Seed on level 7. It is best to kill two encounters (or one L4 Rattata) so that it learns Leech Seed before the Weedle Guy fight, and use the Weedle Guy fight to switch the move order.
  • Put the Bulbasaur in the last slot of the party.
  • Flash the party menu after doing the Pewter Gym skip.

Out of bounds travel

  • Trigger Brock Through Walls by doing the Pewter Gym skip glitch normally, going to Route 3 and back, then talking to the Youngster from the right.
    • For the PP strategy, remember to flash the party menu after the Pewter Gym skip, before talking to the Youngster.
  • Follow the red path below.
    • It is important to go up on the Route 3 map, rather than the Pewter City map. As the map above Route 3 is Route 4, this puts the player in the out of bounds area of Route 4 (more specifically, the phantom quadrant).

Out of bounds route 1.pngOut of bounds route 2.png

  • Walk left all the way to the tile on the right picture.
    • This tile pattern will appear early on during the travel, but 2 tiles higher. That is only a phantom copy of this place; keep going left.
    • This is actually a map connection tile on the right boundary of Route 4. After stepping on this tile, the player will be on the Cerulean City map, at an actually existing (but normally inaccessible) tile. The "cave" texture on the bottom-left corner is the "background tile" of Route 4, which is normally kept out of sight by strategically placed walls.
  • From here on, walk to the Vermilion Pokémon Center in a "normal" shortest path.
    • The preferred path is first walk straight down (through the out of bounds area of Route 5) to Saffron City, then turn right at the row below the Pokémon Center door, go to the column to the right of the door, then walk down (through the in bound portion of Route 6) onto the tile left of the Vermilion Pokémon Center door, and step right into the door.
    • Taking a warp ends the "walk through walls" effect.

Vermilion City

  • In the Pokémon Center, deposit Bulbasaur, and heal to set the death-warp destination.
  • Use the death-warp method of the trainer escape glitch to encounter MissingNo. and duplicate the sixth item (Escape Rope x1 in the route).
    • Manipulate a Spearow encounter in front of the leftmost trainer on Route 11.
      • The Spearow will be at a much higher level than your Pidgey, so losing is easy.
    • After dying, go to the house west of the Poké Mart, where there is a girl looking to trade her Farfetch'd named "DUX". Talk to her and say no.
    • On the way back to Route 11, read the Vermilion Harbor sign to avoid triggering a glitch meta-map script. (This results in a glitch text box with "13 ERROR.".)
    • Attempt to run away from the MissingNo.
      • If the player succeed in running away, the "defeated" flag of the leftmost trainer on Route 11 will be set. This will lead to some complications (mentioned below), but is still faster overall because it saves a trip from the Pokémon Center to the entrance of Route 11.
  • Toss 2 Escape Ropes to set the quantity to 127, then repeat the above steps.
    • If the player died to the first MissingNo., repeat the Spearow manipulation above. If the player escaped, the leftmost trainer will not be usable, so do a manipulation with another trainer instead.
    • Since the "13 ERROR." glitch text box points to the Route 11 trainer defeat flags, escaping from the first MissingNo. will set the first byte to 0x08 (TX_ASM), leading to a crash. Therefore, in this case the player should flash the Start menu instead of reading the Vermilion Harbor sign. (The guide states that reading the Harbor sign crashes even if the player died, but this is unconfirmed either way.)
    • Don't bother running away this time. Since we want to be at the Pokémon Center anyway, selecting a weak attack and (hopefully) be killed by MissingNo. first is faster.

PC underflow

  • After blacking out, enter the Pokémon Center, go to the PC, and open the item deposit menu.
  • Using the Escape Rope x255 stack, do dry underflow in the item pack first. The exact sequence of actions:
    • Swap the item in slot 3 (may differ depending on Potion strategies earlier) with the Escape Ropes, then deposit that item. (Item count = 5)
    • Deposit either all Potions or Poké Balls from slot 1 or 2, whichever is more convenient. (Item count = 4)
      • This duplicates the Escape Rope x255 stack, which helps with setting up PC underflow later.
    • Deposit the full stack of Escape Rope x255 in slot 2; there will still be a full stack in both slot 2 and slot 3. (Item count = 3)
    • Close the PC, and open the item pack from the Start menu.
    • Toss the top item stack twice. (Item count = 1)
    • Toss 253 Escape Ropes from slot 1.
    • Swap slot 1 with slot 2 twice. (Item count = 255)
  • Now use the expanded item pack to set up for the next segment of the route.
    • Swap Escape Rope x0 with a stack of #j. x0 between #j. x129 and Master Ball x128.
    • Swap the #j. x129 with Master Ball x128.
    • Swap the #j. x129 stack again with Master Ball x5 a few slots below, then toss all but 6.
Item slot In-game meaning Before After
Hex Item stack In-game value Hex Item stack In-game value
1st Actual first item 1D 00 Escape Rope x0 00 00 #j. x0
... ... ... ... ... ... ... ...
28th 11th character of rival's name (unused)
Options
00
81
#j.
x129

Fast (1 frame per letter)/Off/Shift
01
80
Master Ball
x128

Fastest (0 frame per letter)/Off/Shift
29th Obtained badges
Unused
00
00
#j.
x0
No badges obtained 1D
00
Escape Rope
x0
Badges 1, 3, 4, 5 obtained (allowing Fly)
30th Letter printing delay flags
Upper byte of Trainer ID
01
80
Master Ball
x128
(default)
0x80
01
05
Master Ball
x5
(unchanged)
0x05
... ... ... ... ... ... ... ...
36th X block coordinate
"Outdoor" map (used by the exit warp)
01
05
Master Ball
x5
1
Vermilion City
00
06
#j.
x6
0
Celadon City
  • Open the PC again (the background graphics will shift to the right because the X block coordinate changed), and open the item withdraw menu.
  • Do dry underflow again in the PC, the item count of which is currently 3 (the three stacks we just deposited).
    • Withdraw the top 2 items. (Item count = 1)
      • This fixes the item pack, setting the item count there to 1 with a properly terminated list.
    • Withdraw 253 Escape Ropes from slot 1.
    • Swap slot 1 with slot 2 twice. (Item count = 255)
  • Now use the expanded PC item list to set other things up.
    • Scroll down to find a stack of #j. x163, select the stack of #j. x0 above that and withdraw 1 from it.
    • Scroll down to Full Restore x0, and swap them with the #j. x128 stack 3 slots below.
    • Withdraw 255 from the Master Ball x0 stack below.
    • Withdraw 36 Full Restores. (They are withdrawn after the Master Ball x255 so that they will not be erased during the second item underflow.)
    • Swap Master Ball x1 with a stack of Poké Ball x0 down below.
    • Swap Master Ball x1 again with #j. x0 below.
    • Withdraw 255 from the #j. x0 stack now above the Master Balls.
    • Withdraw 255 from the #j. x0 stack 5 below the Master Balls.
    • Withdraw 255 from the #j. x0 stack below the stack you just withdrawn from.
    • Withdraw 255 from the #j. x0 stack 8 below the Ultra Ball x0 stack.
    • Withdraw 255 from the #j. x0 stack 3 below the stack you just withdrawn from.
Item slot In-game meaning Before After
Hex Item stack In-game value Hex Item stack In-game value
53rd Unused
Number of coins (BCD, first two digits)
00
00
#j.
x0

00
00
FF
#j.
x255

FF (165)
54th Number of coins (BCD, last two digits)
Hidden object flags, byte 0
00
A3
#j.
x163
00
(default)
00
A3
#j.
x163
00
(unchanged)
... ... ... ... ... ... ... ...
59th Hidden object flags, byte 9
Hidden object flags, byte 10
10
00
Full Restore
x0
(default)
(default)
00
80
#j.
x128
Silph Co. 1F receptionist shown
Power plant HP Up hidden
... ... ... ... ... ... ... ...
62nd Hidden object flags, byte 15
Hidden object flags, byte 16
00
80
#j.
x128
(default)
(default)
10
DC
Full Restore
x220
Rocket Hideout B1F Hyper Potion hidden
Rocket Hideout — multiple items and Giovanni hidden
63rd Hidden object flags, byte 17
Hidden object flags, byte 18
01
00
Master Ball
x0
(default)
(default)
04
00
Poké Ball
x0
Lift Key shown; A scientist in Silph Co. 2F hidden
(unchanged)
... ... ... ... ... ... ... ...
95th Pewter City meta-map script ID
Route 3 meta-map script ID
04
00
Poké Ball
x0
Youngster script
Normal
00
01
#j.
x1
Normal
Battle pending
96th Route 4 meta-map script ID
Unused
00
00
#j.
x0
Normal 01
01
Master Ball
x1
Battle pending
... ... ... ... ... ... ... ...
101st Route 25 meta-map script ID
Route 9 meta-map script ID
00
00
#j.
x0
Normal
Normal
00
01
#j.
x1
Normal
Battle pending
102nd Route 10 meta-map script ID
Mt. Moon 1F meta-map script ID
00
00
#j.
x0
Normal
Normal
00
01
#j.
x1
Normal
Battle pending
... ... ... ... ... ... ... ...
106th Viridian Mart meta-map script ID
Route 22 Gate meta-map script ID
02
00
Ultra Ball
x0
Got Oak's Parcel
Normal
02
00
Ultra Ball
x0
Got Oak's Parcel
Normal
... ... ... ... ... ... ... ...
114th Route 19 meta-map script ID
Route 21 meta-map script ID
00
00
#j.
x0
Normal
Normal
00
01
#j.
x1
Normal
Battle pending
... ... ... ... ... ... ... ...
117th Route 11 meta-map script ID
Route 12 meta-map script ID
00
00
#j.
x0
Normal
Normal
00
01
#j.
x1
Normal
Battle pending
  • Here "battle pending" is the same meta-map script used by the trainer escape glitch. As can be seen, the primary purpose of this segment is to set up special encounters on various maps. The secondary purpose is to get some useful items in our item pack.
  • Exit through the left doormat tile (it is actually the right doormat tile; what we did with our expanded item pack messed up with the graphics) and warp to Celadon City.

Celadon Mart

  • At this point, our item pack should contain:
    • Unimportant item (Potions or Poké Balls)
    • Escape Rope x253
    • #j. x96 (First we withdrew 1, then a stack of 255 made it 0, the second stack of 255 put 99 here and 156 in another slot below, and the third, fourth, and fifth stacks of 255 each subtracts 1 from the quantity)
    • Master Ball x255
    • Full Restore x36
    • #j. x156
  • Sell the stack of #j. x96 in slot 3 for 499999 Pokédollars. (Item count = 5; Master Ball x255 duplicated)
    • After dying 3 or 4 times on Route 11, the player should have either 33 or 16 Pokédollars left. This will give just enough money to buy everything needed for the route.
  • Buy the following items (quantities close to 99 are faster to select by pressing Down instead of Up). (Item count = 20)
    • Great Ball x1 (overwrites #j. x156)
    • Revive x93
    • Super Potion x3
    • Super Repel x83
    • Antidote x1
    • Ice Heal x78
    • Burn Heal x99
    • Water Stones x5
    • Fire Stones x99
    • Fire Stones x3
    • Leaf Stone x4
    • Thunder Stones x3
    • Poke Dolls x8
    • Hp Up x1
    • Calcium x1
  • Stand on the tile directly below the Vitamin Seller (across the counter) for the expanded item pack manipulation below.
  • Do dry underflow in the item pack again.
    • Toss the top item stack 19 times. (Item count = 1)
      • The first 4 slots should be Master Ball x255, and the other 16 slots remain unchanged.
    • Toss 253 Master Balls from slot 1.
    • Swap slot 1 with slot 2 twice. (Item count = 255)
  • Do things with the expanded item pack.
    • Swap Master Ball x0 in the first slot with Calcium x1 in the 20th slot.
    • Swap the first #j. x0 stack with the first Soulbadge.
    • Swap Bicycle 2 slots above with Calcium x1 now in the first slot.
Item slot In-game meaning Before After
Hex Item stack In-game value Hex Item stack In-game value
1st Actual first item 01 00 Master Ball x0 06 01 Bicycle (x1)
... ... ... ... ... ...
20th Actual twentieth item 27 01 Calcium x1 01 00 Master Ball x0
... ... ... ... ... ... ... ...
27th 9th character of rival's name (unused)
10th character of rival's name (unused)
00
00
#j.
x0
19
12
SoulBadge
(x18)
... ... ... ... ... ... ... ...
35th X coordinate
Y block coordinate
06
01
Bicycle
(x1)
6
1
27
01
Calcium
x1
39
1
... ... ... ... ... ... ... ...
37th Width of "outdoor" map (unused)
Current map tileset
19
12
SoulBadge
(x18)
25 blocks (i.e. 50 tiles)
"Lobby" tileset
00
00
#j.
x0
(unimportant)
"Overworld" tileset
  • Although X = 39 is out of bounds, the player does not really go out of bounds, because the map view pointer is not updated. Instead, the player has a "out-of-bound experience" where all NPCs and warps disappear (because they are shifted out of the screen), but the background tiles, including their collision properties, work as normal.
  • Get on the bike (which is possible because the "overworld" tileset allows cycling), and move down and right 1 tile each.
  • Open the item pack again.
    • Swap Revive x93 just bought with TM41 x80 a few slots below the normal item pack.
    • Swap Revive x93 again with Master Ball x5 put there during the first expanded item pack session.
    • Toss 3 from the #▶D# x44 stack 3 slots below.
    • Swap the two stacks below, HM04 and Rare Candy x0.
    • Swap Rare Candy x0 again with Master Ball x0 at the bottom of the normal item pack.
    • Toss 1 from the Rare Candy x0 stack.
    • Toss the HP Up above (duplicating Rare Candy x255).
    • Toss the Great Ball in slot 6 (duplicating Rare Candy x255 again).
    • Swap Super Repel x83 with the bottom Rare Candy x255 stack.
    • Toss 27 from the second Rare Candy x255 stack.
    • Swap Super Repel x83 with 9F x189.
    • Swap Super Repel x83 again with Paralyze Heal x65 way below.
    • Swap Super Repel x83 again with #j. x255 above.
Item slot In-game meaning Before After
Hex Item stack In-game value Hex Item stack In-game value
6th Actual sixth item 03 01 Great Ball x1 (tossed)
7th -> 6th Actual seventh item 35 5D Revive x93 F1 50 TM41 x80
... ... ... ... ... ... (shifted up)
9th -> 8th Actual ninth item 38 53 Super Repel x83 28 FF Rare Candy x255
... ... ... ... ... ... (shifted up)
18th Actual eighteenth item 33 08 Poké Doll x8 28 E4 Rare Candy x255
19th Actual nineteenth item 23 01 HP Up x1 28 FF Rare Candy x228
20th Actual twentieth item 01 00 Master Ball x0 5E BD 9F x189
... ... ... ... ... ... ... ...
26th 7th character of rival's name
8th character of rival's name
F1
50
TM41
x80
×
(terminator)
01
05
Master Ball
x5
(glitch character)
(glitch character)
... ... ... ... ... ... ... ...
30th Letter printing delay flags
Upper byte of Trainer ID
01
05
Master Ball
x5
(default)
0x05
35
5D
Revive
x93
(unimportant)
0x5D
31st Lower byte of Trainer ID
Map music ID
5E
BD
9F
x189
0x5E
Pokémon Center/Mart music
0F
41
Paralyze Heal
x65
0x0F
(unimportant)
... ... ... ... ... ... ... ...
33rd Current map
Map view pointer, low byte
88
2C
#▶D#
x44
Celadon Mart 5F
$2C
88
29
#▶D#
x41
Celadon Mart 5F
$29
34th Map view pointer, high byte
Y coordinate
C7
06
HM04
(x06)
$C7
6
01
00
Master Ball
x0
$01
0
35th X coordinate
Y block coordinate
28
00
Rare Candy
x0
40
0
C7
06
HM04
(x06)
199
6
... ... ... ... ... ... ... ...
43rd Valid map connections
North connection map
00
FF
#j.
x255
None
(invalid)
38
53
Super Repel
x83
(unimportant)
Power Plant
44th North connection preview data source 0F 41 Paralyze Heal x65 $410F (from Vermilion City) 00 FF #j. x255 (unimportant)
  • Note: "Map music ID" is only used when starting the music (e.g. after getting off the bike); "valid map connections" and "north connection preview data source" are only used when first loading the map.
  • Walk up one step.
    • Because the player is now at Y = 0, stepping up triggers the north map connection, sending the player to the Power Plant. Since the tileset has changed, the game thinks the player has taken a warp, and places the player at the entrance of the Power Plant.