Formato de snapshot del emulador DSP

Descripcion del formato v1.0

El formato de snapshot usado por DSP esta basado en el formato del Z80 v2.X. De hecho los dos tienen la misma cabecera, pero en lugar de usar una compresion sencilla, el formato DSP usa la compresion ZIP. La descipcion de la cabecera es:
        Offset  Length  Description
        ---------------------------
        0       1       Registro A
        1       1       Registro de Banderas
        2       2       Registro BC
        4       2       Registro HL
        6       2       Siempre 0
        8       2       Registro SP (Puntero de Pila)
        10      1       Registro de interrupciones
        11      1       Registro R (Refresco)
        12      1       Bit 0  : Bit 7 del registro R
                        Bit 1-3: Color del Borde
                        Bit 4  : Nada
                        Bit 5  : Siempre 1
                        Bit 6-7: Nada
        13      2       Registro DE
        15      2       Registro BC'
        17      2       Registro DE'
        19      2       Registro HL'
        21      1       Registro A'
        22      1       Registro de Banderas alternativo
        23      2       Registro IY
        25      2       Registro IX
        27      1       Z80 IFF1:
                          0: Inabilitar interruciones
                          1: Habilitar interrupciones
        28      1       Z80 IFF2
        29      1       Bit 0-1: Z80 IM (Modo de interrupcion 0, 1 o 2)
                        Bit 2  : 1=Emulacion Issue 2
                        Bit 3-7: Nada
        30      2       Siempre 23
        32      2       Registro PC (Contador de programa)
        34      1       Modo Hardware:
                         0 - Spectrum 48k
                         3 - Spectrum 128k
        35      1       Ultimo OUT a 7ffd (Spectrum 128K)
        36      1       Unused 0
        37      1       Unused 0
        38      1       Ultimo OUT a fffd (Spectrum 128K)
        39      16      Contenido registros AY-8912 (Spectrum 128K)

Como puedes ver la cabecera es una version simplificada del Z80 v2.X, DSP usa tambien la cabecera de tres bytes antes de los bloque de datos como sigue:
        Byte    Logitud Descripcion
        ---------------------------
        0       2       Longitud datos comprimidos (sin esta cabecera de 3 bytes)
        2       1       Numero de pagina del bloque (mas abajo)
        3       --      Datos comprimidos en ZIP

        Pagina  Spectrum 48K       Spectrum 128K
        -------------------------------------------
         0      48K rom            Rom 1 (basic)     
         1      -                  - 
         2      -                  Rom 0 (reset)
         3      -                  Pagina de memoria 0
         4      Memoria 8000-bfff  Pagina de memoria 1
         5      Memoria c000-ffff  Pagina de memoria 2
         6      -                  Pagina de memoria 3
         7      -                  Pagina de memoria 4
         8      Memoria 4000-7fff  Pagina de memoria 5
         9      -                  Pagina de memoria 6
        10      -                  Pagina de memoria 7
Con este formato se puede ahorar hasta un 25%-50% de espacio, es rapido y muy compatible.
Si quieres mas informacion, por favor revisa el codigo del emulador.

Last modified: 1 Sep 2005