Logo
News
Menu News Editorials Reviews Best of Saturn Resources Magazine Netplay Friends
 
 
 

Under the Microscope: Casper

Over at the Sonic Retro forums , user Black Squirrel pointed out that the PlayStation version of Casper has some cheat codes listed on sites like GameFAQs . He was able to get them to work on the Saturn version of the game by making button substitutions, but noted that they’re strange — one requires you to put Casper in the corner of a room.

I was intrigued, so I checked out all three console versions of this game. I found:

  • Saturn and PlayStation : An invisible cheat menu that lets you fly over walls, boost your health/score, defeat enemy ghosts, and more.
  • 3DO : A mini shooting game Easter egg.

Details are below!

Flying over walls (PlayStation)

Here’s how GameFAQs (and other sites) describe the “fly over walls” cheat:

Go to the upper left corner of any room. Press and hold Up-Left + L1 + R1 + Start. The game will freeze. Release Up-Left and L1 and then hold Down-Right + Triangle. Use the D-pad and R1 to fly over walls. Press L1 to resume game normally.

The game doesn’t really require you to be in the corner of a room; anywhere will do. The real steps for PlayStation are:

  • Hold L1+R1+Up+Left and press Start. The game will freeze.
  • Press Right and then Triangle. The game will unfreeze.

You’ll be able to fly up higher with the R1 button than before. This lets you go out of bounds, skip over obstacles and puzzles, and generally speed through the game.

During normal gameplay, the game stores a representation of the buttons you’re holding at 8007f6f4 (NTSC-U version). The function at 8002a578 checks for the pattern 0x0705 . That’s the logical OR of:

  • 0x0004 : Up
  • 0x0001 : Left
  • 0x0400 : L1
  • 0x0200 : R1
  • 0x0100 : Start

When that pattern is detected, control is handed off to the function at 8002a344. Pressing Right when the game is frozen changes the value at 8007ede4 , which is the flying height limit. Normally it’s 3c , but this trick changes it to fa .

Flying over walls (Saturn)

To do the same trick for Saturn:

  • Hold L+R+Up+Left and press Start. The game will freeze.
  • Enter the sequence Down, Down, Right, Y. Gameplay will resume.

You can use your enhanced flying powers to find the “secret room” that’s mentioned on the IGN cheats page for the PlayStation version of the game. It’s got all of the items! At the start of the game, go up the western staircase. On the next level, float over the wall and go south.

For the NTSC-U Saturn version, the buttons you’re pressing are stored at 06089e2c and the height limit is stored at 0604d0a0 . Everything matches up with the PlayStation version of the cheat, except you’ve got to press Down twice. What’s up with that?

Well…

The invisible cheat menu (Saturn, PlayStation)

What’s actually going on when the game “freezes” is this: you’re controlling an invisible menu. Pressing Up and Down selects menu items, and pressing Right and Left changes values associated with each menu item.

On Saturn the items are as follows — the item numbers correspond to how many times you press Down:

BGM change : Press Right and Left to change which music track is playing. Nothing Height limit : Press Right to increase it and Left to restore it. Instantly defeat an enemy : Press Right when one of the evil ghosts is on screen. Health / Score : Press Right to have more points and Left to have fewer. Staff roll : After you press Y, the credits sequence will play.

On PlayStation the items are:

Height limit Instantly defeat an enemy Health / Score

When you use the “instantly defeat an enemy” effect, the evil ghosts will disappear in a puff of smoke:

You can increase the Health / Score value as far as you care to go in the 32 bit range. The value is displayed on the high scores list after the staff roll:

Increase game speed (Saturn, PlayStation)

GameFAQs also has this for the PlayStation version:

Faster Movement : Hold Triangle and press X, R1, R1, R1 while playing.

This is not quite right. The real cheat is:

  • Press Triangle to access the Item screen.
  • Tap R1+X to double the speed limit.
  • Tap L1+X to set the speed limit back to normal.
The item screen

The item screen handler (at 80029ce0 ) changes the value at 8007ea10 from 01 to 02 when you press R1+X. It restores the original value when you press L1+X. Everything is faster, not just Casper.

On Saturn, the procedure is similar:

  • Press Y to access the Item screen.
  • Hold B and press R to double the speed limit.
  • Hold B and press L to restore the speed limit.

On Saturn the speed multiplier is stored at 0604cff4 . You can push up to about 8x with memory editing before the game starts dropping frames.

A mini shooting game (3DO)

The 3DO version of this game doesn’t seem to have the invisible cheat menu. But it does have its own Easter egg.

On the main menu, enter ABRACADABRA (with R as Right and D as Down) like this:

  • Tap LT+RT+A at the exact same instant. If you got it right, you won’t move into the next menu. If you got it wrong, press Select and start over.
  • Repeat for the rest of the letters, starting over if you ever wind up at the next menu.
  • You really have to nail the timing on the simultaneous presses. It’s very frustrating and you’ll have to start over a lot.

Once you’ve got the code in, you’ll be dropped into a mini shooting game:

Press A to shoot. The large objects will break into smaller ones if you hit them. The smallest objects will disappear when hit. Pressing Select ends the game.

The function at 00070ec0 implements the cheat code logic. It maps each button press you successfully press along with L+R to an ASCII letter and then stores that letter in a buffer. Then it compares the input to this string in memory:

0007116c "ARBADACARBA"

Huh, it’s backward? Yes — the buffer is filled in reverse order.

I presume this was added by lead programmer Eivind Hagen . He says of Casper that he:

Designed and implemented the entire game software (engine and game code) for 3DO. The engine was designed to be cross-platform, and the Saturn and PlayStation versions of the [engine] were [developed] by additional engineers without any significant change to the engine or the game code.

If you know how to reach him, I’d love to know if he ever mentioned this Easter egg to anyone.

Outro

One last note about the 3DO version: it doesn’t have a variable height limit for floating like the Saturn and PlayStation versions. The limit of 3c units is hardcoded as an immediate value in an ARM instruction:

00079738 r0,r0,#0x3c

If you modify that instruction you can float higher. The secret room is still present even though you can’t access it.

Many thanks to Black Squirrel for pointing this PlayStation / Saturn discrepancy out to me! If you know about any games with interesting platform differences, let me know about them.

For more articles like this, see:


Bo Bayles
 

Rings of Saturn: 32bits.substack.com

 
 
Next Prev Go to top