In this edition:
Keio Flying Squadron 2 has a cool debug mode: it has a stage select menu, hitbox display, a higher jump, and more.
The code to enable it seems to have stayed secret for 29 years.
But we have it now!
The code is entered on the mode select screen:
Right, Right, X, Left, Left, Y, Up, Up, Up, Up, Up, Z, R, L
Here’s a video of it in action:
Intro
Keio Flying Squadron 2 was a bit of a zag. The first game in the series was a goofy shoot-em-up, and the name made some sort of sense: you’re generally flying when you play. The second game is generally a platformer, so “flying squadron” is less sensible.
Although the first game was released worldwide, the sequel didn’t come out in North America. There were PAL releases, however, so the game is translated for and playable by English speakers.
The first game has a level select code, but there weren’t any codes listed for the second one. I decided to investigate…
Debug mode controls
After entering the button code above, some numbers will appear on the mode select screen. When you start the game, you’ll see lots of debug messages fly by.
Once you have control, press start to pause the game. The debug controls are as follows:
Press R to toggle the debug display
With debug display on, press L to bring up the stage select menu
With debug display off, press L to start over at stage 1-1
Press A to toggle enhanced jumping
Press B to toggle invincibility
Press C to lose a life instantly
Press X to toggle hitboxes
Press Y to turn on additional debug messages
Additionally, you can hold X while not paused to advance frame by frame slowly.
Technical details
The function at 0601dddc
handles the mode select screen. There’s a section of code in it that looks like this (pseudo-Python adapted from Ghidra’s decompilation):
code_button = code_buttons[code_counter]
if pressed_button == code_button:
code_counter += 1
if code_button == 0: # End of code
debug_flag_1 = 1
debug_flag_2 = 1
else:
code_counter = 0
The code_buttons
array looks like this — I’ve added the mappings from bit patterns to button names:
06068e64 0x8000 # Right
06068e68 0x8000 # Right
06068e6c 0x0040 # X
06068e70 0x4000 # Left
06068e74 0x4000 # Left
06068e78 0x0020 # Y
06068e7c 0x0010 # Up
06068e80 0x0010 # Up
06068e84 0x0010 # Up
06068e88 0x0010 # Up
06068e8c 0x0010 # Up
06068e90 0x1000 # Z
06068e94 0x0080 # R
06068e98 0x0008 # L
06068e9c 0x0000 # End
During gameplay, the code starting at 0601032a
handles the debug controls.
Outro
For previous “unknown cheat code” coverage, see my archive.
What other games do we think might have hidden codes? Send me your suggestions!
