Under the microscope: Ecco the Dolphin (Sega PC) - by Bo
Rings of Saturn
SubscribeSign in
Under the microscope: Ecco the Dolphin (Sega PC)<br>Unearthing a 31 year old Easter egg in Ecco the Dolphin<br>Aug 12, 2026
Share
Today we’re examining the PC version of Ecco the Dolphin. This game is adapted from the 1993 Sega CD version of Ecco, which is an enhanced version of the 1992 Sega Genesis original.<br>There’s a full-featured debug mode cheat for the console editions. Among other things, it lets you skip stages and become invincible. But on PC, you have to fight your way through this notoriously difficult title the hard way.
Debug mode in the Genesis version.<br>…Or do you? There’s some strange code in the function that handles this game’s About dialog:<br>/* WM_COMMAND */<br>if (uMsg == 0x111) {<br>if ((wParam == 1) || (wParam == 2)) {<br>GetWindowRect(hWnd,&lpRect_2);<br>screen_height = GetSystemMetrics(1);<br>if ((screen_height
This is checking whether the bottom-right corner of the dialog box is off-screen as it’s being dismissed.
The About EccoWin dialog box.<br>After that check, the code calls GetKeyState for Shift and Ctrl . If those are being held down as the dialog disappears, LoadMenuA gets called for menu ID 0x70.<br>What’s that do? It allows you to access a cheat menu by pressing Shift+Ctrl and right-clicking on the main window:
The cheat menu.<br>Stage lets you choose your starting stage, of course. Make a selection and press F2 to start playing. All of the items seem to work except for the one marked test only .<br>Life gives you unlimited health and air. The meters that track those stats disappear entirely when this cheat is enabled.
Unlimited life and air.<br>When the cheat menu is active, you’ll also see positioning information on the bottom of the screen. The numbers change as Ecco moves.<br>But wait, there’s more. That About EccoWin dialog handler function is checking for more conditions. The code asks:<br>Does the uMsg argument correspond to the WM_RBUTTONDBLCLK event?
Does the wParam argument have the MK_SHIFT, MK_CONTROL, and MK_LBUTTON bits set?
Is the cursor in one of corners of the dialog box?
Translating that into English:<br>Open the Help > About EccoWin dialog.
Hold down Shift+Ctrl+Left Mouse button , then double-Right click on the bottom-right corner of the dialog box. The OK button will change to kO .
Keep holding Shift+Ctrl and dismiss the dialog box.
Extra cheats enabled.<br>Now the cheat menu, still accessed with Shift+Ctrl+Right click on the main window, will have additional items: Easy , CD check , and border .
The enhanced cheat menu.<br>Based on the game code, Easy seems to be intended to reduce the cooldown timer associated with dashing. However, the in-game effect wasn’t terribly noticeable to me.<br>CD check gets rid of the This program can only be run from the original CD! nag screen.<br>border seems to have been intended to put some sort of resource meter around the edge of the screen. It doesn’t actually seem to be functional in the retail version of the game, though.
Outro
With the Stage and Life cheats, perhaps you will become one of the few people who have actually seen the ending of Ecco.
The dolphins’ message to Ecco<br>Many thanks to Bobblen for suggesting this game for analysis! I’ll be back soon with more Rings of Saturn.
Subscribe
Share
Discussion about this post<br>CommentsRestacks
TopLatestDiscussions
No posts
Ready for more?
Subscribe
© 2026 Bo · Privacy ∙ Terms ∙ Collection notice<br>Start your SubstackGet the app
Substack is the home for great culture
This site requires JavaScript to run correctly. Please turn on JavaScript or unblock scripts