Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
4.5 KiB
Sprinter Commander: результаты палитровой пробы P2.2
Дата: 6 сентября 2026 года.
Статус: PASS в MAME; проверка на реальном Sprinter ожидается.
Окружение: MAME 0.287 (b0c4527c), машина sprinter, BIOS v3.06.
Исходник пробы находится в tests/p2_palette/p2palette.c, кадры — в
artifacts/mame-p2/palette/.
1. Проверенный контракт
Проба использует только публичные системные функции
text_pal_get_color()/text_pal_set_color():
- сохраняет шесть применяемых атрибутов во всех четырёх текстовых планах;
- задаёт normal-paper и flash-paper одинаковыми;
- задаёт normal-ink и flash-ink одинаковыми;
- читает обратно все 24 записи и сравнивает каждый RGB-компонент;
- показывает одновременно шесть контрастных цветовых сочетаний;
- перед выходом восстанавливает каждую сохранённую запись.
Проверенные сочетания: white/blue, yellow/green, white/red, white/magenta, black/lightgray и black/cyan. Runtime-результат:
Readback of 6 attrs x 4 planes: PASS (0 mismatches)
2. Стабильность изображения
Пять кадров одной неизменной сцены сняты в разных моментах. После
декодирования PNG область экрана Sprinter во всех кадрах пиксельно идентична.
Единственное различие между первым и остальными кадрами — 42 пикселя в
прямоугольнике x=0..13, y=42..44: это внешний индикатор обращения к
Drive A в layout MAME, а не видеовыход Sprinter. Его состояние в экранных
тестах не учитывается.
Файлы phase-b.png–phase-e.png идентичны целиком. Их SHA-256:
5eda33a6289dcd0afbb10573b70bcd701c428d6ed8f2aaae55d16c8d32dbe9cb
Артефакты:
- phase-a.png — горит индикатор Drive A;
- phase-b.png, phase-c.png, phase-d.png, phase-e.png — стабильная сцена;
- restored-dos.png — возврат в DSS после восстановления палитры.
3. Исправление прежней интерпретации
Ранее встроенный предпросмотр двух PNG ошибочно показал исчезновение части цветных строк. Проверка исходных файлов опровергла это:
partial-flash-phase.pngиpartial-contrast-stable.pngиз P1 имеют идентичные декодированные RGB-пиксели;- все три исторически названных
flash-before-*.pngиз P2.1 также полностью идентичны; - текущая P2.2-сцена различается только внешним LED дисковода MAME.
Следовательно, гипотеза о нестабильных FLASH-планах была артефактом предпросмотра. Она не является ограничением BIOS, libc, MAME или Commander.
4. Принятое решение
Многоцветная тема разрешена для Commander. Модуль sc_theme:
- владеет точными RGB смысловых атрибутов;
- сохраняет только затрагиваемые записи всех четырёх планов;
- устанавливает одинаковые normal/FLASH-пары;
- восстанавливает исходные записи при любом штатном cleanup.
До аппаратного прогона PASS относится к MAME 0.287 / BIOS 3.06. На реальном
Sprinter требуется проверить те же цвета и возврат исходной палитры после
выхода.