Z80 (формат)

Материал из SpeccyWiki
Версия от 05:52, 8 апреля 2008; Zxdn (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Z80 (*.z80) - наиболее распространённый формат для сохранения состояния эмулируемого ZX Spectrum. Был разработан Гертоном Люнтером для использования с его эмулятором ZX Spectrum - Z80 (1991), впоследствии стал поддерживаться большинством других эмуляторов.

Формат трижды изменялся автором. Авторы других эмуляторов также вносили некоторые изменения в формат.

Первая версия

Первая версия формата использовалась в версиях эмулятора Z80 до 1.45 включительно и позволяет сохранять состояние только для ZX Spectrum 48K.

Формат заголовка файла:

Смещение Размер Назначение
0 2 регистры A, F
2 2 регистры C, B
4 2 регистры L, H
6 2 регистр PC (младший, старший байты)
8 2 регистр SP
10 1 Регистр I
11 1 Регистр R (старший бит не используется)
12 1 Бит 0: старший бит регистра R
Биты 1-3: цвет бордюра
Бит 4: установлен при подключенном Basic SamRom
Бит 5: установлен при использовании сжатия
Биты 6-7: не используются
Если байт содержит значение 255, оно должно считаться как 1
13 2 Регистры E, D
15 2 Альтернативные регистры C, B
17 2 Альтернативные регистры E, D
19 2 Альтернативные регистры L, H
21 2 Альтернативные регистры A, F
23 2 Регистр IY (младший, старший байты)
25 2 Регистр IX
27 1 Флаг прерываний - 0 при DI, иначе EI
28 1 Флаг IFF2
29 1 ..