Jump to content

BadgeDescriptionDex: Difference between revisions

no edit summary
>Torchickens
No edit summary
No edit summary
Line 1:
{{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}}.
 
[[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==
*Kelvinv
*[[User:Evie (Torchickens)|Evie (Torchickens)]]
 
==Notes==
The badge items display their normal badge texts. and when the order is changed in thea hex editor, the texts also will change correctly.
 
ROM addresses 74E6E through 74e7674E76 control the items that the Badgebadge man lists. These are loaded in game at addresses cf7cCF7C until cf84CF84 when youthe player openopens 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==
===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 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 ⟶ 141:
* 7A: (glitch tile) 0 error
* 7B: causes game to display a text box filling with glitch text, then locks up with invalid opcode.
* 7C: causes ellipsellipse 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
* 7e: locks up the game with glitchy graphics appearing at upper side. If name is displayed, then also some start menu items will appear
Cookies help us deliver our services. By using our services, you agree to our use of cookies.