Under the microscope: Elemental Gearbolt (PlayStation)
With apologies to the speedrun community
Elemental Gearbolt is a light gun game from AlfaSystem that was localized by Working Designs. The cheat sites list unlockable elements for it, but they only describe how to get them the hard way:

Is there an easy way? I decided to look…
The cheat code
There is a way to Start on the mode select screen. Move the cursor to the corner of the screen such that it’s not hovering over any of the menu items.
Then enter this sequence:
Up, Up, Down, Down,
Right, Left, Right, Left,
Square, Triangle, Circle, X,
X, Circle, Triangle, Square,
Left, Right, Left, Right,
Down, Down, Up, Up
L1+L2+R1+R2+StartIf you got it right you’ll be taken to the Options screen. The five bonus items, Music; Sound; Libraries; Cinemas; and Outtakes will be available:
Debug features will also be enabled. You’ll see some sort of resource meter on the side of the screen, and you’ll have extra controls:
Press Select to enter a free camera mode.
Press R2 to speed up the action.
Press Circle to decrease your health.
Press Triangle to increase your health.
Pause and press R1 to show debug information.
Here’s a video of free camera mode in action:
The reverse engineering
When you’re on the main menu, the function at 8005b6c8 is tracking your input. It calls out to the function at 8005e5c0, which matches your button presses to the array of patterns that starts at 80062384. Here’s Ghidra’s decompilation of the relevant code:
if (cheat_counter < 0x18) {
if ((pressed_button & 0xffff) != (&button_patterns_80062384)[cheat_counter]) {
return 0;
}
return cheat_counter + 1;The array of patterns looks like this:
0x1000, 0x1000, 0x4000, 0x4000, 0x2000, 0x8000, 0x2000, 0x8000,
0x0080, 0x0010, 0x0020, 0x0040, 0x0040, 0x0020, 0x0010, 0x0080,
0x8000, 0x2000, 0x8000, 0x2000, 0x4000, 0x4000, 0x1000, 0x1000Here is the map of patterns to buttons:
| Pattern | Button | Pattern | Button |
|---------|----------|---------|--------|
| 0x0001 | L2 | 0x0100 | Select |
| 0x0002 | R2 | 0x0200 | L3 |
| 0x0004 | L1 | 0x0400 | R3 |
| 0x0008 | R1 | 0x0800 | Start |
| 0x0010 | Triangle | 0x1000 | Up |
| 0x0020 | Circle | 0x2000 | Right |
| 0x0040 | X | 0x4000 | Down |
| 0x0080 | Square | 0x8000 | Left |The next part of the cheat checking function executes after you’ve matched all 24 patterns in the array. It looks to see if you’re holding L1+L2+R1+R2 while pressing Start:
if ((pressed_button & 0x800) != 0) { /* Pressing Start */
if ((held_button & 0xf) != 0xf) { /* Holding L1+L2+R1+R2 */
return 0;
}
return -1;
}If the function returns -1, the byte at 80010009 gets set to 0x01. This activates the cheat effects.
Outro
Sharp-eyed readers might notice that the debug information and free camera modes for this game look very similar to those same things in Project: Horned Owl, a game that was featured on Rings of Saturn last week. That game was also developed by AlfaSystem, and three of its four programmers returned to work on Elemental Gearbolt.
Thanks for reading. I’ll be back with more articles soon. You can subscribe here on Substack to get the next piece as soon as it’s published.





