Bad sprite: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
mNo edit summary
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. 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. Furthermore, glitch Pokémon with 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.
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. Furthermore, glitch Pokémon with 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) and any other sound bank will lead to [[glitch sound command]]s which typically freeze the game).
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) and any other sound bank will lead to [[glitch sound command]]s which typically freeze the game).

Revision as of 07:22, 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. Furthermore, glitch Pokémon with 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) and any other sound bank will lead to glitch sound commands which typically freeze the game).

YouTube video

YouTube video by Krauser912

YouTube video by Nick Delia