Silph Co. PC glitch

From Glitch City Wiki
(Redirected from Silph Co. PC Glitch)
Jump to navigation Jump to search
Miscellaneous glitches of Pokémon Red and Blue and Pokémon Yellow

Amazing Man (Red and Blue only) | Cable Club escape glitch | Celadon looping map trick | Champion Blue music muting glitch | Coastal Flooding | Confusion and Substitute glitch | Cooltrainer move | Cycling based glitch maps | Escape sprite handling glitch | Evolve without an evolutionary stone (Red and Blue only) | Evolving Raichu (Red and Blue only) | Expanded item pack | Expanded Pokédex | Focus Energy glitch | Get stuck in a wall | Ghost Bicycle glitch | Glitch encounter system | Glitch City RAM Manipulation | Infinite Blaine Door | Introduction Nidorino glitch (Red and Blue only) | Invisible PCs (Red and Blue only) | Invisible tree glitch | Item stack duplication glitch | Mute the music in the Pokémon League | Partial trapping move link battle glitch | Pokémon Tower Pokédex glitch | PP underflow glitches | Recovery move glitch | Rival's effect | See a Ghost without a Silph Scope | Selfdestruct and Substitute glitch | Silph Co. PC Glitch | Slot machine glitch | Stand on a tree | Statue behavior glitch (Red and Blue only) | Super effective move AI flaw (Red and Blue only) | Super Glitch | Surf down glitch | Swift miss glitch | Transform assumption glitch | Transform Empty Move Glitch | Trick Zone | Vending machine purchase glitch | Walk around with only fainted Pokémon (Red and Blue only) | Walking lag glitch | Walk on water through Surf | Walking Pikachu happiness glitch (Yellow only) | Wild appeared! | ZZAZZ Glitch

(view, talk, edit)
PRAMA Initiative a également une page sur Silph Co. PC glitch.

The Silph Co. PC Glitch is a miscellaneous glitch in Pokémon Red, Blue, and Yellow which overwrites the tile block map, causing the player to experience a Glitch City.

This Glitch City is not fully applied. While its collisions work with no text box open, a text box/PC menu must be open to see the modified tile blocks. The collision usually makes it difficult or impossible for the player to move. If the player does move, tiles from the Glitch City will scroll onto the screen.

Procedure

  1. Cause the Hall of Fame to become glitched by viewing the stats of a Glitch Pokémon with an excessively large picture, such as 'M (hex:00).
  2. Go to the last floor of the Silph Co., and check the PC.
  3. Check the Hall of Fame, exit, and Log Out.

The surrounding area will now become a mass of glitchy tiles.[1] Note that, since the glitch involves leftover values in a text buffer and expansions of control characters (mainly the names of the player's and the opponent's last active Pokémon), this method may not always succeed.

Explanation

This glitch happens because "Pokémon" in a corrupted Hall of Fame usually have unterminated names. The name is copied to $CD6D and causes corruption from there, similar to Super Glitch. However, unlike with Super Glitch moves and items, the name is not copied to another text buffer, but directly printed to the screen through the text engine, which causes a unique form of corruption.

Whenever the Pokémon League PC displays a Pokémon in the Hall of Fame, its name (11 bytes) is first copied to $CD6D[2], then directly printed to the screen from there[3]. If the name itself does not have any control characters that interrupts the text engine (including the terminators 0x50, 0x57, 0x58, and 0x5F; the error trap 0x00; and 0x55 which enables the text command processor), which is likely for a random name from a corrupted Hall of Fame, then the remaining 9 bytes of the buffer at $CD6D are printed next. Those bytes are usually left over from something earlier that uses all 20 bytes of the $CD6D buffer, and may or may not contain a terminator. A common example with no terminator is "TRANSFORM", which is actually the last 9 bytes of the 20-byte string "SKY ATTACK@TRANSFORM", copied to $CD6D when displaying the last starting move of MissingNo. or 'M (hex:00), Sky Attack.

Assuming that there is still no terminator encountered, the text engine will continue to try to print text from $CD81 (wTileMapBackup2). This is the same "stored screen data" as for Super Glitch corruptions, but since it is processed by the text engine instead of simply copied to another buffer, control characters are expanded. This is why this glitch only works at the Silph Co. PC: If the player checks the Hall of Fame at a Pokémon Center, the stored screen data will contain an early 0x00 subtile, which will stop the text engine and prevent further corruption. On the other hand, when the player is at the Silph Co. PC, the first byte in screen data that interrupts the text engine is a 0x57 terminator, but it appears very late; furthermore, there are many control characters 0x59 and 0x5A, which are expanded to the names of the player's and the opponent's last active Pokémon ("GCL" and "Enemy MISSINGNO." respectively in the video demonstration[1]), with the order depending on the value of $FFF3 (H_WHOSETURN). If the total length of those strings is long enough, then the corruption will reach $C6E8 (wOverworldMap), overwriting the player's surroundings with a Glitch City.

References