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

Сообщения

Сообщения за июль, 2020

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;   устонавл

ZX EVO: Выводим графику средствами DMA

ZX EVO:  Выводим графику средствами DMA DMA (англ. direct memory access) кидает данные со скоростью 7мб/c.  Запустить исходник процедуры в XAS можно тут .  LTEXT "TSCONFI2" ; грузим данные портов  ORG 32768  LCODE "src" ; грузим нашу картинку  ORG 26000    LD BC,DMASADH ;  указываем откуда брать нашу картинку, старший байт  LD A,#80  OUT (C),A  LD BC,DMASADL ;  указываем откуда брать нашу картинку, младший байт  LD A,#00  OUT (C),A  LD BC,DMASADX ;  с какой страницы памяти брать картинку  LD A,#02  OUT (C),A  LD BC,DMADADH ;  указываем куда отправляем нашу картинку, старший байт  LD A,#40  OUT (C),A  LD BC,DMADADL ;  указываем куда отправляем нашу картинку, младший байт  LD A,#00  OUT (C),A  LD BC,DMADADX ;  в какую страницу отправляем  LD A,#05  OUT (C),A  LD BC,DMALEN ; размер блока памяти который кидаем  LD A,#7F  OUT (C),A  LD BC,DMANUM ; кол-во блоков  LD A,#1A  OUT (C),A  LD BC,DMACTR ;  собственно кидаем картинку на экран  LD A,%00000001  OUT (C),A  RET  Разм

Литература в помощь программисту на ассемблере

Две настольные книги, которыми я пользуюсь. Для тех, кто только начинает делать игры для ZXEVO, есть две хорошие книги которые способны быстро ввести вас в курс дела. Первая книга А. Евдокимова и компании - " Как написать игру на ассемблере " фактически легенда и святое писание мира spectrum. Она написана простым и понятным языком для тех, кто первый раз видит ассемблер, но сразу хочет делать игры. Вторая книга от " Инфоркома " которую лично я использую как удобный справочник по командам процессора zilog. В книге очень доступно раскрывается связь между архитектурой и командами процессора.  В обеих книгах есть очень много примеров. Также вам может быть полезен вот этот список литературы.

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