Under the microscope: Project Horned Owl (PlayStation)
In this edition, I’m examining Project Horned Owl for PlayStation. I found two things of interest for this game:
A cheat code for the retail versions that grants access to a bonus screen with a 3D model viewer, level select menu, and debug controls. This went undiscovered for 30 years!
A pre-final version of Horned Owl on a Japanese demo disc. I made a patch that removes the demo restrictions and allows full exploration of this unfinished build.
Details are below…
The cheat code
At the main menu, highlight the Controls item. While holding L1+R2+Left, press Start. You’ll get an Extra controls menu:
Most of the items can be unlocked by finishing the game on the hardest difficulty level. Mission Select and Movie Test do what you would think they do.
Polygon Test is a 3D model viewer:
Debug Mode enables special controls during gameplay. Most notably, you can press Select to get a free movement mode:
Pressing R2 speeds up the pace of the game. Pressing Circle drains your shield – don’t do it too much, or you’ll lose a life.
Technical details: The function at 8002f8a8 executes when you select the Controls item from the main menu. It checks to see which buttons you’re holding and then compares them to the pattern 0x8806. The relevant instructions are:
8002f8ac lw v1,0xa40(gp)
8002f8cc xori v1,v1,0x8806
8002f8d0 sltiu s0,v1,0x1
8002f8d4 beq s0,zero,0x8002f8ecHere’s what they’re doing:
The lw (Load Word) instruction loads the bit pattern associated with the buttons you’re pressing.
The xori (XOR Immediate) instruction XORs that pattern with the
0x8806pattern, which is the logical OR of Left (0x8000), Start (0x0800), L1 (0x0004), and R2 (0x0002). If the two patterns match, the resulting value will be 0.The sltiu (Set on Less Than Immediate Unsigned) instruction checks whether the result of the XOR is less than 1.
The beq (Branch if Equal) instruction jumps to another section of code based on the result of the
sltiuinstruction.
If you held the right buttons, the branch instruction takes you into the code for the bonus menu.
The prototype demo
The DemoDemo PlayStation Vol. 13 disc has several playable previews on it. Most of the games featured were exclusively released in Japan, but Project Horned Owl is an exception.
The demo lets you play through most of the first mission before kicking you to the Game Over screen. But this restriction is superficial: the disc has a complete set of files. They’re from 1995-10-04, 26 days before the final version’s.
Some strategic memory modifications (see below) can grant access to the menu screens. Most of them look like their final counterparts, but the Select Mission screen is different:
Although it’s on the demo’s main menu, the Training Room doesn’t work in the prototype build.
The prototype build allows access to the Gun Adjust screen even if you don’t have a light gun plugged in.
The missions look mostly complete in the prototype demo, but they’re missing the overlays – characters don’t pop up to talk to you, and map screens don’t appear while you’re playing.
Technical details: I changed four instructions to sidestep the demo restrictions.
The demo checks 80086d00 to see whether to skip the title screen and go straight into the main menu. My first modification changes the check to prefer the main menu:
8002e380 li v0,0x01 # Load a 1 instead of the dynamic valueCuriously, the demo’s main menu normally doesn’t let you select the Option item. This fixes that:
8002f3c4 nop # Don't branch past the Option menu handlingThis change makes it so the bonus options are always enabled:
8002f520 li v1, 0x41 # Load 0x41 instead of the dynamic valueNormally, the demo kicks you out after a fixed amount of time playing. This change gets rid of that check:
80022bd0 nop # Don't do the end-of-demo checksGet the patch from GitHub.
Outro
For many more articles on finding new cheat codes for old games, see my archive of discoveries for more than 100 titles.
And for a number of articles on patching demo discs to access restricted content, see my Extending the demo series.
Thanks for reading. I’ll be back with more tales of retro game reverse engineering soon.












