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