Files
Sprinter-SDCC/applications/Volkov/docs/p2-palette-results.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

82 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 требуется проверить те же цвета и возврат исходной палитры после
выхода.