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

Печать спрайта в 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           D,#C0; ADDRESS SPRITE IN MEMORY
LD           E,#10; START VIDEO PAGE
CALL      PERECHET; GET NUMBER PAGE
PUSH    DE
POP       HL
LD           DE,16
SBC        HL,DE
LD           DE,(XX)
ADD       HL,DE
PUSH    HL
POP       DE
LD           (PAGETO),A
LD           B,6; SPRITE SIZE X ABSCISSA
LD           C,15; SPRITE SIZE Y ORDINATE
LD           A,#C0
LD           (PAGEFR),A
LD           A,%10111001
LD           HL,49152
CALL      DMASTART
HALT
RET

 

         PERECHET;  PAGE NUMBER COUNTER
LD           A,L
AND      #3F
OR          D
LD           D,A
ADD       HL,HL
ADD       HL,HL
LD           A,H
ADD       A,E
RET

DMASTART
LD           (SIZEBC),BC
LD           (CLSDATA),A
LD           BC,DMASADH
LD           A,H
OUT       (C),A
LD           BC,DMASADL
LD           A,L
OUT       (C),A
LD           BC,DMASADX
LD           A,(PAGEFR)
OUT       (C),A
LD           BC,DMADADH
LD           A,D
OUT       (C),A
LD           BC,DMADADL
LD           A,E
OUT       (C),A
LD           BC,DMADADX
LD           A,(PAGETO)
OUT       (C),A
LD           BC,DMALEN
LD           HL,(SIZEBC)
LD           A,H
OUT       (C),A
LD           BC,DMANUM
LD           A,L
OUT       (C),A
LD           BC,DMACTR
LD           A,(CLSDATA)
OUT       (C),A
RET


SIZEBC  DW        0
CLSDATA             DB          0
PAGEFR                               DB          0
PAGETO              DB          0

XX          DW        0


Комментарии

  1. Сергей, доброго времени суток. Пожалуйста свяжитесь со мной. Имеется предложение. Skorchak@ya.ru

    ОтветитьУдалить

Отправить комментарий

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

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                ...

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