Under the Microscope: The Incredible Hulk — The Pantheon Saga

In this edition:

  • The Incredible Hulk: The Pantheon Saga has a hidden cheat menu that grants infinite items, the ability to skip levels, and more.
  • Action Replay codes to enable it have been known for the PlayStation version, but I found the password that unlocks it on both Saturn and PlayStation.

The password is DAF71D1075. If you like this game, give it a shot!


Intro

Some repositories of GameShark and Pro Action Replay codes have this one for the PlayStation version of The Incredible Hulk: Pantheon Saga: Cheat Mode replaces Hall of fame.

This gives you access to the screen shown here, which lets you give yourself infinite energy; gamma; continues; and calling cards, skip levels at will, and alter your starting position.

This screen has graphics and effects and special menu logic (ALL CHEATS toggles everything above it), so it’s clear that some work went into it — it’s not some utilitarian developer menu. Is there a way to unlock it without hacking?

I decided to investigate…


Technical details

The function at 060362ac (U.S. Saturn version) handles the mode select screen, which includes the password input field. The function keeps track of the cursor position, and when you press down it increments it.

The disassembly is fairly straightforward — if you hit down when highlighting the last item, the cursor wraps back around and goes to the top again. In pseudo-Python:

if p1_held_button & DOWN_BUTTON != 0:
    cursor_index += 1
    if cursor_index == (4 + extra_enabled):
        cursor_index = 0

There are four menu items normally, but if the extra_enabled value (my name for it) is nonzero, you get an additional one.

That value is stored at 06053f68. Tracing the references in Ghidra, I found that the code starting at 0636776, which executes when you enter a password, updates it:

if (
  password_byte[0] == 0xAD and  # Check the 1st and 2nd characters
  password_byte[1] == 0x7F and  # Check the 3rd and 4th characters
  password_byte[2] == 0xD1 and  # Check the 5th and 6th characters
  password_byte[3] == 0x01 and  # Check the 7th and 8th characters
  password_byte[4] == 0x57      # Check the 9th and 10th characters
):
    update_extra_enabled()

This requires some interpretation. When you enter a password, it goes into the buffer starting at 0605430c :

  • First character: the lower 4 bits of 0605430c are updated with the hex equivalent of the character you put in.
  • Second character: the upper 4 bits of 0605430c are updated with the hex equivalent of the character you put in.
  • Third character: the lower 4 bits of 0605430d are updated.
  • Third character: the upper 4 bits of 0605430d are updated.
  • Et cetera…

This means we read out the password in a slightly scrambled order. AD becomes DA, 7F becomes F7, D1 becomes 1D, 01 becomes 10, and 57 becomes 75. Put those together and we have the one to unlock the cheat menu: DAF71D1075.

The game says PASSWORD REJECTED, but Cheat Mode pops up right afterward:


Outro

Kudos to the hacker who discovered the existence of this menu with Action Replay codes. Which other games have hidden things that might be accessible via cheat code? Send me your suggestions!

For more from the cheat code mines, see my archive here at SHIRO!. For more retro game reverse engineering, see my Rings of Saturn blog.

About the author

Readers Comments (2)

  1. It’s UK humour! The password spells the word ‘daft idiots’ daft being the coloquial British slang for silly or re7ard3d

Leave a Reply to Bo Bayles Cancel reply

Your email address will not be published.


*