the cutting room mirror

Debug Executables

This article has a talk page!This article has a talk page!
view on tcrf.net

This is a sub-page of Proto:Guitar Hero Encore: Rocks the 80's.

The raw disc transfer comes with two ELFs in the root directory, SLUS_215.86, which is the one loaded by the game and matches the 80's final US disc ID, and SLUS_214.47, which matches Guitar Hero II's US disc ID. (To use the II executable, both the executable and the drivers MTAPMAN.IRX, SYNTH_R.IRX, USBD.IRX, and USBKB.IRX from this disc's IOP folder have to be copied onto a II ISO, replacing that game's normal executable.) Both of these executables are fully debug-enabled, enabling the use of keyboard and controller cheats, warning on benign errors, and terminating with a full stack trace on crashing.

Crash Screens#

Rather than freezing the game silently, an error message, a Data Array (the game's internal scripting language) stack trace, and a code stack trace will be displayed on a game crash. The Data Stack Trace shows, in descending order, the scripts last invoked before the crash, with the numbers appended to each script name pertaining to the node number of the DTB in question. (A modding tool such as Nachyoz's DTB Editor can then be used to find the offending node number and determine the cause of the crash.) As both executables feature full debugging symbols, these also display in the code stack trace.

Similar screens will appear on benign errors or warnings the game can work around, such as having more or less than five songs in each tier. These can be skipped using any button on the controller.

A warning screen resulting from having extra songs in the game's first tier.

It's interesting to note that in some cases, the debug executables are actually pickier than the retail executables and will crash encountering situations the final executables seem to ignore. While these don't affect either game unmodified, it's very possible to run into them while playing custom charts or making modifications to the game's files. A good example of this is if a custom chart containing any x/8 time signatures is added to the game's files. The normal executables will play these charts, treating the time signatures as if they were x/4 time signatures, while the debug executables crash with a File: ObjectPlacer.cpp Line: 112 Error: sig.mDenom == 4 error.

Keyboard Cheats#

A USB keyboard can be connected to the PS2 (or, in the latest builds of PCSX2, keyboard passthrough functionality can be enabled in Config > "USB Settings...") and be used to cycle through diagnostic information, toggle debug functionality like the metronome and controlling the song speed, quickly pass songs, quickly fail out of songs, hide parts of the HUD, or toggle access to all songs, among much else. A keyboard also enables access to the developer console, where Data Array expressions can be typed in and performed in real time as the game's running.

Key

Function

Function keys

F5

During song, drain star power

F6

During song, toggle gem visibility

F7

During song, toggle surface (fretboard) visibility

F8

During song, toggle nowbar (strikeline) visibility

Esc

Toggles developer console

Single keys

0

During song, toggle beatmatcher pause

A

During song, toggle world visibility

B

During song, audible metronome (beatmapping debug)

C

During song, cycle camshot

E

During song, subtract 0.1 from current crowd meter

F

During song, toggle highway

G

During song, show character waypoints

H

During song, cycle hiding parts of HUD (fretboard, meters)

I

Toggle light preset debug overlay

J

During song, make guitarist start walking (if venue allows it)

K

During song, make guitarist teleport to next walking waypoint (if venue has multiple)

L

During song, fail immediately

M

During song, toggle crowd meter

P

Cycle through autoplay (player 1, player 2, both, off)

R

During song, reloads song

S

During song, toggle score debug overlay, basically a "note log"

T

Toggle song time debug overlay

V

Show game version (outputs contents of config/band_version.dta)

X

During song, toggles shuttle (crashes frequently)

Key combinations

Shift+3

During song, win with 3 points (3*)

Shift+4

During song, win with 4* cutoff, or in the store, add $200

Shift+5

During song, win with 5* cutoff

Shift+A

If not on setlist screen, toggle All Access

Shift+B

During song, fretboard bounces on beats (beatmapping debug)

Shift+C

Toggle camera debug overlay

Shift+E

During song, add 0.1 to current crowd meter

Shift+F

During song, cycle freecam (word, fretboard, off)

Shift+G

Toggle guitar debug overlay

Shift+H

During song, toggle HUD

Shift+I

Toggle world lighting events

Shift+M

Mute all

Shift+P

Cycle through music speeds (100%, 50%, 25%, 10%)

Shift+Q

Prints current UI screen to the debug overlays

Shift+R

During song, reloads track (quick-restart)

Shift+S

During song, fill entire star power meter

Shift+T

Toggle CPU meters and framerate, per game module and overall

Controller Cheats#

Controller cheats are more limited, but still enable autoplay to be quickly switched on and off, the free camera mode to be utilized, and diagnostic information about frame budgets, lighting, and camera angles to be displayed, among others. These are referred to internally as either "left" or "right" cheats; when the corresponding shoulder buttons are held down (L1+L2 or R1+R2), the face buttons and D-Pad will perform different actions. Left cheats pertain more to low-level rendering and debugging information, while right cheats more to game functions and world diagnostics.

Button Combination

Function

Left (L1+L2) cheats

L1+L2+Up

Toggle framerate and texture loading counters

L1+L2+Down

Cycle heap information (main heap, rendering heap, off)

L1+L2+○

Toggle graphic stats debug overlay

L1+L2+△

Toggle progressive scan immediately without prompt

L1+L2+✕

Toggle CPU meters, per game module and overall

L1+L2+Start

Toggle synth HUD (VU meters with peak)

L1+L2+Select

Writes screen to screendump_1.bmp (crashes immediately)

Right (R1+R2) cheats

R1+R2+Left

During song, cycle freecam (world, fretboard, off)

R1+R2+Right

Toggle light preset debug overlay

R1+R2+○

During song, toggles shuttle (crashes frequently)

R1+R2+△

Toggle camera debug overlay

R1+R2+◻

Cycle through autoplay (player 1, player 2, both, off)