Proto:Guitar Hero Encore: Rocks the 80's/Debug Executables
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.
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) |