# 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/`](../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-результат: ```text 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: ```text 5eda33a6289dcd0afbb10573b70bcd701c428d6ed8f2aaae55d16c8d32dbe9cb ``` Артефакты: - [phase-a.png](../artifacts/mame-p2/palette/phase-a.png) — горит индикатор Drive A; - [phase-b.png](../artifacts/mame-p2/palette/phase-b.png), [phase-c.png](../artifacts/mame-p2/palette/phase-c.png), [phase-d.png](../artifacts/mame-p2/palette/phase-d.png), [phase-e.png](../artifacts/mame-p2/palette/phase-e.png) — стабильная сцена; - [restored-dos.png](../artifacts/mame-p2/palette/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 требуется проверить те же цвета и возврат исходной палитры после выхода.