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.
|