In a earlier edition I looked at Solar Eclipse, the 1995 followup to Total Eclipse. I found a boatload of cheat codes — the most I’ve seen in a single games — many of which had not been previously reported. So I naturally wondered about the other game in the series.
A handful of cheat codes for Total Eclipse have been known since at least 1997. GameFAQs, as of this writing, lists three for the original 3DO version and two for the PlayStation version. I didn’t find any more at other cheat sites.
I did find several more in the game data, however! Here’s the complete list:
Below are the details about how the codes work and the reverse engineering that went into finding them.
The 3DO codes
All of the cheat codes are entered after pausing the game and selecting Options.
The first code is an activation code that’s needed for some of the others. Highlight the Play Game item and enter it:
Activate skull: B, A, C, A, B, A, LS, LS+RS, X, X
The picture will change to a skull:
If you stay on the skull item, you can enter this code to access what the game seems to call the “Secret Level” (this one was known for 3DO):
Secret Level: LS, A, B, LS, A, B, X, X, X
This level goes on forever; you can fly around here until you run into something or get tired.
You can also enter these codes at the skull item to boost your stats (this one was known for PlayStation):
10 lives, 10 continues, 10 special weapons: B, A, LS, LS, LS, A, B
If you enter the skull code and then press P (Start), you’ll get a different skull screen:
From here you can put in this code to bring your ship completely to a stop when braking (this one is new):
Better brakes: A+X, C+X, B+X, LS, C+LS, LS+B, LS+A, X, RS, RS
You can also enter this code to get 99 lives (this one was known before):
99 lives: A, A, B, B, C, C, LS, LS, RS, RS
And this one will show you the ending FMV followed by the credits (this one is new):
Ending: LS, LS+RS, A+RS, A+X, B+X, A+B, A+B+LS, A+B+LS+RS, A+B+C+LS+RS, X
To view the credits without the ending FMV, start from the Controls item in the Options menu and put in this sequence (this one is also new):
Credits: C+RS, B+RS, LS, A+LS, B+LS, A, B, C, A, B
Lastly, the level select code is entered with the Quit/Previews item selected (This one was known before):
Level select: X+B, X+LS, X+A, B, LS, A, B, LS, A
For the codes that require multiple buttons to be pressed at once, if the previous entry in the code sequence has the same button being held down, you can just keep holding it.
The PlayStation codes
The PlayStation version implements its codes the same way that the 3DO version does, but it replaces A with Square, B with Triangle, C with Circle, LS with L1, RS with R1, X with Select, and P with Start.
It also has an additional code! With the Controls item highlighted, enter:
Debug display: X, Square, Triangle, Select+X, Select+Square, Select+Triangle, X, Square, Triangle
You’ll get debug info printed on the screen when the game starts:
It was difficult for me to enter the multi-button parts of the sequence with the Mednafen emulator, but I eventually managed it. It might be easier on hardware — tell me if you try it; I don’t currently have a functioning PlayStation to play the disc on.
Technical details
The 3DO version has a function at 00088948
(NTSC-U) that handles your button presses on the Options screen.
Among other things, it controls the position of the cursor (stored at 000c9bc0
) and the history of which buttons you’ve pressed (the buffer is stored at 000c9dc4
). It has a bunch of sections that check the cursor position and compare the button history to static lists.
Here’s Ghidra’s decompilation of the “Credits” code section, with some labels I added:
if (options_cursor == 1) {
i = 0;
j = 0;
do {
if ((&button_history[j] == (&code_buttons[j])) {
i += 1;
}
j += 1;
} while (j < 10);
if (i == 10) {
FUN_000a3ab8(9, 0x6000, 0x7fff, 0x7fff);
code_effect_02a = 1;
code_effect_02b = 2;
code_effect_02c = 1;
}
}
The code_buttons
variable points to a list of bit patterns (a common technique). Here’s the first code with labels added:
000c9cd8 04000000 # B button
000c9cdc 08000000 # A button
000c9cd8 02000000 # C button
000c9cdc 08000000 # A button
000c9cd8 04000000 # B button
000c9cdc 08000000 # A button
000c9cd8 00200000 # LS button
000c9cdc 00600000 # LS+RS buttons
000c9cd8 00800000 # X button
000c9cdc 00800000 # X button
Once you know the mapping (which you can get by watching the input buffer change when you hit buttons), you can read off the codes.
On PlayStation, the corresponding function is loaded to 8001ee8c
.
Outro
If you enjoyed this exploration of 32-bit archaeology, see my other articles on cheat code discoveries.
For other 3DO-adjacent articles, see also:

.