Extending the demos: Tales of Destiny (PlayStation)
Explore beyond the usual demo limits
In this edition, I’m examining two demo versions of Tales of Destiny, the action RPG from Wolf Team and Namco:
Preview Edition by Namco, built on 1997-07-31.
Preview Edition for Namco (Famitsu Version), built on 1997-10-09.
Both of these predate the final Japanese version, which was built on 1998-01-09. And both of them have hidden debug features that allow you to explore beyond their normal restrictions.
I’ve published patches that enable these debug features – download them from my GitHub page. Below are details on how they work, and notes on how these early builds differ from the retail version of the game.
Patch details
The Cutting Room Floor’s article on Tales of Destiny describes an Action Replay code that activates Debug mode:
801B3B28 0004This code adjusts the menu cursor so that it points to an invisible fourth item:
This item isn’t normally selectable – the game skips past if you try to navigate to it. Here’s some pseudo-Python, adapted from Ghidra’s decompilation of the menu handler function, that illustrates the logic:
# Check for D-pad down (0x4000)
if get_pressed_button_8014e40c(0) == 0x4000:
# Increment the cursor
menu_cursor801b3b28 += 1
# If the bit 2 in the flag field is clear, wrap around after index 4.
# Otherwise, wrap around at index 3.
if debug_flags_80171da0 & 4 == 0:
cursor_max = 4
else:
cursor_max = 3
# Wrap around to index 0.
if menu_cursor_801b3b28 > cursor_max:
menu_cursor_801b3b28 = 0
# Play a sound effect
play_sfx_800f69f0(1,0)The hidden item becomes selectable – and visible – if bit 2 in the flag field at 80171da0 is clear. Changing that bit reveals that its label is Debug:
The July preview build has this Debug item visible by default. But you can’t normally see the main menu – once you launch the demo, you’re dropped straight into the game.
My patch changes the starting screen from index 1 (the intro cutscene) to index 3 (the main menu):
800ed0a4 ori s2,zero,0x3 # Put a 3 into s2The later preview’s main menu freezes for reasons I don’t understand. But my patch for this disc enables debug mode by changing the initial value of the debug flags field:
800ee5e0 sh s0,0x64c8(s4) # Overwrite the debug flag fieldWith those changes, we can use the debug mode features to reach areas that aren’t normally accessible due to demo restrictions.
Prototype differences
Even without hacking, you’ll notice some differences between the prerelease demos and the final game. For example, the lighting effects are less sophisticated in the earlier builds:
The Debug item on the main menu takes you to a special area. In the preview versions, this field has a sparkling, semi-transparent polygon over it. In the final version, it has a Debug mode label:
There’s also some type of sword in the top-right corner of the demo version’s debug room that isn’t there in the final version.
You can press R2 to warp to different locations. This is the easiest way to explore beyond the demo limits and hunt for differences.
If you warp to an area that isn’t implemented, you’ll either be taken into the intro cutscene or an error handler. This doesn’t happen in the final game, of course:
Holding down Square disables collision, allowing you to walk through walls and obstacles:
This also works in the overworld area:
A few more notes:
Pressing X+R2 allows you to view in-engine cutscenes. The preview builds only have a handful implemented.
Pressing X+Select allows you to view movies in the final version. This doesn’t work at all in the preview builds.
Similarly, pressing X+R1 allows you to access mini-games in the final version, but not in the preview builds.
Outro
Leave a comment if you find any interesting areas in the demo builds!
I’ll be back with more retro game reverse engineering articles soon. Subscribe to Rings of Saturn to get the next edition delivered to you as soon as it’s published:
Check out the archive for more articles on demo disc liberation in the meantime.










