Disabling wild encounters with Select glitch (Red/Green/Blue)
Posted by: Torchickens
Date: 2016-07-21 17:16:32
The debug feature allows you to disable wild encounters by holding B, or start a new game without having to name the player and start outside of your house (or the value in D07C according to the Pokémon Red disassembly). Sadly, even if you save and reset with the flag set you won't be able to skip the new game sequence with this method. (however, outside of glitches you may use the GameShark code 0103B1D6 and you could theoretically force a new game that does have the flag enabled with arbitrary code execution).
To activate the select glitch, all you need to do is make the following steps:
1) Obtain a Pokémon which has Poison (hex:03) as its type 2 and a move 3 with 35 PP, with no PP Ups used. (or any PP value with bit 0x5 checked).
1) Press Select on PC item 33 (or theoretically item 33 in the expanded items pack).
2) Exit with B, B, B and enter a battle, or enter the Name Rater's house/Day Care Center without opening the menu.
3) Either open the Pokémon menu during the battle, or by talking to the NPC and press A on the Poison-type Pokémon (this will swap it with Pokémon 33).
This glitch will change the value of D6B1 to $03 (bit 0 checked; the play time is being counted and bit 1 checked; the debug feature activated). The 35 PP requirement is to check bit 5 of D6CA so that we do not lose the Pokédex option on the menu.
For some unknown reason, this trick resulted in disabling all wild encounters even if you aren't holding down the B button. However, the battles can be re-enabled by performing the glitch again with the glitch Pokémon you get from the swap.
When I performed this glitch, it also enabled the "test battle" (bit 1 of D6B2) flag; which is controlled in this glitch by the catch rate of the Pokémon you switch. When "test battle" is enabled, battles do not show any PP on the fight menu, and all moves will act like Pound. This is used for the battle test debugging leftover, in which you obtain a level 20 Rhydon and a battle is initiated against another level 20 Rhydon.