Debugging features within Pokémon Gold/Silver/Crystal: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
>Torchickens mNo edit summary |
>Torchickens No edit summary |
||
Line 1: | Line 1: | ||
{{Debugging summary pages}} |
{{Debugging summary pages}} |
||
{{Summary page}} |
{{Summary page}} |
||
{{Factcheck}} |
|||
[[Image:GSCDebug menu2.png|270px|thumb|right|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]?"]] |
[[Image:GSCDebug menu2.png|270px|thumb|right|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]?"]] |
||
Several unused features have been found within the coding of the final |
Several unused features have been found within the coding of the final version of Pokémon Gold/Silver/Crystal related to debugging. |
||
==MR. CHRONO RT/DF display== |
==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.=== |
===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 |
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?==== |
====Test event XX?==== |
||
A dialogue string "Test event XX?" exists within the coding of |
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.{{clarify}} |
||
==Pokémon/Trainer color interface and TM/HM compatability checker== |
==Pokémon/Trainer color interface and TM/HM compatability checker== |
||
[[Image:GSbColorDebug.png|270px|thumb|right|A player altering the |
[[Image:GSbColorDebug.png|270px|thumb|right|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 |
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. {{clarify}} Graphic bugs also occur due to the screen not being localized. |
||
In the Japanese version; the interface occupies |
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. {{fact}} 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=== |
===Unused dialogue corresponding to this menu=== |
||
Line 38: | Line 39: | ||
===First page=== |
===First page=== |
||
The |
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 |
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. |
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. |
||
Line 48: | Line 49: | ||
===Second page=== |
===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, it |
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 |
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. |
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. |
||
Line 58: | Line 59: | ||
[[Image:GSoColorDebug.png|270px|thumb|right|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.]] |
[[Image:GSoColorDebug.png|270px|thumb|right|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 interface; likely related to the Pokémon/Trainer color interface exists within |
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. |
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 |
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== |
==Advanced error messages== |
||
Line 71: | Line 72: | ||
#[[N/A]] - Possibly for an invalid map location (unused) |
#[[N/A]] - Possibly for an invalid map location (unused) |
||
#[[Object event.]] |
|||
#[[Object event.]] - Possibly for when the player speaks to an object or NPC with no defined dialog data, compare with [[!]]. |
|||
#[[No windows avail-able for popping.]] |
#[[No windows avail-able for popping.]] |
||
#[[Corrupted event!]] - Possibly for speaking with an object or NPC which starts an event with invalid data |
#[[Corrupted event!]] - Possibly for speaking with an object or NPC which starts an event with invalid data |
||
#[[Coordinates event.]] |
|||
#[[Coordinates event.]] - Possibly an extension of Object Event for an object or NPC whom has no defined text and changes the co-ordinates of an other object |
|||
#[[BG event.]] |
|||
#[[BG event.]] - Possibly an extension of Object Event for an object or NPC which changes details of the map background. |
|||
#[[ERROR!]] - Used for an invalid [[bp:field move|field move]]. |
#[[ERROR!]] - Used for an invalid [[bp:field move|field move]]. |
||
#[[?????]] - Used for an invalid Pokémon species |
#[[?????]] - Used for an invalid Pokémon species. |
||
#[[Teru-Sama]] - The shared name for 29 unused items and less in Pokémon Crystal ([http://pastebin.com/PyYf5Zs8 list of hexadecimal index numbers]). |
|||
#[[Teru-Sama]] - Denotes placeholder item data |
|||
#[[?]] - Used for |
#[[?]] - Used for the invalid hex:00 item. |
||
==External links== |
==External links== |
||
#[http:// |
#[http://tcrf.net/Pokemon_Gold_and_Silver The Cutting Room Floor article about unused content in Pokémon Gold and Silver]. |