DSP Emulator Snapshot File Format

Description Format v1.0

DSP Snapshot file format (a.k.a. .DSP) is bassed in Z80 v2.X format. In fact they have the same header, but instead using a simple compress metod DSP format uses ZIP compresion. Header description is:
        Offset  Length  Description
        ---------------------------
        0       1       Z80 A register
        1       1       Z80 Flag registers
        2       2       Z80 BC register pair
        4       2       Z80 HL register pair
        6       2       Allways 0
        8       2       Z80 SP (Stack pointer)
        10      1       Z80 Interrupt register
        11      1       Z80 R (Refresh register)
        12      1       Bit 0  : Bit 7 of the R register
                        Bit 1-3: Border colour
                        Bit 4  : No meaning
                        Bit 5  : All ways 1
                        Bit 6-7: No meaning
        13      2       Z80 DE register pair
        15      2       Z80 BC' register pair
        17      2       Z80 DE' register pair
        19      2       Z80 HL' register pair
        21      1       Z80 A' register
        22      1       Z80 Alt Flag register
        23      2       Z80 IY register
        25      2       Z80 IX register
        27      1       Z80 IFF1:
                          0: Disable interrupts
                          1: Enable interrupts
        28      1       Z80 IFF2
        29      1       Bit 0-1: Z80 IM (Interrupt mode 0, 1 or 2)
                        Bit 2  : 1=Issue 2 emulation
                        Bit 3-7: No meaning
        30      2       Allways 23
        32      2       Z80 PC (Program counter)
        34      1       Hardware mode:
                         0 - Spectrum 48k
                         3 - Spectrum 128k
        35      1       Last OUT to 7ffd (Spectrum 128K)
        36      1       Unused 0
        37      1       Unused 0
        38      1       Last OUT to fffd (Spectrum 128K)
        39      16      AY-8912 contents (Spectrum 128K)

As you can see the header is a simplistic version of Z80 v2.X format. DSP format uses also the 3 bytes header before data section as follows:
        Byte    Length  Description
        ---------------------------
        0       2       Length of compressed data (without this 3-byte header)
        2       1       Page number of block (see below)
        3       --      ZIPed Data

        Page    Spectrum 48K      Spectrum 128K
        ------------------------------------------
         0      48K rom           Rom 1 (basic)     
         1      -                 - 
         2      -                 Rom 0 (reset)
         3      -                 Memory page 0
         4      Memory 8000-bfff  Memory page 1
         5      Memory c000-ffff  Memory page 2
         6      -                 Memory page 3
         7      -                 Memory page 4
         8      Memory 4000-7fff  Memory page 5
         9      -                 Memory page 6
        10      -                 Memory page 7
With this format you can save about 25%-50% of space, it's fast and compatible.
If you want more information, please revise the emulator code.

Last modified: 1 Sep 2005