Under the Microscope: Herc’s Adventures, Castlevania: Symphony of the Night, Wangan Trial Love

What do Herc’s Adventures, Castlevania: Symphony of the Night, and Wangan Trial Love have in common, besides being Saturn games? All three games have unreported “staff roll” Easter eggs — special ways to access the game credits.

Details are below…


Herc’s Adventures

Herc’s Adventures, which was developed by Big Ape Productions and LucasArts, doesn’t have the usual credits roll. Instead, when the game ends, your player character is placed into a scene where it’s possible to interact with members of the production staff.

You can skip straight to this interactive scene by holding buttons on both controllers after selecting a character. On Saturn:

  • Player 1: L+Z+Up+Start
  • Player 2: L+R+C+Down

On PlayStation:

  • Player 1: L2+Start+Up+Triangle
  • Player 2: L2+R2+Circle+Down
The character selection screen

Most of the people standing around will tell you their names if you go up to them:

Left: Production manager Camela Boswell. Right: Designer Mike Ebert.

There are some cameos from another LucasFilms property as well:

Star Wars characters!

Technical details: Most games store controller input such that each button is associated with a bit mask. For Herc’s Adventures on Saturn, Up sets the 0-position bit in the mask. So to check for Up being pressed, the game perform a logical AND of the input bit field with 0x0001 and tests whether the result is nonzero. Down sets the 1-position bit, so testing for it involves a logical AND with 0x0002.

Knowing this pattern, it’s easy to scan for input checks for multiple buttons: they’ll be for numbers that have multiple bits set — i.e., they aren’t powers of 2. The code in the function at 0603fdbc (NTSC-U Saturn version) stood out for that reason. Here’s its logic with my labels added:

p1_input = get_input(0, HELD_BUTTON)
p2_input = get_input(1, HELD_BUTTON)
if (p1_input == 0x1181) and (p2_input == 0x1822):
    return 1

return 0

0x1181 is the logical OR of the bit patterns for L, Z, Up, and Start. 0x1822 is the logical OR for L, R, C, Down.

There’s substantially identical code in the PlayStation version at 80069178 (NTSC-U edition).


Castlevania: Symphony of the Night

It’s long been known that you can activate some special effects in this Castlevania game by using a special name:

  • X-X!V’‘Q: Increases your luck stat.
  • AXEARMOR: Gives you axe armor.
  • GTI-CLUB: Gives you 250,000 gold.

But this other special name seems to have slipped everybody’s notice: STAFF

Enter it, and you’ll get the game credits!

Technical details: The first three special names are in plaintext:

06074c9c "X-X!V’‘Q"
06074ca8 "AXEARMOR"
06074cb4 "GTI-CLUB"

These get compared to your name entry (stored at 0605c932) by the function at 06074cc8. Over in a separate part of the memory is the new special name:

060acf18 "STAFF   "

It gets compared to a copy of your name entry (stored at 060b3160) by the function at 060a6540.

There doesn’t seem to be an equivalent effect in the PlayStation version.


Wangan Trial Love

Hmm, what are the odds we can find a more-or-less identical cheat effect in a different game? Pretty good, it seems: Wangan Trial Love (the second-best combination racing game and dating sim on Saturn with a name that starts with Wangan) will launch the credits if you enter this name: すたっふろーる

That’s “staff roll” spelled out with hiragana:

You need to hold X after entering this name to make it take effect. You can let go once the credits start:

Technical details: This game uses a custom encoding, so it’s difficult to just read the names out of a memory snapshot. I located where my name input was being stored by diffing memory snapshots before and after entering letters (I use RALibretro’s Memory Inspector for this). Then I set a read break point in Mednafen for that location. After that, I traced where the name buffer is read.

That led me to the function at 060314dc, which compares your name entry to six different special ones. The first is this one:

0604bfa0 900c  # す
0604bfa2 900f  # た
0604bfa4 9033  # っ
0604bfa6 901b  # ふ
0604bfa8 902a  # ろ
0604bfaa 90a1  # ー
0604bfac 9028  # る

If it gets a match, it checks to see which buttons you’re holding. Holding X will launch the credits, as shown above.


Outro

This article was brought to you by me. Special thanks go out to Black Squirrel and cartridgeculture from the Sonic Retro forums — their messages are what promoted me to look at Herc’s Adventures.

I’ll be back with more hacks and cheats next week! Check the archive for more in the meantime.

About the author

Bo Bayles

Rings of Saturn: 32bits.substack.com

Leave a comment

Your email address will not be published.


*