Files
Sprinter-SDCC/docs/new/INDEX.md
T
snark13 64ce6339eb docs: справочники по железу Sprinter + правка gfx_scroll_h
- 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>
2026-07-29 18:26:31 +03:00

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 |