Jump to content

Glitch Pokédex sorting: Difference between revisions

m
>Torchickens
No edit summary
 
(13 intermediate revisions by 4 users not shown)
Line 1:
{{Arbitrary code execution}}
{{Major glitches}}
{{Summary page}}
{{PRAMA|glitch-pokedex-ace}}
'''Glitch Pokédex categories''' are invalid Pokédex listing categories found in {{GSC}}.
 
'''Glitch Pokédex categoriessortings''' are invalid Pokédex listing categoriessortings found in {{GSC}}.
Like valid categories including "New Pokédex mode", "Old Pokédex mode" and "A to Z mode", there are glitch Pokédex categories which affect or are interpreted by the game in unintended ways.
 
The 2nd generation of pokémon games allow the player to select three different modes to order pokémon within the pokédex. These modes include "New Pokédex mode", "Old Pokédex mode" and "A to Z mode". When a specific mode is selected, the game will save the value of the last selected mode in memory.
Like with many [[:category:glitch things|glitch things]], glitch Pokédex categories can [[arbitrary code execution|execute arbitrary code]], such as glitch mode 09's execution of FA20 (Echo RAM for DA20) in Crystal.
 
When the pokédex is selected from the start menu, the game uses a jumptable to select which sorting function should be used. By changing the value of the last selected mode, it's possible to index this jumptable out of bounds. Because of this, certain modes are able to [[arbitrary code execution|execute arbitrary code]], such as glitch mode 09's execution of $FA20 (Echo RAM for $DA20) in Crystal.
==Accessing glitch Pokédex categories==
 
The address D67E in {{GS}} or D959 in {{C}} controls the current Pokédex category loaded for when the player opens the Pokédex.
==Technical details==
 
When opening the pokédex, the game will retrieve the last selected dex mode from wLastDexMode and use that to retrieve a pointer from Pokedex_OrderMonsByMode.Jumptable.
 
{| class="wikitable"
! Game !! Applicable language !! wLastDexMode !! Pokedex_OrderMonsByMode.Jumptable
|-
! rowspan="7" | Gold & Silver
| English || rowspan="5" | $D67E || $10:4BF0
|-
| French || $10:4BF8
|-
| German || $10:4BEA
|-
| Italian || $10:4C01
|-
| Spanish || $10:4BF2
|-
| Japanese || $D671 || $10:4ABC
|-
| Korean || $D731 || $10:4AF1
|-
! rowspan="6" | Crystal
| English || rowspan="5" | $01:D959 || $10:4BF0
|-
| French || $10:4BF8
|-
| German || $10:4BE9
|-
| Italian || $10:4C01
|-
| Spanish|| $10:4BF4
|-
| Japanese || $01:D94C || $10:4ABC
|}
 
==Accessing glitch Pokédex categoriessortings==
The address D67E in {{GS}} or D959 in {{C}} controls the current Pokédex categorysorting loaded for when the player opens the Pokédex.
 
This means the [[cheating device|GameShark]] code 01xx7ED6 in Gold and Silver or 01xx59D9 in Crystal will change the Pokédex mode.
 
With glitches, the [[duplicate key items glitch]] can be used to set up the expanded Balls pocket, where the glitch Pokédex categorysorting can be modified from the balls beyond ball 12.
 
Another way of accessing arbitrary code in {{GSC}} is through the [[Coin Case glitch]] (in English Gold/Silver only) or [[Glitch item#TMs and HMs outside of the correct pocket|TMs and HMs outside of the correct pocket]]. The glitch TM/HM method is ideal because TMs and HMs can be forced into the PC items; also available through the expanded Balls pocket.
 
In Gold and Silver, modifying address C6D8 on the option screen (list of available Pokédex modes) will allow the player to access glitch sortings in a different way to the above method.
 
(Thanks Pokechu22 for the C6D8 method)
 
{{stub}}
[[Category:Generation II glitches]]
[[Category:Glitch things]]
[[Category:Glitch Pokédex sortings|*]]
1,514

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.