The Safari Zone exit glitch, commonly known as the Glitch City glitch is a glitch where the player changes the destination of the exit in the Safari Zone gate, causing the player to either step out of a certain building or into a wrong warp Glitch City.
When the player performs this glitch, the memory address D365 (the exit location for certain warps) is changed to something other than Fuchsia City (007) in a number of instances. It is normally the expected exit location, though flying to a place also updates D365 to the value of that location.
- When you fly to a place.
- When you enter a cave entrance/exit.
- When you enter the Summer Beach house (Yellow only).
- When you enter a gate.
- When you enter an Underground Path entrance/exit
- When you enter the Power Plant.
- When you enter the Pokémon Center on Route 4.
- When you go from one route to another (indoor places don't count as a second route). Though the change is not immediate, it happens when you are sent back to the Safari Zone gate.
Whenever the player enters the south warp of the Safari Zone gate, the game places the player in 'exit point' hex:04. For Fuchsia City, this is valid, and it has the player walk out of the Safari Zone building.
For other maps for D365, exit point hex:04 may also be valid, for example, after the player performs the Safari Zone exit glitch with Cerulean City they will step outside of the Bike Shop and no Glitch City will be caused. There may not be a valid exit point hex:04 for maps such as Sea Route 20 though, so the game may load a Glitch City after trying to use the invalid exit point data.
These Glitch Cities are not unique 'glitch areas', but rather glitchy versions of existing maps. This can be confirmed by tracking the memory address D35E (the current map location) or viewing the Town Map; the location or location name will be the same as the location you were in before the PA called you to say your Safari Zone time was over.
Escaping from the Safari Zone
The reason steps 2~4 allows you to leave the Safari Zone without properly ending the Safari game is due to an oversight in the Safari Zone entrance overworld script.
In Gen I, the game keeps track of a script ID for almost every overworld map. The script ID indicates the "status" of that specific map (e.g. whether the player is being seen by a trainer), and determines the overworld script that runs every frame when the player is in that map. The piece of script responsible for asking the player "leave early?" when the player tries to do so is script #5 in the Safari Zone entrance. A "yes" answer would end the Safari game properly, make the player walk out, and change the script ID back to 0 (the initial state). A "no" answer is supposed to make the player return to the Safari Zone, and leave the script ID at 5 (so that the player is asked again if they try to leave again).
However, the script makes the player walk in both cases, and "player being forced to walk" is another status that needs to have its own script ID. Hence in both cases, the script ID is actually changed to 6, with the script ID that should come afterwards (either 0 or 5) stored in memory address CF0D. When the auto walk ends, script #6 reads the value in memory address CF0D and assigns it to the script ID.
The oversight is that moving up will return the player to the Safari Zone first, which is a separate map, so the Safari Zone entrance script ID is stuck at 6 until the player walks back out. Normally, the script correctly read out the value 5 from CF0D and everything is fine. But the value of CF0D is not saved with the save file, and reverts to 0 upon reset. Therefore the script will erroneously change the script ID to 0, allowing the player to get the welcome message by walking down to the desk, and answer "no" to leave.
Enter the Safari Zone.
The player must then try to leave. When the man at the desk asks if them want to leave early, they should say no. The player's character will automatically walk back into the Safari Zone.
Once inside, the player must save the game.
The player should then restart their console, and attempt to leave the Safari Zone again. If the trick worked, the man at the desk should say what he normally says when players try to enter the Safari Zone. The player should, at this point, say no; they should then exit the gatehouse.
The player must then go somewhere else (outside of Fuchsia City), updating D365 (exit location) in one of the ways mentioned above in the explanation section and walk around for a while. After 500 steps, the PA will sound: "Ding-dong!" just as if the player were still in the Safari Zone. The player will then be returned to the Safari Zone building, regardless of where they were before.
When the player exits the gatehouse, they will find themselves walking out of a certain warp for the D365 map, or a Glitch City. All Glitch Cities differ based on the location you were when the time ran out, but going from one indoor map to another will not change the location.
In Pokémon Red and Blue, you can enter the Safari Zone with just a poisoned Pokémon (ideally one with Fly) and black out, to get the PA message out of the Safari Zone after you finish walking the remaining steps. This trick was patched in Pokémon Yellow, which makes the game think that you're no longer in the Safari Zone after you black out there.