Bad sprite: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
(Undo revision 342779 by Evie (Torchickens) (talk))
Line 4: Line 4:
Most commonly in {{RBY}} the sprite will affect the SRAM and possibly [[Hall of Fame corruption|corrupt the Hall of Fame]].
Most commonly in {{RBY}} the sprite will affect the SRAM and possibly [[Hall of Fame corruption|corrupt the Hall of Fame]].


A bad sprite that causes a [[glitch battle]] is typically due to bad sprite dimensions. A dimension of x0 (apparently it is effectively x256) in width or height will result in the game unpacking a huge sprite. As part of unpacking the sprite, data is temporarily stored [https://github.com/pret/pokeyellow/blob/05925cba37019d93f1c847015f4fbc1de110c200/sram.asm in bankless portions of SRAM] but it is possible for a buffer overflow when later areas of SRAM are touched (the reason encountering [[MissingNo.]] corrupts the Hall of Fame/results in a saving message on Stadium Game Boy Tower etc.). Furthermore, glitch Pokémon sprites of both width 0 and height 0 will typically corrupt the memory even further; exceeding the end of SRAM in the memory map (SRAM ranges from A000-BFFF) and touching C000 and beyond; the beginning of WRAM. However, single 0 dimension sprite Pokémon are also capable of corrupting the WRAM, such as [[GlitchDex/Y:251|F q , (0xFB)]] in Pokémon Yellow via the party menu.
A bad sprite that causes a [[glitch battle]] is typically due to bad sprite dimensions. A dimension of x0 (apparently it is effectively x256) in width or height will result in the game unpacking a huge sprite. As part of unpacking the sprite, data is temporarily stored [https://github.com/pret/pokeyellow/blob/05925cba37019d93f1c847015f4fbc1de110c200/sram.asm in bankless portions of SRAM] but it is possible for a buffer overflow when later areas of SRAM are touched (the reason encountering [[MissingNo.]] corrupts the Hall of Fame/results in a saving message on Stadium Game Boy Tower etc.). Furthermore, glitch Pokémon sprites of both width 0 and height 0 will typically corrupt the memory even further; exceeding the end of SRAM in the memory map (SRAM ranges from A000-BFFF) and touching C000 and beyond; the beginning of WRAM.


Certain glitch Pokémon including Yellow [[MissingNo.]], {{gdex|Y:191|4 4 (hex:BF)}} and {{gdex|Y:237|4(h4? (hex:ED)}} can corrupt the current battle (an effect known as a [[glitch battle]] not to be confused with a [[glitch encounter system]]) in ways such as corrupting what is on the screen or causing [[glitch audio|glitch music]]. Occasionally, they will corrupt bytes in memory that will lead to freezes; such as C0EF/C0EF (the audio ROM bank and the saved copy of it, where the only valid sound banks are 02, 08, 1F, 20 (Yellow only)/28 (Japanese Yellow) and any other sound bank will lead to [[glitch sound command]]s which typically freeze the game; though some corruption is possible with bank 20 as well).
Certain glitch Pokémon including Yellow [[MissingNo.]], {{gdex|Y:191|4 4 (hex:BF)}} and {{gdex|Y:237|4(h4? (hex:ED)}} can corrupt the current battle (an effect known as a [[glitch battle]] not to be confused with a [[glitch encounter system]]) in ways such as corrupting what is on the screen or causing [[glitch audio|glitch music]]. Occasionally, they will corrupt bytes in memory that will lead to freezes; such as C0EF/C0EF (the audio ROM bank and the saved copy of it, where the only valid sound banks are 02, 08, 1F, 20 (Yellow only)/28 (Japanese Yellow) and any other sound bank will lead to [[glitch sound command]]s which typically freeze the game; though some corruption is possible with bank 20 as well).

Revision as of 07:48, 28 July 2022

Bulbapedia also has an article about Bad sprite.

A bad sprite (named after bad clone) is a glitch Pokémon with a sprite that causes memory corruption when it is viewed.

Most commonly in Pokémon Red, Blue, and Yellow the sprite will affect the SRAM and possibly corrupt the Hall of Fame.

A bad sprite that causes a glitch battle is typically due to bad sprite dimensions. A dimension of x0 (apparently it is effectively x256) in width or height will result in the game unpacking a huge sprite. As part of unpacking the sprite, data is temporarily stored in bankless portions of SRAM but it is possible for a buffer overflow when later areas of SRAM are touched (the reason encountering MissingNo. corrupts the Hall of Fame/results in a saving message on Stadium Game Boy Tower etc.). Furthermore, glitch Pokémon sprites of both width 0 and height 0 will typically corrupt the memory even further; exceeding the end of SRAM in the memory map (SRAM ranges from A000-BFFF) and touching C000 and beyond; the beginning of WRAM.

Certain glitch Pokémon including Yellow MissingNo., 4 4 (hex:BF) and 4(h4? (hex:ED) can corrupt the current battle (an effect known as a glitch battle not to be confused with a glitch encounter system) in ways such as corrupting what is on the screen or causing glitch music. Occasionally, they will corrupt bytes in memory that will lead to freezes; such as C0EF/C0EF (the audio ROM bank and the saved copy of it, where the only valid sound banks are 02, 08, 1F, 20 (Yellow only)/28 (Japanese Yellow) and any other sound bank will lead to glitch sound commands which typically freeze the game; though some corruption is possible with bank 20 as well).

YouTube video

YouTube video by Krauser912

YouTube video by Nick Delia