Save File Format
Saved games are stored in individual files named COSMOx.SV?
, where x
is the episode number (1-3) and ?
is the save slot number (1-9). A total of nine saved games are supported for each episode and, as the in-game text specifically calls out, each game is saved “at BEGINNING of level.” The game will overwrite existing saved games without prompting.
Renaming a file by changing the number in the .SV?
extension has the effect of “moving” the saved game to a different slot.
There is an additional temporary slot called T
(for a file name of COSMOx.SVT
) that is saved to each time a level is entered. This slot is loaded whenever the player dies, which resets the game to the state it was in when the level was last entered.
Each episode uses an identical save game format, so it is possible to take a save file generated by one episode and rename/duplicate it for use with a different episode. One caveat: Episode one has an additional level that episodes two and three do not define. Save files created in episode one level 20 will not work in episodes two or three.
Format
Offset (Bytes) | Size | Description |
---|---|---|
00h | word | Current health. 1 = all bars empty, 6 = five full bars. This would be 0 if the player is dead, but it should not be possible to save a game in that state. |
02h | dword | Score. |
06h | word | Number of stars. |
08h | word | Level number. |
0Ah | word | Number of bombs. |
0Ch | word | Maximum health bar capacity. Player starts with 3 initially, Hamburgers can bring this up to 5 . |
0Eh | word | Flag that prevents the C+0+F10 cheat from working more than once. 0 = never cheated, 1 = cheat has been used. |
10h | word | Flag for bomb help text. 0 = bomb hint should be shown, 1 = player knows how to bomb. |
12h | word | Flag for pounce help text. 0 = pounce hint should be shown, 2 = player knows how to pounce. The source of this value is 1 for a brief time between when the player takes damage and when the hint text is actually shown, but it should not be possible to save a game in that state. |
14h | word | Flag for power-up help text. 0 = power-up hint should be shown, 1 = player knows about power-ups. |
16h | word | Must match [current health] + [stars] + [level number] + [bombs] + [maximum health] (offsets 00h + 06h + 08h + 0Ah + 0Ch) or attempts to load the game will encounter an “altered file error.” |
Note: The level number follows the level progression in the game, which includes multiple instances of bonus levels that are conditionally played through or skipped. As a result, the level number will usually be higher than the map number.
Location
The save files are stored in the save directory, which is usually (but not necessarily) the DOS working directory when the game was launched.
Cleanup
During normal exit, the file COSMOx.SVT
is removed right before the end text and DOS prompt are displayed. If the game crashes without going through the normal exit steps, this file will remain on the disk. There does not appear to be a way for subsequent runs of the game to make use of this leftover file, however.