Files
Sprinter-SDCC/docs/reference
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
..

Reference materials

Положи сюда оригинальную документацию Sprinter / ESTEX. Любые форматы — PDF, TXT, MD, .h / .asm файлы — годятся. Перед написанием кода нужно сверить с этими источниками:

Что особенно полезно

  1. Спецификация формата .EXE (ESTEX SprintEXE)

    • Заголовок 512 байт, поля load, start, stack, offset, loader
    • Любые упоминания "loader-секции" и multi-page загрузки
    • Что находится в зарезервированных полях reserv1, reserv2, res[490]
  2. Карта портов и аппаратной паджинации

    • Точная битовая раскладка портов 0x82, 0xA2, 0xC2, 0xE2 (page select для окон 0-3)
    • Возможные служебные биты: write-protect, video overlay, ROM mapping
    • Номера физических страниц видеопамяти — соответствие EMM-номеров (0x50..0x5F) и hardware page numbers
  3. ESTEX API

    • Полный список функций RST #10 (особенно файловые и memory management)
    • Соглашение о возврате ошибок (CF=1?, регистр-код?)
    • BIOS RST #08 функции (особенно EMM_FN0..EMM_FN7 — менеджер памяти)
  4. Видеорежимы

    • Режимы 320×256×256, 640×256×16, текст 80×32 — как маппится экранная память, какие страницы используются
    • Адрес VRAM в каждом режиме (если она вообще попадает в адресное пространство CPU)
    • Регистры выбора видеостраницы и активной палитры
  5. Прерывания

    • IM2 / IM1 / NMI семантика на Sprinter
    • Источники прерываний (VBL? timer? keyboard?)
    • Как ESTEX устанавливает таблицу IM2 и можно ли её переопределить

Имена файлов

Можно как угодно — но если у файла есть осмысленное оригинальное имя, лучше оставить (например estex-api.txt, sprinter-ports.pdf).