К основному контенту

ZX EVO: Вывод тайлов

 

 

Печатать тайлы просто. Готовая программа с комментариями в XAS'm

как всегда лежит тут.

 

 

CREAT           LD BC,PAGE3; переключаем страницу памяти

                        LD A,#08

                        OUT (C),A

 

                        LD HL,49152; в адрес 49152 закидываем тестовый тайл

                        LD A,2

                        LD (HL),A

                        INC HL; в памяти содержиться сразу 2 слоя тайлов

                        INC HL; потому я делаю 2 раза inc hl

                        LD A,3

                        LD (HL),A; закидываем еще тайл с номером 3

 

 

TILES              LD BC,T0PAGE;  указываем страницу со спрайтами

                        LD A,#C0

                        OUT (C),A

 

                        LD BC,TMPAG;   указываем страницу с картой тайлов

                        LD A,#08

                        OUT (C),A

 

                        LD BC,PALSEL;  устонавливаем палитру для тайлов

                        LD A,%00000000

                        OUT (C),A

 

                        LD BC,TSCONFIG;  печатаем тайлы

                        LD A,%00100000

                        OUT (C),A

                        RET

 

Если надо вывести и тайлы и спрайт то включаем бит 7:

                        LD BC,TSCONFIG;  печатаем тайлы

                        LD A,%10100000

                        OUT (C),A

                        RET

 

Расположение слоев графики:

 

- бордюр

- основная графика (256с, 16с, ZX, текстмод)

- спрайтовый слой 0

- тайловый слой 0

- спрайтовый слой 1

- тайловый слой 1

- спрайтовый слой 2

 

Чтобы спрайты выводить поверх тайлов, необходимо напечатать один пустой спрайт с включенным битом LEAP. Как только обработчик встретит в любом спрайте выключенный бит LEAP, все последующие спрайты будут печататься на следующий слой.  


Комментарии

Популярные сообщения из этого блога

ZXEVO: Вывод спрайта в TS-CONFIG

ZXEVO: Вывод спрайта в TS-CONFIG    Процедура вывода спрайта на ZXEVO под TSCONFIG адаптированная для отладчика XAS. Файл с портами  TSCONFI2  на диске  тут . Также на диске есть пример кода вывода спрайта SPRITE.XAS и тестовый ковер со спрайтами I.C                      LTEXT “TSCONFI2”;   подгружаем файл со списком портов                 ORG 26000 Sprite          LD   BC , SGPAGE ;   страница памяти где находятся ваши спрайты                  LD   A ,# C 0                  OUT  ( C ), A                ...

Печать спрайта в TS CONF 256 color

  TS-CONF по умолчанию имеет аппаратные спрайты и тайлы которые используют 16 цветов, однако это не значит, что нет возможности использовать спрайты в 256 цветов. Для того, чтобы вывести такой спрайт, нужно воспользоватся DMA в режиме BLT1. В этом режиме перекидываются любые данные если они не равны нулю. Рисуем спрайты любыми цветами, но нулевой цвет оставляем для фона который нужно будет вырезать. Как всегда процедура и спрайты для теста тут: SPR.TRD Ниже привожу пример процедуры:             ORG       30000              LD            HL,0; X COORDINATE            LD            BC,0; Y COORDINATE             LD            (XX),BC LD     ...

TSolitaire под TS-Conf

       Исходники к пасьянсу TSolitaire под TS-Conf можно скачать ниже по ссылке. Немного пояснений к файлам на диске: 1 - Все файлы нужно запускать в Xasme (он уже есть на диске). 2- Главный файл XASASM 1, чтобы запустить его, в Хасме жмите Shift+Caps затем L. Появится каталог в котором нужно выбрать наш файл. Жмем Shift+Caps затем A, как проассемблируется жмем R. Алилуя!!! Игра запустилась. 3 - Файл Coloda - основной массив всех карт. 4- Файд - TSCONFI2 список портов TS CONFIG. Если нужно поменять графику под другие системы, то все карты печатаются DMA как обычные спрайты (запоминаем фон, печатаем карту, двигаем ее, восстанавливаем фон). Стрелочка это аппаратный спрайт, кроме стрелки аппаратных спрайтов я не использую. Скачать: http://pmc-wagner.su/tsolitedit.trd