Предлагаю простое решение:
перед игрой:
- в ОЗУ видео карты вливаем нужное количество палитр, (хоть 10) и спрайты к этим палитрам
в игре:
- даём команду видео-карте "загрузить палитру в чип", ПЛИС загружает палитру к себе в набортную память
(параметр команды: адрес палитры в видео-памяти откуда загружать)
- отображаем все спрайты, которые юзают 1 палитру
- опять посылаем видюхе команду "загрузить палитру в чип", ПЛИС загрузит себе на борт уже вторую палитру
- отображаем все спрайты, которые юзают 2 палитру
и т.д. хоть 10 палитр
Т.е. можем любую палитру "акивировать" в любое время.