что нужно вообще спрайтам
1. закинуть в страницу спрайт, правильным макаром - как тайлы:
Спрайт - Набор из расположенных рядом тайлов. Размер задается произвольно в диапазоне 1-8 тайлов (8-64 пикселей) независимо для высоты и ширины.
не забывай о кратности адреса, кратности размера спрайта, и о том, что у тебя 16 цветов на спрайты, т.е. 4битный режим
тайлмап тебе не нужен!
2. указать какая страница для графики спрайта - в SGPage
3. TSConfig - включи спрайты, само собой
4. PalSel для палитры спрайта, сенкс Буяну, все палитры в SPAL дескриптора указываем, целиком готовую в 16 цветов.
5. готовим данные для дескрипторов спрайта
пример:
- Code: Select all
spr1 db 0 - позиция по У
db %00111110 - спрайт включен, Y Size: 111 (7=64точки)
db 96 - Х
db %00001110 - X Size - 7, 64 линии
db 0 - позиция в странице графика (всё как тайлы - 8х8)
db %00100000 - номер в палитре и позиция в тайлах.
потом забрасываем это всё в спрайтовый дескриптор - #200 той памяти. если это делать через дма, то для порта #27af юзаем биты #85
основная бука - https://forum.tslabs.info/viewtopic.php?f=35&t=157
и ексель, что поделаешь. библейа
и ещё: для примера - возьми рубик, там есть исходник

смотри rubicon_spr_view, где logo_spr - дескриптор, а rubikon_logo_spr - данные портов и значений для дма
ещё спрайты там в Tunnel_part, там - spr_out, где spr1 - дескриптор, rubik_spr - данные портов и значений для дма
заметь, я всё дмой програмлю через подпрограмму set_ports, так удобно, лаконечнее, да и понятно.