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