Under the microscope: Tarzan Untamed (GameCube, PlayStation 2)
One game, two platforms, two overlapping sets of cheat codes
In this edition, I’m examining Tarzan Untamed, the 2001 PlayStation 2 and GameCube game from Ubisoft.
I found some new hidden features in this game:
An Easter egg minigame featuring the development staff (both systems)
A framerate display function (both systems)
An “unlock everything” code (GameCube)
An “unlimited spears” cheat code (PlayStation 2)
A “99 lives” cheat code (PlayStation 2)
Details on how these work are below!
Developer faces minigame
Start a new game. When prompted to enter a name, put in:
PlayStation 2: UBIPATCH
GameCube: MDSTRUE
The screen only lets you enter three letters, but just keep overwriting the last one. Once you put in the final letter, you’ll get an Easter egg from the development staff! Pictures of their faces fall down, and you can shoot spears at them to reveal their associated names.
Here’s a video of this in action on PlayStation 2:
Framerate display
Use the same trick as above to enter your save’s name as FRAMERATE. This will cause performance stats to be printed on screen.
The PlayStation 2 display is a little bit different from the GameCube display:
Unlock everything (GameCube)
Using the same save name trick, enter MDSGODS. This will allow you to choose any starting level:
You’ll also have all of the collectibles and be able to watch all of the unlockable cinematics:
This trick only works on GameCube, alas.
Unlimited spears (PlayStation 2)
On the stage select map, press L1+L2+R1+R2 once, all together. Then enter this sequence:
Left, Up, Right, Down,
Down, Left, Up, Right,
Right, Down, Left, Up,
Up, Right, Down, LeftYou’ll hear a sound effect if you got it right. When you’re playing you will always have five spears — the number won’t diminish if you use one.
99 lives (PlayStation 2)
On the stage select map, press L1+L2+R1+R2 once, all together. Then enter this sequence:
Right, Left, Up, Down,
Down, Up, Right, Left,
Left, Right, Down, Up,
Up, Down, Left, RightYou’ll start playing with 99 lives:
Technical details
I always enter a distinctive name when a game gives me the chance. This allows me to easily locate where it’s stored in memory. Tarzan Untamed uses plain ASCII text for profile names, so they can quickly be found by searching an emulator memory snapshot.
With the storage location in hand, I set a read break point for it in the PCSX2 emulator. This led me to the function at 0027f170 (NTSC-U version), which does some comparisons – most notably to these two strings:
004af528 "FRAMERATE"
004af538 "UBIPATCH"I did the same trick in the Dolphin emulator and found that it looks for three special strings:
80296494 "FRAMERATE"
803dc8a8 "MDSTRUE"
803dc8b0 "MDSGODS"In addition to searching for my profile name, I also searched for the word cheat. This turned up a few interesting strings in the PS2 version:
004b3039 "CheatSound"
004b3044 "CheatMenu"Right above those strings are these:
004b2fc4 "LURDDLURRDLUURDL"
004b2fd5 "RLUDDURLLRDUUDLR"
004b2fe6 "LLRRUUDDLRLRUDUD"
004b2ff7 "UDLLRDURRLUDLUDR"
004b3008 "LRRLUDDURLLRDUUD"Those sure look like cheat codes! I traced references to them to the function at 0030e8e0, which is active on the stage select screen (I determined this with an execution breakpoint). The function only reads the cheat strings if you’ve first met four different conditions, which turned out to be “press L1, L2, R1, and R2.” The logic is something like this pseudo-Python:
if (
check_input(L1_POINTER) and
check_input(L2_POINTER) and
check_input(R1_POINTER) and
check_input(R2_POINTER)
):
allow_cheats = 1
update_input_buffer()
if compare_buffers(INPUT_BUFFER, "LURDDLURRDLUURDL") == 0:
infinite_spears = 1
play_sfx()
if compare_buffers(INPUT_BUFFER, "RLUDDURLLRDUUDLR") == 0:
set_lives(99)
play_sfx()This logic is present in the GameCube version, but you can’t actually exercise it. It’s using the function I’m calling check_input to examine four locations:
8061dee0: Updates when the R button is pressed.8061dbc0: Updates when the Z button is pressed.8061dd50: Updates when the L button is pressed.8061da30: Never updates!
Since nothing triggers the last one, those codes are impossible to enter! I think this is another case like Buzz Lightyear of Star Command where there aren’t enough buttons – four modifiers are needed, but the controller only has three.
You may notice that there are five cheat strings above, but I only reported effects for two. The game updates a flag field and plays a sound effect after you enter each one, but the updated values never seem to be checked during gameplay. So I think they’re unused extras – tell me if you know better!
Outro
An update on a previous article: the bizarre cheat code that I found in E.T. Interplanetary Mission is the centerpiece of this Cinemassacre / AVGN Christmas video. You’re welcome, I guess?

Thanks for reading Rings of Saturn! I’ll be back with more retro game reverse engineering articles next week.






