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: Code: ÂÂÂÂÂÂÂÂos = outstream; ÂÂÂÂÂÂÂÂos->fseek(32,SEEK_SET); //skip the header ÂÂÂÂÂÂÂÂwritechunks(os); 3. The header contains the following: 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) The magic number and version is simply 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.