Pokémon Gold and Silver/Debug Menus
This is a sub-page of Pokémon Gold and Silver.
Contents
Sprite Color Editor & Move Checker
This debug function lets you change the palettes of Pokémon and Trainer sprites. It also displays whether a Pokémon is capable of learning a move from a particular TM or HM. Code for the menu is located at 3F:54F1 in (J) 1.0 and 1.1, and while localized versions of the game also contain the menu, they lack the Japanese characters needed to display the associated text. This results, in turns, results in graphical glitches.
Access
Before loading the menu, you'll need to select the preferred mode by editing the value at CF21. It's also necessary to enable the screen update service by checking register FFD6.
- Pokémon Mode: 0x00
- Trainer Mode: Any other value.
Page 1 - Battle Sprite Color Editor
The first page of the menu lets you view sprites and adjust their colors. If you alter a sprite's color data and then switch to another sprite, the changes you've made will be retained. However, if you alter the color data of a Pokémon sprite and then switch to its secondary variant (ie: switching from Normal to Shiny, or Shiny to Normal), your changes won't save.
Controls
- D-Pad: Select a color to manipulate, or switch between its RGB channels.
- A Button: Switch between a Pokémon's normal and shiny variants.
- B Button: Go to Page 2.
- Select: Scroll forward through the sprites.
- Start: Scroll backward through the sprites.
Legend
Visual | Legend | |||
---|---|---|---|---|
[Number] | [Name] | [Color 1] | [Color 2] | |
[Front Sprite] | [Back Sprite] | |||
[Red Slider] | ||||
[Green Slider] | ||||
[Blue Slider] | ||||
A to Switch | [Palette] |
- Name: Longer names may overlap the color boxes.
- Number: Pokémon and Trainer sprites are ordered according to their internal index number.
- The internal index number of the Pokémon in Gen II matches their regional Pokédex number.
- Colors: Color values are represented in hexadecimal.
- Palette: The options are ノーマル (Normal) and レア (Rare). The latter corresponds to "Shiny".
Images
Pokémon Mode:
Normal Palette | Shiny Palette | Shiny Palette (Altered) |
---|---|---|
Trainer Mode:
Normal Palette | Normal Palette (Altered) |
---|---|
Page 2 - Pokémon Move Checker
The second page of the menu lets you check whether a Pokémon can learn TMs and HMs. The sprites and colors from the first page are also displayed on this one.
Controls
- D-Pad: Scroll through TMs and HMs.
- A Button: Originally allowed you to exit the menu.
- The code for this function is never executed because the check for the A button is commented out.
- B Button: Return to Page 1.
- Select: Scroll forward through the Pokémon.
- Start: Scroll backward through the Pokémon.
Legend
Visual | Legend | |||
---|---|---|---|---|
[Number] | [Name] | [Color 1] | [Color 2] | |
[Front Sprite] | [Back Sprite] | |||
Finished? | [Move Name] | |||
Yes...A | [Learnable] | |||
No...B |
- Name: Longer names may overlap the color boxes.
- Number: Pokémon sprites are ordered according to their internal index number.
- The internal index number of the Pokémon in Gen II matches their regional Pokédex number.
- Colors: Color values are represented in hexadecimal.
- Learnable: The options are おぼえられる (Learnable) and おぼえられない (Unlearnable).
Images
Pokémon Mode:
Pupitar & Dynamic Punch | Pupitar & Headbutt |
---|---|
Trainer Mode:
As trainers cannot learn Pokémon moves, this mode behaves as though a Pokémon were selected, and displays its data.
Beauty & Headbutt |
---|
Tileset Color Editor
This debug function allows you to change the color palette of the current background tileset.
Access
The routine that calls this menu has been commented out by a single ret positioned before its subroutines. In order to reenable the menu in the Japanese versions of the game, place the following custom code anywhere in ROM bank 0x3F:
call $0432 ; Deactivate LCD call $55D9 ; Load font to RAM call $0454 ; Activate LCD xor a, a ld [$FF00 + $D1], a ; Reset X and Y scroll ld [$FF00 + $D2], a ld a, $01 ld [$FF00 + $AC], a ; Don't require button up between presses call $5D85 ; init menu @Loop: call $5EC0 ; update menu call $09FD ; get button press call $5FD9 ; update selection call $5E5D ; process button press call $032E ; do events jr @Loop
Then, use the 3byte pointer ASM command to call the code using an in-game event such as a signpost. (See the Gold & Silver Scripting Compendium for more info.)
Controls
- D-Pad: Select a color to manipulate, or switch between its RGB channels.
- B Button: Set palette editor to visible or hidden.
- The editor is still fully functional while hidden.
- Select: Rotate through palettes in RAM order.
- It's not possible to edit palette 0x07, the palette for the menu, or the palettes for foregrounds.
There is no way to exit the menu. Code for this function may have been commented out as well.
Legend
Visual | Legend | |||
---|---|---|---|---|
[Color 1] | [Color 2] | [Color 3] | [Color 4] | |
[Red Slider] | ||||
[Blue Slider] | ||||
[Green Slider] |
- Colors: Color values are represented in hexadecimal.
Images
Editor Visible:
Normal Palette | Altered Palette | Palette 0x01 Selected |
---|---|---|
Editor Hidden:
Editor Hidden |
---|