|This page is rather stubbly and could use some expansion.|
Are you a bad enough dude to
Dark Half's extensive debugging features can be enabled in two ways:
- Use the Pro Action Replay code C0047A80.
- Use the Pro Action Replay code C0047A40, then at any point in game, press Up + Right + B + X + R + Select + Start on controller 1.
The latter seems to be the more "correct" method, as it would have allowed the developers to play the game normally with the debugging features kept sufficiently out-of-sight most of the time. Using the first PAR code enables the same features without the awkward button combo.
When debug mode is enabled, L or R can be held on controller 2 to temporarily hide sprites and interface graphics (i.e. anything on layer 3). Several other button combos are also available, detailed below.
The main debug menu can be accessed outside of battles by holding A and pressing Y.
- FLG: lets you toggle 1024 event-related flags on/off. The specific effects of each flag are unknown.
- PTY: adjust your current party members' stats.
- DBG: enable/disable some specific debug features:
- SV: press Select to save the game at any time.
- AT: press L / R to show exits and tile data, respectively, and X to clear either.
- AX: press A + X on to enable/disable free movement.
- ST: press Start to trigger a random encounter.
- X: press X during battles to instantly exit (without winning) the battle (menu must not be open).
- WLK: switchable between "nomal" (sic) and "fast"; exact effect unknown.
- SR: unknown.
- CNG: select which person/party you're currently playing as.
- SCE: warp to a specific scenario (first number) and location (second number).
- TIME: enable/disable the passing of time.
- ECNT: enable/disable random encounters.
- SMAP: warp to a specific location.
- ACT: start a battle with a specific enemy.
- SND: play music (first number) and sound effects (second number).
- ITM: adjust the quantity of any type of item in your inventory.
Map Info Display
When the AT flag is enabled, press L on controller 1 to show any exits that are currently on screen. The number above each exit probably represents the exit's properties (this value seems to usually be 00).
The display doesn't update as you move around, so you will have to press L repeatedly to have a constantly updating display. Pressing X will erase the display from the screen.
Likewise, with the same flag enabled, press R to show the attribute values of all tiles on the screen.
Walkable, "ground-level" tiles have a value of 00, which isn't displayed; "high" values are given to solid tiles and other special tiles, such as stairs.
Like before, multiple button presses are needed to keep the display up-to-date, and pressing X will remove the display.
When the AX flag is enabled, press A + X on controller 1 to enable/disable free movement mode.
In this mode, random encounters are disabled and the player is free from the usual laws of game physics. The display in the bottom corner gives information about the tile the player is currently standing on: X / Y are the player's position, ATR is the current tile's attribute value, and the bottom two numbers are the camera coordinates.
At any point while debug mode is active, pressing Up + Right + B + X + R + Select + Start on controller 2 brings up this debug screen, showing the current contents of the processor stack. This was probably only used when the game somehow entered some kind of unrecoverable state, as there is no apparent way to exit this screen once it is accessed.