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

Печать спрайта в 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                  LD   BC , FMADDR                  LD   A , FMEN                  OUT  ( C ), A ;  в адрес #200 кидаем шесть байт данных спрайта, ;  Y , SIZE  кратно 8-ми,  X , SIZE  кратно 8-ми, в BC выбираем номер нашего спрайта, они идут по порядку один за другим                  LD   HL ,#200;     вносим данные о спрайте                   LD   A ,10;     координата по оси  Y                   LD  ( HL ), A                  INC   HL                  LD  ( HL ), SPSIZ

Софт для быстрого старта

Список необходимого софта для работы с  ZXEVOLUTION под Win . Некоторые программы я закачал к себе на хостинг, может это и не правильно по отношению к авторам, но лично мне так удобно, когда все лежит в одном месте. Эмулятор ZXEVOLUTION :   http://pmc-wagner.su/Unreal.rar Рисуем спрайты:   https://graphicsgale.com/us/ Конвертим спрайты для TSConfig :   http :// pmc - wagner . su/Tga2ts.rar Плагин для Total Commander работа с TRD : http :// pmc - wagner . su / INTRD 640. zip И кратко пройдемся по каждой программе: Эмулятор Unreal , настроен так, что сразу запускается в TSCONF . Жмем правый Shift + F 12 попадаем в БИОС, ставим CS RESET TO : ROM #00. Сохраняем настройки. Теперь если в системе нажать левый Shift + F 12, то вылетит обычное меню ZX - Spectrum 128, что может быть удобно, если надо запустить стандартный TRD с винды. Дальше выбираем в меню File нужный образ и наслаждаемся. В моем архиве есть тестовый TRD с примером игры под ZXEVO с исходниками под XAS