Debugging features within Pokémon Gold/Silver/Crystal

From Glitch City Wiki
This article is a summary page for different variations of a glitches, etc. when talked about as a whole.
Some parts of this article have not yet been fully reviewed by a member of this wiki's staff or QC team.

Data from the Internet can be inaccurate or false, and it is easy to misremember information. For this reason there is more likely to be incorrect information in this article. This template will be removed once the information is peer-reviewed and tested by a staff or QC member.


Several unused features have been found within the coding of the final version of Pokémon Gold/Silver/Crystal related to debugging.

An unused dialogue string "Now on DEBUG..." for a possible debug menu in Pokémon Gold and Silver regarding the game's Real-Time Clock, although only one string of possible corresponding dialogue remains "Test event [XX]?"

MR. CHRONO RT/DF display

Dialog for a non-existing NPC named 'MR. CHRONO' can be found in Pokémon Gold and Silver. If the game is forced to start event data for "MR. CHRONO" he will give the words; "I'm MR CHRONO" and "Now on DEBUG." respectively. Prior to the "Now on DEBUG" message, an interface is displayed which shows the current time according to the "Real-Time Clock" (RT) and the DF ('time difference'). Next to the time offset; either "ON" or "OFF" is displayed. "ON" denotes that the player is using Daylight-Saving Time and "OFF" denotes that Daylight-Saving Time is disabled.

Now on DEBUG.

The "Now on DEBUG." message will appear after the RT/DF display is exited. However, this dialog string does not appear to activate any further debugging features.

Test event XX?

A dialogue string "Test event XX?" exists within the coding of Pokémon Gold/Silver, where XX is any integer between 0 and 255, for example; "Test event 04?". XX is from a memory address related to the Real-Time Clock data.[clarification needed]

Pokémon/Trainer color interface and TM/HM compatability checker

 
A player altering the palette of an enemy Bulbasaur via an unused Pokémon/Trainer 'color test' interface within the Japanese Pokémon Gold and Silver.

Interestingly, a large unused, complex interface, presumably for in-game battles, exists within the final game. It consists of two pages; the first can be used to change the colors of Pokémon or trainers in battle and the second allows one to check the TM/HM compatability of the relevant Pokémon. Although the interface still exists within translated versions of the game, it is the most stable on the original Japanese version. [clarification needed] Graphic bugs also occur due to the screen not being localized.

In the Japanese version; the interface apparently occupies the three byte pointer 3F:54F1 (v1.0 and v1.10) and once the code at 3F:54F1 is run when the screen update service is enabled (i.e. by checking address FFD6) the menu will load. [citation needed] Whether the game will attempt to manage a Pokémon or a trainer depends on the memory address CF21, where an identifier of 00 activates 'Pokémon mode' and any other identifier activates 'Trainer mode'.

Unused dialogue corresponding to this menu

The following strings of dialog, in the ROM images of the Japanese versions of Pokémon Gold and Silver are unique to this interface and are not used elsewhere in the final game.

  1. Aきりかえ▶ ("A switches")
  2. ノーマル (normal)
  3. レア (rare)
  4. おわりますか? ("Are you finished?")
  5. おぼえられる ("Can be taught")
  6. おぼえられない ("Cannot be taught")

First page

The Pokémon on this page can be changed by using either the Select button to change to the next Pokémon/Trainer, or the Start button to change to the previous Pokémon/Trainer. The index number of the Pokémon or Trainer is indicated on the top-left corner of the screen.

One can change the color of the front and backsprite's Pokémon/Trainer via the directional pad. Three 'scroll bars' can be adjusted to change the amount of Red, Green or Blue saturation in the relevant sprite 'region'. A cursor at the top-right section of the screen denotes what region the player is managing; the left-most section changes the primary color scheme and the right-most section changes the secondary color scheme. The location of the cursor can be changed to manage another color scheme. The word (two bytes) for the final color is shown below both icons for the primary and secondary color schemes.

By pressing the A button, a player can switch between the default normal and 'rare' (shiny) palettes for the relevant Pokémon. If the player switches to a rare Pokémon palette however, the changes remain permanent for the current game session and would need to be set back to the normal color manually.

It is possible that this page may have been used by the game developers to make better decisions regarding what color palettes they should use for trainers and Pokémon in the final game, as it allows one to easily change the amount of color saturation for a particular region of the sprite in either the red, blue or green channel by using the directional pad.

Second page

The player can press the B button on the first page to proceed to the second page or press the B button again to return the first page. On the second page, the game will manage the Pokémon/Trainer from the first page, using the palettes previously loaded to the game's memory. The game suggests that the menu can be exited via the A button however, although the game code to exit the menu exists, activating it requires further hacking for unknown reasons.

The directional pad on this page can be used to select a TM or HM, with respect to its relevant identifier. After choosing a TM or HM, the game will display the message "おぼえられる" if the Pokémon can be taught that move, or "おぼえられない" if the Pokémon cannot be taught that move.

This page may have been used by the game developers to easily check whether the chosen Pokémon is capable of using a TM or HM move before deciding on its natural learn-set.

Tileset color interface

 
An unused color interface, allowing one to change a palette within the main map interface, modified to function correctly in Pokémon Gold and Silver.

Another unused debugging interface; likely related to the Pokémon/Trainer color interface exists within Pokémon Gold and Silver. The menu cannot normally be seen even if it is called via a cheating device because of the fact that a return function is called prior to all subroutines. If the menu is modified however to remove the return function being used, or if a custom game code is written to load the interface directly further details can be revealed.

Upon activating the menu; presuming that the return function was not called, an interface will appear at the bottom of the screen which functions similarly to the one used in the Pokémon/Trainer color interface. Instead of changing the primary and secondary palettes of Pokémon and trainers however, it allows one to change the red, blue and green channels of elements within the main map interface, or manipulate the hexadecimal identifiers of what colors are already being used.

By pressing the Select button, players can rotate between which palettes are going to be managed depending on the order they are loaded in the game's memory. However, the menu palette and any foreground palettes cannot be altered via this interface, with the addition of palette 07. There is no valid function in this interface to exit this menu, once called.

Advanced error messages

 
The error handler: Object event.

Several specific error messages exist within the final game but cannot easily be triggered in normal gameplay. Since they have not officially been mentioned by Nintendo, it could be suggested that the following error messages were used by the game developers to refer to a specific problem whilst debugging.

  1. N/A - Possibly for an invalid map location (unused)
  2. Object event.
  3. No windows avail-able for popping.
  4. Corrupted event! - Possibly for speaking with an object or NPC which starts an event with invalid data
  5. Coordinates event.
  6. BG event.
  7. ERROR! - Used for an invalid field move.
  8. ????? - Used for an invalid Pokémon species.
  9. Teru-Sama - The shared name for 29 unused items and less in Pokémon Crystal (list of hexadecimal index numbers).
  10. ? - Used for the invalid hex:00 item.

External links

  1. The Cutting Room Floor article about unused content in Pokémon Gold and Silver.