Page 1 of 1

Спрайты - это просто :)

PostPosted: Sat, 06.09.2014 08:58:20
by VBI
Общались с Деном на тему спрайтов, Дену понравилось, и я решил запостить свой ответ по поводу того, как готовить спрайты.

что нужно вообще спрайтам
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, так удобно, лаконечнее, да и понятно.

Re: Спрайты - это просто :)

PostPosted: Fri, 05.06.2020 01:43:30
by Hmmm
Я так понял в этой фиговине есть 256 аппаратных спрайтов. Можно как дебилу вот, написать код как их выводить?

Re: Спрайты - это просто :)

PostPosted: Fri, 05.06.2020 09:53:05
by TS-Labs
Форум для ардуинщиков в другом месте.

Re: Спрайты - это просто :)

PostPosted: Fri, 05.06.2020 10:15:25
by Mor-Da
Hmmm wrote:Я так понял в этой фиговине есть 256 аппаратных спрайтов. Можно как дебилу вот, написать код как их выводить?

Читать на Хайпе статьи VBI.

Re: Спрайты - это просто :)

PostPosted: Wed, 01.07.2020 01:31:44
by Hmmm
Как забросить в дескриптор? Пример кода?

Re: Спрайты - это просто :)

PostPosted: Wed, 01.07.2020 12:49:11
by dr_max

Re: Спрайты - это просто :)

PostPosted: Wed, 01.07.2020 13:27:28
by Hmmm
Я все это перечитал. Уже месяц как разбираюсь. Но у вас все примеры в формате ASM. Я работаю в XAS на железе. Есть простой пример вывода спрайта без ASM файлов, без обращений к сторонним библиотекам которые вы подгружаете? Вот прямо тут написать пример вывода спрайта с нуля.

Re: Спрайты - это просто :)

PostPosted: Wed, 01.07.2020 14:07:11
by TS-Labs
Простой пример. Графика для спрайтов НЕ загружается (должен быть виден мусор со страницы #C0), палитра тоже (используется спектрумская).
.png

Re: Спрайты - это просто :)

PostPosted: Thu, 02.07.2020 00:01:54
by idxi
Hmmm wrote:Я работаю в XAS на железе

Хороший асм ) под tsconf бы его переписать =)