I posted in another forum, but it may have been the wrong one. Here to see if any emulator pros can help me out.
I am trying to figure out the format of Desmemu save states. Here is what I know. (Please note I know almost nothing about the cpp language, as I code in vb.)
1. The states are compressed with zlib.
CODE#include
2. The header is 32 bytes long. See this code found in the saves.cpp source file:
3. The header contains the following:
The magic number and version is simply
The Desmemu version is 0x000161E8 (90600 or 0.9.6).
Anywho, since the header is 32 bytes long, the should mean the actual compressed state starts at 0x20. This seems correct since all the states have the same 32-bit value there (0xBDEC9C78). All attempts to delete the header and decompress the remains have yielded nothing but errors.
Any help with this issue would be amazing! I would like to finish my save state editors soon. Thanks.
I am trying to figure out the format of Desmemu save states. Here is what I know. (Please note I know almost nothing about the cpp language, as I code in vb.)
1. The states are compressed with zlib.
CODE#include
2. The header is 32 bytes long. See this code found in the saves.cpp source file:
Code:
ÂÂÂÂÂÂÂÂos = outstream;
ÂÂÂÂÂÂÂÂos->fseek(32,SEEK_SET); //skip the header
ÂÂÂÂÂÂÂÂwritechunks(os);
Code:
//dump the header
ÂÂÂÂoutstream->fseek(0,SEEK_SET);
ÂÂÂÂoutstream->fwrite(magic,16);
ÂÂÂÂwrite32le(SAVESTATE_VERSION,outstream);
ÂÂÂÂwrite32le(EMU_DESMUME_VERSION_NUMERIC(),outstream); //desmume version
ÂÂÂÂwrite32le(len,outstream); //uncompressed length
ÂÂÂÂwrite32le(comprlen,outstream); //compressed length (-1 if it is not compressed)
Code:
#define SAVESTATE_VERSIONÂÂÂÂÂÂ 12
static const char* magic = "DeSmuME SState";
The Desmemu version is 0x000161E8 (90600 or 0.9.6).
Anywho, since the header is 32 bytes long, the should mean the actual compressed state starts at 0x20. This seems correct since all the states have the same 32-bit value there (0xBDEC9C78). All attempts to delete the header and decompress the remains have yielded nothing but errors.
Any help with this issue would be amazing! I would like to finish my save state editors soon. Thanks.