Files
Sprinter-SDCC/applications/Volkov/README.md
T
snark13 8e389c03f8 Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места.

Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
2026-09-10 10:45:30 +03:00

8.1 KiB
Raw Blame History

Sprinter Commander

Функциональный аналог классического двухпанельного Commander для Sprinter Sp2000. Volkov Commander 4.05/4.99 и Dos Navigator используются как поведенческие и архитектурные референсы; проект не является переносом их DOS-кода.

Текущее состояние: PoC 0.1 (этапы P1P5) пройден в MAME / BIOS 3.06 / DSS 1.71.57; аппаратный smoke-тест остаётся внешним контрольным пунктом. Начат этап 0.2: готовы независимые для каждой панели сортировки по имени, расширению, размеру и дате/времени в обоих направлениях, выбор записей через Insert, * и маски +/-, создание каталога по F7 и локальное переименование файла/каталога по F6 без overwrite, однообъектный F8 и групповой рекурсивный F8 для выбранных файлов и каталогов, а также рекурсивный F5 для выбранных файлов и каталогов. F5 сохраняет FAT date/time и атрибуты R/H/S/A обычных файлов и поддерживает conflict-policy overwrite/skip/rename, включая overwrite all/skip all, отдельную защиту readonly и backup/rollback. Обход использует динамическую EMM-очередь. Встроенный профиль имён уже различает белые каталоги, жёлтые .EXE и светло-серые остальные файлы; загрузка пользовательских цветовых правил остаётся задачей 1.0. Командер сканирует, хранит и сортирует каталоги, показывает явную виртуальную запись предела DSS 1.71, безопасно копирует один файл через выделенную EMM-страницу W3 и запускает .EXE с восстановлением режима, палитры, CWD и обеих панелей.

Сборка

Из этого каталога:

make

Результат: build/sprcmd.exe, конфигурация --memory big --safe --max-allocs 3000. Значение ALLOCS=3000 принято как исходное для Commander и всех его проб; при диагностике его можно переопределить явно, например make ALLOCS=4000.

Основные тесты используют быстрый HDD D::

make hdd          # только Commander
make hdd-stress   # большой каталог P3
make hdd-copy     # набор успех/overwrite/cancel/zero для P4.1
make hdd-exec     # запуск child/restore/error для P4.2
make hdd-p5       # 20 copy, граничные размеры, 100 refresh, lifecycle
make hdd-p5-enospc # реальный disk-full и cleanup temp
make hdd-p5-panels # точные границы панели 27/28 записей
make hdd-p5-copy-faults # детерминированная матрица ошибок copy/EXEC
make hdd-p5-viewer # запуск реального mdview2 и восстановление Commander
make hdd-p5-media # снятие/возврат hard2 во время F5
make hdd-p6-sort # target-матрица и UI-сценарий сортировок 0.2
make hdd-p7-select # выбор Insert/*, статистика и EMM cleanup
make hdd-p8-masks # тот же расширенный образ: редактор и маски +/−
make hdd-p9-mkdir # validator DOS 8.3, mkdir/error/CWD и UI F7
make hdd-p10-rename # file/dir rename, no-overwrite, CWD и UI F6
make hdd-p11-delete # confirm/cancel, file/empty-dir, guards и UI F8
make hdd-p12-group-copy # legacy group fixture; current F5 also copies selected dirs
make hdd-p13-group-delete # legacy file-only group F8 regression
make hdd-p14-default-colors # built-in dir/EXE/file colours и restore палитры
make hdd-p15-tree-copy # recursive current directory, depth=16 и repeat guard
make hdd-p15-tree-cancel # Esc в 4-МБ файле и cleanup temp/traversal page
make hdd-p15-tree-self # target-inside-source guard до mutation
make hdd-p16-group-tree-copy # selected files + multiple directory roots
make hdd-p17-tree-delete # recursive group F8, depth=12, cancel confirmation
make hdd-p17-tree-delete-cancel # Esc после начала recursive group F8
make hdd-p18-metadata # exact FAT date/time + R/H/S/A после F5
make hdd-p19-overwrite # target backup/commit/rollback matrix
make hdd-p19-policy # UI overwrite/skip/rename/all/readonly/cancel

make floppy сохранён для smoke-проверки совместимости с FDD и не запускает эмулятор. Подробнее: политика тестовых носителей.

Документы

Экран выводится системными координатными функциями ESTEX/BIOS без оконных дескрипторов и без прямой адресации VRAM. Системные вызовы палитры разрешены; их save/set/readback/restore и многоцветная сцена подтверждены пробой P2.2.