Jump to content

Debugging features within Pokémon Gold/Silver/Crystal: Difference between revisions

no edit summary
>Torchickens
No edit summary
>Torchickens
No edit summary
Line 8:
==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 gameplayer isforces forceda toconversation start event data forwith "MR. CHRONO" he will give the wordssay; "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.===
Line 18:
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 interfacetest menu and TM/HM compatability checker==
 
[[Image:GSbColorDebug.png|270px|thumb|right|A player alteringAltering the palette of an enemy Bulbasaur viausing anthe unused Pokémon/Trainer 'color test' interfacemenu within thein Japanese Pokémon Gold and Silver.]]
 
The color test menus and TM/HM compatibility checker in Gold/Silver allow the player to change the colors of Pokémon or Trainers, and check if a Pokémon is able to learn a TM/HM.
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.
 
The interface still exists in translated versions of the game, but in the English versions [[mojibake]] appears 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. {{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'.
 
In the Japanese version of Gold/Silver; the code for the menu is apparently located at three byte pointer 3F:54F1 (v1.0 and v1.1).
===Unused dialogue corresponding to this menu===
 
Whether the player will be editing Pokémon or Trainers depends on the memory address CF21, where an identifier of 00 activates 'Pokémon mode' and any other identifier activates 'Trainer mode'.
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.
 
In the English versions, the menu is located at 3F:52C9, and the equivalent address for Pokémon/Trainer mode is CEED.
#Aきりかえ▶ ("A switches")
#ノーマル ({{Explain|normal|palette}})
#レア ({{Explain|rare|shiny palette}})
#おわりますか? ("Are you finished?")
#おぼえられる ("Can be taught")
#おぼえられない ("Cannot be taught")
 
===First pageInstructions===
Save states for the color test menus can be found [https://mega.co.nz/#!dhsQBJ4C!l8qxU9aOKDsw63WF6LnGrZpGRWsvBeNDTOnkT4QQzdo here].
 
Use up/down to move the right facing cursor to point to either the red, green or blue scale.
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.
 
When it points to the red, green or blue scale, the amount of that color can be adjusted by adjusting another cursor with left/right. The cursor positions further to the right mean much color, and cursor positions further to the left mean less color.
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.
 
The colors will mix, for example, maximum red, maximum green and minimum blue will give the color yellow.
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.
 
At the top-right corner of the screen there are two color areas, colored based on different areas of the sprite. Below the color areas are hexadecimal color codes.
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.
 
A cursor points to what color area of the sprite will be changed from adjusting the color scales, and the cursor can be moved with left/right when there is no right-pointing cursor pointing to the color scales. This occurs after pressing up a few times.
===Second page===
 
If the A button is pressed the color alterations are lost, and either shiny (the first, third, fifth, etc. time A is pressed) or regular colors (the second, fourth, sixth, etc. time A is pressed) are applied to both color areas.
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.
 
If the select button is pressed the next Pokémon or Trainer (by index number) will be displayed, but glitch Pokémon #252-255 and #000 cannot be accessed; the test menu starts at Bulbasaur and ends at Celebi, then loops around.
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.
 
===TM/HM compatibility checker===
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.
The TM/HM compatibility checker can be accessed with B. On the first line is red text. Next to 'v w?' (Japanese: おわりますか?) is the name of a TM/HM move, which can be adjusted with up/down.
 
On the second line is green text. Next to s...A (Japanese: はい...A) is either 'v u üs' (Japanese: おぼえられない) or just 'v u' (Japanese: おぼえられる). 'v u üs' means the Pokémon can't be taught the move on the line above by TM/HM. 'v u üs' means it can.
 
===Accessing it with the Coin Case glitch===
Using TheZZAZZGlitch's [[Coin Case glitch]] payload to the quantity of stored item 2, and the same basic method as in his Celebi trick, the following code can be used to activate the test menu:
 
====Code====
 
Pokémon menu:
 
*inc b
*ld a, 3F
*inc b
*ld hl, 52C9
*rst $08 (CF)
 
04 3E 3F 04 21 C9 52 CF
 
Trainer menu:
 
*inc b (04)
*ld a, $3F
*inc b
*ld h, $CE
*ld l, $ED
*ld (hli), a
*dec b
*ld hl, 52C9
*rst $08
 
04 3e 3f 04 26 ce 2e ed 22 05 21 c9 52 cf
 
====Items====
 
Pokémon menu:
 
In stored PC items starting from item 2:
 
*(ANYTHING)x 4
*PP Up x63
*Great Ball x33
*TM10 x82
 
 
Trainer menu:
 
In stored PC items starting from item 2:
 
*(ANYTHING)x4
*PP Up x63
*Great Ball x38
*TM15 x46
*TM45 x34
*Poké Ball x33
*TM10 x82
*TM16 x(ANYTHING)
 
 
===Japanese text strings===
 
The following Japanese text strings are used for this menu:
 
#Aきりかえ▶ ("A switches")
#ノーマル ({{Explain|normal|palette}})
#レア ({{Explain|rare|shiny palette}})
#おわりますか? ("Are you finished?")
#おぼえられる ("Can be taught")
#おぼえられない ("Cannot be taught")
 
==Tileset color interface==
 
[[Image:GSoColorDebug.png|270px|thumb|right|AnThe unusedtileset color interface, allowing one to change a palette within the main map interface, modified to function correctly in Pokémon Gold and Silver.]]
 
The tileset color interface is an unused debugging interface; likely related to the Pokémon/Trainer color interface exists within Pokémon Gold and Silver.
 
Custom code must be written to generate the menu, but subroutines for the menu exist.
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.
 
The menu is like the Pokémon and Trainer color debug menu, but enables the player to alter color settings for the map instead of Pokémon or Trainers.
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.
 
==Event data messages==
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.
 
[[Image:Object event.png|270px|thumb|right|Object event.]]
==Advanced error messages==
 
The event data messages are debugging messages that can appear in a text box through hacking or glitching. What causes them is undocumented.
[[Image:Object event.png|270px|thumb|right|The error handler: [[Object event.]]]]
 
#The window save
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.
area was exceeded.
#No windows avail-
able for popping.
#Corrupted event!
#Object event
#BG event
#Coordinates event
 
==Other debugging text==
#[[N/A]] - Possibly for an invalid map location (unused)
*[[N/A]] - Possibly for an invalid map location (unused).
#[[Object event.]]
#[[No windows avail-able for popping.]]
#[[Corrupted event!]] - Possibly for speaking with an object or NPC which starts an event with invalid data
#[[Coordinates event.]]
#[[BG event.]]
#[[ERROR!]] - Used for an invalid [[bp:field move|field move]].
#[[?????]] - 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]).
#[[?]] - Used for the invalid hex:00 item.
 
==External links==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.