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>
113 lines
6.1 KiB
Markdown
113 lines
6.1 KiB
Markdown
# 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 |
|