Xing Entertainment did a series of ports of old arcade titles for the Saturn and PlayStation under the Arcade Gears banner. One of the titles was Gun Frontier, a Taito shooting game from 1990 with a combination space/western theme.
The arcade version has some things hidden on it — see TCRF’s article about the level select function and test mode. How about the Saturn version? I found two cheat codes that I think are new, and both are somewhat notable in their absurdity!
Adjust credits
The first one is this: on the Option screen, press the C button 50 times. A new CREDIT item will appear.
This game beats Shinobi Legions for longest code sequence! The debug code for that game involves pressing only 40 buttons.
Stage select
The second one is this: plug a light gun in as controller 2. Then shoot the option screen. You’ll see an explosion, and new CREDIT and STAGE items will appear.
I wasn’t expecting the explosion effect, haha — here’s a video of it:
Did anybody know that this game had light gun support? I suppose it makes sense given its name.
Technical details
I like to look at the options screen for games, because by diffing memory snapshots before and after you make a change, you can learn where different parameters are stored.
For Gun Frontier, the options menu cursor variable (which item you’re pointing at) is stored at 0607a700
. If you press Down, the value increases, and if you reach the bottom, it wraps around to 0. The code at 0600ccd4
looks something like this:
if (p1_button_press & DOWN_BUTTON) != 0:
option_cursor += 1
if cursor >= option_limit:
option_cursor = 0
Where does it get the cursor_limit
? It’s stored at 0606d560
. What sets the value? Following the references leads to the function at 0600c92c
, which seems to set it to either 6 or 7 in response to player input. Here’s Ghidra’s decompilation with my variable names and comments:
The “Press C 50 times” block is straightforward — pressing C increments a counter; if that counter reaches 50, the option limit increases to 6.
The “Plug a Virtua Gun in as controller 2” block took me a while to figure out. The Saturn knows what type of controller you have plugged in, and each type gets a number. You can watch it change if you’ve got a 3D Control pad: flipping the analog/digital switch will make the value at 0605f7dd
change from 02
to 16
.
I didn’t know what type this game was looking for, so I tried the Shuttle Mouse and Mission Stick before trying the gun. I should have thought of that first!
Outro
For more coverage of long lost cheat codes, see my collection of articles here.
Feel free to use this information elsewhere, and send me your suggestions for what to examine next!