6dea6955c2
- gfx_pal_sync(): палитра страницы 1 := палитре 0 (все 256 записей, чанками по 64 через общий буфер _gfx_pal_buf в W2) — обязательный шаг дабл-буфера (грабли examples/space: без него флип на страницу 1 чёрный). examples/space переведён на хелпер. - gfx_pal_fsave(pal, path): 256 записей × 4 Б (B,G,R,0 — родной формат BIOS $A4) = 1024 Б. - gfx_pal_fload(pal, path): принимает и усечённый файл (64 Б = палитра 16 цветов) — грузит сколько есть, остальные слоты не трогает; возвращает число записей. tests/palfile (MAME dev, все PASS): fsave; fload восстанавливает испорченные слоты (n=256); усечённый файл на 2 записи чинит только их (n=2, слот 2 не тронут); sync чинит испорченный слот палитры 1. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
10 lines
447 B
C
10 lines
447 B
C
/*
|
||
* _gfx_pal_buf — общий строковый буфер палитровых хелперов
|
||
* (gfx_pal_sync / gfx_pal_fload / gfx_pal_fsave): 64 записи × 4 байта.
|
||
* Статик в W2 — BIOS $A4 требует буфер в #4000-#BFFF. Отдельный
|
||
* data-модуль: линкуется только с самими хелперами (DCE).
|
||
*/
|
||
#include "../_bgi.h"
|
||
|
||
uint8_t _gfx_pal_buf[_GFX_PAL_CHUNK * 4];
|