Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
5.4 KiB
Sprinter Commander PoC 0.1
Дата: 8 сентября 2026 года.
Статус: техническая архитектура подтверждена в MAME 0.288 / BIOS 3.06 /
DSS 1.71.57. SPRCMD.EXE является proof of concept, а не готовым файловым
менеджером для повседневной работы. Аппаратный smoke-тест на Sprinter Sp2000
ещё требуется.
Что уже работает
- полноэкранный двухпанельный интерфейс 80x32 через безоконные координатные функции BIOS/ESTEX, без прямой записи в VRAM;
- независимые пути и навигация обеих панелей, синтетический
.., Home/End, PgUp/PgDn, Tab и refresh; - одна EMM-страница на панель, максимум 640 записей без заполнения страницы
целиком, красный
>>> MORE...при известном ограничении DSS; - каталоги перед файлами и сортировка по имени;
- безопасное копирование одного файла по F5 через отдельную EMM-страницу W3, 4-КБ блоками и temp/rename commit;
- отмена по Esc между блоками и в отдельной точке перед commit;
- запрет перезаписи уже существующего target;
- запуск
.EXEпо Enter с временным CWD активной панели и восстановлением экрана, палитры, CWD и панелей; - штатное освобождение EMM, закрытие fd и восстановление системного экрана при выходе.
Сборка и запуск
Из каталога приложения:
make ALLOCS=3000
make hdd
Результат — build/sprcmd.exe; образ для быстрого интеграционного запуска —
build/hdd/sprcmd.chd. Для MAME штатно используются системный HDD как C: и
отдельный тестовый hard2 как D:. Одновременно разрешён только один процесс
MAME Sprinter.
Полный перечень автоматизированных образов и команд находится в test-media.md, доказательства P5 — в p5-stability-results.md.
Финальная конфигурация PoC: --memory big --safe --max-allocs 3000;
SPRCMD.EXE — 42447 байт, _CODE W2 — 8870 байт, свободная куча W2 —
2738 байт, BANK1 — 4242 байта, BANK2 — 5973 байта.
Клавиши PoC
| Клавиша | Действие |
|---|---|
| стрелки, Home/End, PgUp/PgDn | перемещение по активной панели |
Tab |
сменить активную панель |
Enter |
войти в каталог/.. или запустить .EXE |
Ctrl+R |
перечитать активную панель |
F5 |
скопировать текущий обычный файл в пассивную панель |
Esc |
отменить активное копирование |
F10 |
подтверждение выхода |
Надписи F6/F7/F8 и меню пока являются зарезервированными командами следующих этапов, а не обещанием выполненной операции.
Известные ограничения
- в панели показывается не более 640 записей; многостраничный режим относится только к 2.0+;
- стабильный DSS 1.71 может остановить физическое перечисление около 512-й FAT-записи с ошибкой 35 — показывается информирующий красный маркер;
- сортировка PoC только по имени; ext/size/date и обратный порядок входят в следующую функциональную фазу;
- нет выбора нескольких файлов, масок, очереди и рекурсивных операций;
- F6 move/rename, F7 mkdir, F8 delete и overwrite policy ещё не реализованы;
- нет командной строки,
Ctrl+O, истории, associations и передачи аргументов внешней программе; - нет конфигурационного файла цветов, viewer/editor вызываются только как
обычные внешние
.EXE; - нет длинных имён: DSS-контракт текущего слоя — 8.3;
- floppy поддерживается лишь как медленный smoke-носитель; основная матрица
выполнялась на HDD
D:; - проверка на реальном Sprinter пока не выполнена.
Эти ограничения намеренно отделяют доказанную платформенную основу PoC от безопасного файлового ядра 0.2 и полного набора функций версии 1.0.