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

Переключаем видео режимы на ZXEVO



Переключение видеорежимов:


Грузим ассемблер XAS 9.10, все примеры делаю на нём. Если вы работаете на эмуляторах то ставьте себе sjasm. Длинна меток адаптирована под XAS в 7 символов. Файл TSCONFI2 находится на диске вместе с XAS 9.10


          LTEXT   "TSCONFI2"; подгружаем файл с портами
          ORG 26000;  расположение нашей программы в памяти

                CALL codesta;   set video resolution вызов процедуры переключения видеорежимов

Corn;                        цикл
                XOR  A;   опрашиваем клаву
                IN  A,(254)
                CPL
                AND  #1F
                RET  NZ ;   выход при нажатии любой клавиши
                JR Corn

Codesta  LD BC,VCONFIG;   change video переключаем видеорежим
                LD A,VID256X+VIDZX
                OUT(C),A
                RET

Виды видеорежимов, которыми можно поиграться в строке LD A,VID256X+VIDZX:

VID256X  EQU #00;   256x129     
VID320X  EQU #40;   320x200     
VID321X  EQU #80;   320x240    
VID360X  EQU #C0;  360x288     

VIDZX      EQU #00;   spectrum color 
VID16C    EQU #01;    16 colors
VID256C  EQU #02;    256 colors
VIDTEXT  EQU #03;   text resolution




Второй способ без файла TSCONFI2 :

                ORG 26000
             

                CALL codesta;   set video resolution вызов процедуры переключения видеорежимов

Corn;                        цикл
                XOR  A;   опрашиваем клаву
                IN  A,(254)
                CPL
                AND  #1F
                RET  NZ ;   выход при нажатии любой клавиши
                JR Corn

Codesta
                 LD BC,#00AF;    VCONFIG
                 LD A,(VCONFIG)
                 OUT (C),A
                 RET
 
                VCONFIG  DW  %00000001;  size screen and color

; теперь просто в строке VCONFIG DW меняем биты для переключения режимов
;  bits 0-1 set size
;  bits 6-7 set colors
;  00-256x192
;  01-320x200
;  10-320x240
;  11-360x288
;  00-zx colors
;  01-16 colors





Комментарии

  1. Привет! Спасибо за статьи. Вот только здесь я подвис ))) По ссылке на ассемблер XAS 9.10 лежит диск с игрой в самолетики test.trd, обновите плиз ссылку

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

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

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

Печать спрайта в 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; SPRIT

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