BadgeDescriptionDex: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
No edit summary
Line 1: Line 1:
{{incomplete}}
{{incomplete|1=Pointers and Pokémon Yellow}}


This is a list of the behaviors of invalid ([[glitch]]) choices for the badge describer's badge list in Cerulean City. This list is currently for {{RB}}.
This is a list of the behaviors of invalid ([[glitch]]) choices for the badge describer's badge list in Cerulean City. This list is currently for {{RB}}.

[[MetascriptDex/RB:D64F (Agatha's Pokémon League room)|Meta-map script 0x7F in Agatha's room in Red/Blue]] is also a way to technically access glitch choices with neither arbitrary code execution or a cheating device, but the badge menu in Agatha's room is invisible so it requires memorization of the menu (including the scrolling and lag from unterminated name badges (items)). The player can view the VRAM at 9C00 (e.g. using BGB emulator) to reveal the menu, though the font is still glitched.


==Sources==
==Sources==
*Kelvinv
*Kelvinv
*[[User:Evie (Torchickens)|Evie (Torchickens)]]


==Notes==
==Notes==
The badge items display their normal badge texts. and when the order is changed in the hex editor, the texts also will change correctly
The badge items display their normal badge texts and when the order is changed in a hex editor, the texts also will change correctly.


ROM addresses 74E6E through 74e76 control the items that the Badge man lists. These are loaded in game at addresses cf7c until cf84 when you open the badge list. The normal badge items are 15-1C.
ROM addresses 74E6E through 74E76 control the items that the badge man lists. These are loaded in game at addresses CF7C until CF84 when the player opens the badge list. This makes 01xx7CCF a convenient GameShark code for testing invalid badge describer choices. The normal badge items are 15-1C. The normal text pointer table for BoulderBadge through to EarthBadge is at 1D:4E86. Following it are two byte pointers (endianness must be reversed to get the pointer), so for instance at 1D:4E86 is 96 4E (1D:4E96) this is the first entry so is the Boulderbadge, at 1D:4E88 is the pointer for CascadeBadge and so on.


To find the source of the text of invalid badges, it is more complicated but they can be found by setting a breakpoint to 1D:4E5B (74E4B) and reading the value of hl. If the badge has an unterminated name, use code 0150A0C3 and flash the Pokémon menu before viewing a badge, to avoid a freeze from the unterminated name.
Work to do: find out where the game finds text.

To enable [[arbitrary code execution]] on a RAM pointer, have 08 at the beginning of the text source.


==List==
==List==
===Pointers===

===Testing===
Note some of these behaviors are not consistent and were noted as they occurred at the time. A lot of the data is inaccurate due to the dependence on RAM.

* Item 00 (j.): Displays an empty text box which also plays sounds, then restarts the game
* Item 00 (j.): Displays an empty text box which also plays sounds, then restarts the game
* Item 01 Master Ball: Displays an empty text box which also plays sounds, then adds a glitchy block to the start menu. After that returns to normal, with only the drum part of the music playing
* Item 01 Master Ball: Displays an empty text box which also plays sounds, then adds a glitchy block to the start menu. After that returns to normal, with only the drum part of the music playing
Line 131: Line 141:
* 7A: (glitch tile) 0 error
* 7A: (glitch tile) 0 error
* 7B: causes game to display a text box filling with glitch text, then locks up with invalid opcode.
* 7B: causes game to display a text box filling with glitch text, then locks up with invalid opcode.
* 7C: causes ellips text box, if a is pressed it locks up the game with first few notes of a theme.
* 7C: causes ellipse text box, if a is pressed it locks up the game with first few notes of a theme.
* 7d: locks the game up with start menu sprites appearing over the screen
* 7d: locks the game up with start menu sprites appearing over the screen
* 7e: locks up the game with glitchy graphics appearing at upper side. If name is displayed, then also some start menu items will appear
* 7e: locks up the game with glitchy graphics appearing at upper side. If name is displayed, then also some start menu items will appear