64ce6339eb
- docs/new/ — сводные справочники (архитектура, BIOS, DSS, память, графика, акселератор, IRQ, порты, ввод, звук, известные баги); - docs/Original/ — первоисточники, из которых они собраны (BIOS, Estex DSS, мануалы, описание акселератора), + Форум.doc/.docx в reference; - libbgi/common/gfx_scroll_h.c — обход бага скролла при ширине >256 (правка автора: шаг банды 255 и продвижение указателей на cw; старый вариант с 256 оставлен закомментированным с TODO); - удалён applications/PoP/roomtest/hang_variants.png — рабочая раскладка из разбора позы виса, в репозитории ей не место. Большие архивы (docs/extra ~568 МБ, docs/sources с вложенными git-репо ~68 МБ) в коммит НЕ включены — см. обсуждение. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
6.1 KiB
6.1 KiB
INDEX — сводный указатель документации Sp2000
Документы
| № | Файл | Содержание |
|---|---|---|
| 01 | 01-architecture.md |
Общая архитектура: процессор, ППЛМ, конфигурации, обзор памяти/видео/акселератора/звука/ISA/клавиатуры/мыши/дисков/прерываний |
| 02 | 02-bios.md |
BIOS v3.00: вызовы (RST 8/18h, CALL 3D13h), полная таблица функций, видео/палитра/диск/принтер |
| 03 | 03-dss.md |
DSS/ESTEX v1.60: файловые функции, диски, память, консоль, коды ошибок |
| 04 | 04-memory.md |
Память: 4 окна, страницы, порты (#7FFD/#1FFD/#DFFD/#EFF7), EXE-формат, Fast RAM |
| 05 | 05-graphics.md |
Графика: VRAM, адресация (спектрумовская/графическая), видеорежимы, палитра, shadow RAM |
| 06 | 06-accel.md |
Акселератор: команды, примеры, скорость, прерывания |
| 07 | 07-irq.md |
Прерывания: IM1/IM2, INT, CTC, SIO, CBL, цепочка обработчиков |
| 08 | 08-io.md |
Ввод-вывод: FDD, HDD, CMOS, джойстик, принтер, ISA, карта портов |
| 09 | 09-input.md |
Клавиатура (BIOS/DSS/raw) и мышь (RST 30h): API, протоколы, прерывания |
| 10 | 10-sound.md |
Звук: AY-3-8910, COVOX, COVOX-Blaster (CBL), бипер, SSC |
| 11 | 11-ports.md |
Сводная карта портов: Z84C15, память, видео, диски, звук, конфигурация |
| 12 | 12-bugs.md |
Баги: DRV_VERIFY, AY envelope, акселератор+IRQ, Fast RAM+COVOX |
| 13 | 13-telegram.md |
Telegram-чаты: BIOS 3.06, эволюция Sp2000→Sp2022, Sp2022 варианты, Sp2024, аппаратные баги, MAME |
Противоречия — сводка
Критические (меняют ABI)
| Тема | Файл | Источники |
|---|---|---|
| SETWIN2: 39h vs 3Ah | 03-dss.md |
DiskSyscalls.txt vs ProgrammerManual.txt |
| EXCMDLN subfunc 5: смещения | 03-dss.md |
Все источники дают неверные DE+3/DE+4 |
Средние
| Тема | Файл | Источники |
|---|---|---|
| WIN_RESTORE_WIN: C=0B2h (опечатка) | 02-bios.md |
BIOS_v3.txt vs IvanMak.txt |
| WIN_MOVE_WIN: C=0B2h (опечатка) | 02-bios.md |
IvanMak.txt vs BIOS_v3.txt |
| WIN_GET_SYM: A=0 обязательно? | 02-bios.md |
Parinov.txt vs BIOS_v3.txt |
| PIC_SET_PAL: битфилд vs номер | 02-bios.md |
BIOS_v3.txt vs IvanMak.txt |
| LP_PRINT_SYM: 082h=(131) неверно | 02-bios.md |
Ошибка десятичной аннотации |
| FN_VERSION: значения BC | 02-bios.md |
BIOS_v3.txt vs IvanMak.txt |
Низкие
| Тема | Файл | Источники |
|---|---|---|
| CBL порт 8/16-бит | 10-sound.md |
IvanMak vs Parinov |
| CBL bit7 #FE: статус vs IRQ | 10-sound.md |
IvanMak vs Parinov |
| Адресация ВГ93: #7F data reg | 08-io.md |
IvanMak vs Parinov; MAME подтверждает IvanMak |
| HDD: R/W разные адреса | 08-io.md |
IvanMak vs Parinov; MAME использует единую карту DCP |
| Джойстик #1F vs #0F | 08-io.md |
IvanMak: ремап #1F → #0F; MAME на Sp2000 отключает |
Кросс-ссылки между документами
01-architecture.md ← 02-bios.md (BIOS call conventions)
← 04-memory.md (memory overview)
← 05-graphics.md (video overview)
← 06-accel.md (accel overview)
← 07-irq.md (interrupt overview)
← 08-io.md (disk, joystick, printer, ISA overview)
← 09-input.md (keyboard, mouse overview)
← 10-sound.md (sound overview)
← 11-ports.md (ISA ports)
02-bios.md ← 05-graphics.md (PIC_SET_PAL, SET_MODE)
← 11-ports.md
← 12-bugs.md (DRV_VERIFY)
03-dss.md ← 04-memory.md (SETWIN/SETWIN1/SETWIN2)
← 11-ports.md
← 12-bugs.md
04-memory.md ← 06-accel.md (Fast RAM conflict with accel)
← 11-ports.md
← 03-dss.md (window functions)
05-graphics.md ← 02-bios.md (PIC_SET_PAL, SETVMOD)
← 06-accel.md (accelerator for fast pixel ops)
← 10-sound.md (CBL for video)
← 11-ports.md (RGADR, RGMOD)
07-irq.md ← 10-sound.md (CBL interrupt sources)
← 11-ports.md
← 08-io.md (disk I/O interrupt sources)
← 09-input.md (keyboard, mouse interrupt sources)
08-io.md ← 02-bios.md (printer functions)
← 09-input.md (keyboard, mouse moved here)
← 10-sound.md
← 11-ports.md
← 07-irq.md (mouse IRQ)
11-ports.md → все документы
Проектные документы (не входят в docs/new/)
| Файл | Связь |
|---|---|
memory-management.md |
C-specific memory models (legacy, перекрывается 04-memory.md) |
fast_ram.md |
Детальный анализ Fast RAM — уточняет 04-memory.md §4.6 |
file-buffering-design.md |
FILE* дизайн — уточняет 03-dss.md |
im2_isr_design.md |
IM2/ISR дизайн — уточняет 07-irq.md |
sprite-api-design.md |
Спрайтовое расширение BGI |
kbd-games.md |
Клавиатура в играх — уточняет 09-input.md §9.5 |
libc-reference.md |
API libc |
libc-roadmap.md |
План работ по libc |
libc-split-asm-cases.md |
Правила сплита asm |
libc-headers.md |
Стратегия заголовков |
accel-fill-budget.md |
Бюджет тактов акселератора |
TODO.md |
Roadmap проекта |
bugs/ |
Баг-репорт SDCC z80 |