Logo
News
Menu News Editorials Reviews Best of Saturn Resources Magazine Netplay Friends
 
 
 

Under the Microscope: Atlantis: The Lost Tales

In this edition I’m examining Atlantis: The Lost Tales , the Myst -like adventure/puzzle game. The original DOS version was a hit in Europe. But the console port was not terribly well reviewed — Sega Saturn Magazine ‘s reviewer offered “Condolences to those of your who have purchased it already.”

Point-and-click games like this were never my cup of tea, either. but I decided to check this one out in the hopes of finding something interesting. Good news — I did! There’s an undiscovered cheat code.

To use it, start a new game. When prompted, enter your name as AlainTheDark .

Entering the special name

Normally when you start to play your new save you’ll be taken to the first scene automatically. But with this cheat, you’ll have the chance to choose your starting scene:

Left: A normal start. Right: Scene select enabled.

You can do this trick on either disc. If you use disc 1, you can only go up to the last scene for that disc. If you use disc 2, you can choose any scene — the game will prompt you to insert disc 1 if needed.

Left: The first scene on disc 1. Right: The last scene on disc 2.

Technical details

I start wondering whether a game has hidden cheat codes any time I see a name entry screen. I like to:

  • Put in a distinctive name.
  • Locate where the game stores it in memory.
  • Set read breakpoints for the associated memory addresses.
  • Inspect the code that reads the name.
The Mednafen emulator’s debugger with the memory location of my player name highlighted

The Saturn version of Atlantis reads the name buffer in a function (at 06031d60 ) that compares two strings. That function is called with a pointer to the name buffer as the first argument and a pointer to the string AlainTheDark as the second argument.

Here’s Ghidra’s decompilation of the first disc’s logic with my labels added:

(&alain_cheat_effect)[save_index] = 0; compare_result = compare_strings(local_54,special_name_AlainTheDark); if (compare_result == 0) { (&alain_cheat_effect)[save_index] = 52; }

The first disc allows you to choose your starting scene up to number 52, the last one on that disc. The second disc goes all the way to the end, scene 116.

Outro

There’s a similar cheat in the PlayStation version of this game: enter your name as FREDNESS to get the scene select menu. I wonder why the difference?

I’ll be back next week with another Saturn reverse engineering article. For more in the meantime, check out the archive of them here at SHIRO!.


Bo Bayles
 

Rings of Saturn: 32bits.substack.com

 
 
Next Prev Go to top