This is a sub-page of Pokémon Gold and Silver/Debug Menus.
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] |
|
[Front Sprite] |
|
[Red Slider] |
|
[Green Slider] |
|
[Blue Slider] |
|
A to Switch |
- 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] |
|
[Front Sprite] |
|
Finished? |
|
Yes...A |
|
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] |
|
[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 |
|---|