Eidos planned to publish Chill, a snowboarding / cryptid hunting game, for both PlayStation and Saturn in 1998. But the Saturn version never materialized, leaving Swagman as the Eidos’s final Saturn title.
A late prototype build of Chill for Saturn came to light in 2011 — it’s available from Hidden Palace. I decided to check if there was anything hiding in it, and was pleased to find that it does. The PlayStation version also turned out to have a long-unnoticed secret.
See below for:
An “unlock everything” cheat code for the Saturn version.
An “unlock everything” Easter egg for the PlayStation version.
Details on the reverse engineering involved in locating the secrets.
Some additional hidden debug features in the Saturn version.
The Saturn version
To unlock the extra tracks and bonus character, enter this sequence at the title screen:
A, B, A, C, A, B, A
If you got it right, you’ll get this cheat screen:
You can use the menu to set the two Tracks to On. They will then be available for selection when you start playing:
You can also set Characters to On to enable the bonus Yeti character:
The PlayStation version
You can also cheat at the PlayStation version of Chill, but doing so requires some effort. First, you’ll need to set a record on one of the tracks by getting a top time or score. If you do, you’ll be prompted to enter your initials.
If you enter the initials XQX, you’ll unlock the Yeti character, the Glacier track, and the Free Riding track.
Technical details
Finding the cheat code for the Saturn version was very straightforward. As usual, I compared memory snapshots from before and during button presses to determine where the game stores input. That led me to the function at 060097c4
, which runs when you’re at the title screen.
That function has logic like this:
if pressed_button == cheat_sequence[counter]:
counter += 1
if counter == 7:
next_screen_id = 0x1b
The sequence that it refers to is:
060540c4 0000 0004 # A button
060540c8 0000 0001 # B button
060540cc 0000 0004 # A button
060540d0 0000 0002 # C button
060540d4 0000 0004 # A button
060540d8 0000 0001 # B button
060540dc 0000 0004 # A button
The 0x1b
return value is screen ID. If you change it to 0x1C
, you get a different hidden screen:
I don’t think this one is accessible without hacking. Turning off collision allows you to go out of bounds. The debug display items show some sort of resource meter:
The PlayStation version was a real pain to analyze. The compiled code stuck almost all of the menu system logic into a single function. It’s too large for the Ghidra decompiler to handle, so I had to read the assembly directly.
GameHacking.org tells me this about unlocking Yeti:
RAM Write - Writes 1 to the RAM address 0x80089C3E.
I searched for writes to that address and found the code shown below. I could see that it was comparing something to the 3 letter string XQX
, so I suspected that it had something to do with the high scores screen. I’ve annotated the assembly to show the logic:
# Did the player just press X?
lw v1,0xbe8(gp)=>player_pressed_button
ori v0,zero,0x4000
bne v1,v0,LAB_80023bd8
_lui v0,0xff
# X was pressed - move to the next screen.
lui v1,0x8011
# Read the high score name buffer
lw v1,offset high_score_name_buffer(v1)
ori v0,v0,0xffff
# Prepare "XQX"
lui a0,0x58
ori a0,a0,0x5158
# Did the name buffer match "XQX"?
and v1,v1,v0
bne v1,a0,LAB_80023a78
_nop
# The name buffer did match: unlock the bonus elements.
ori t8,zero,0x3f
ori t9,zero,0x3
lui at,0x8009
sb t8,0x9C3f(at)=>unlock_tracks_01
lui at,0x8009
sb t9,0x9C40(at)=>unlock_tracks_02
lui at,0x8009
sb s6,0x9C3e(at)=>unlock_yeti_01
I didn’t find any evidence of the Saturn cheat/debug screens in the PlayStation version, alas.
Outro
For previous coverage of never-officially-released Saturn games, see my articles on Fighting Force and Re-Loaded.
You can subscribe here at Substack to get new retro game reverse engineering articles every week:
Thanks for reading! Tell me in the comments which other games you’d like to see under the microscope.
Very nice finds!
Thanks. Finally i'll be able to play those secret tracks, impossible to unlock to me since the times to beat are very right.