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

Сообщения

Слободчиков С.С. Программируем под TSConfig ZXSpectrum

 Учебное пособие для тех кто хочет программировать под TSConfig , но не знает как начать.  Книга написана так, будто мы делаем компьютерную игру, и по ходу её создания объясняем как устроена система. Для вашего удобства слева есть небольшое меню-оглавление. Также необходимый софт и документацию вы можете скачать тут: https://boosty.to/zxevolution

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

TFM звук на ZX EVO для ленивых (как я:))

  TFM звук на ZX EVO для ленивых (как я:))     TurboSound FM (TFM, TSFM) - устройство для ZX Spectrum и клонов, предназначенное для расширения возможностей генерации звука. Является развитием устройства TurboSound и имеет полную обратную совместимость с ним. Помимо обычных возможностей TurboSound (6 каналов вместо 3 каналов стандартного AY-3-8910) добавляет 6-канальный FM-синтезатор, совместимый с синтезатором игровой приставки Sega Mega Drive. Заказать карту можно тут: http://www.nedopc.com/TURBOSOUND/ts-fm-pro.php Алгоритм добавления музыкальных композиций в свой код:     1)  Качаем софтину:  http://pmc-wagner.su/tfm.rar      2) Запускаем редактор музыки - папка  tfmmaker152, выбираем или создаем композицию, сохраняем ее как EXPORT tfd file for TFM      3) Открываем папку tfmcom и наш трек перетаскиваем прямо на файл tfmcom, он сжимает наш трек раза в четыре :)      4) Уже откомпилирова...

Драйвер для мышки для любого разрешения

        Драйвер для мышки для любого разрешения (спасибо Сергею Смирнову). Ни для кого не секрет, старый дрова которые можно найти в интернете рассчитаны на разрешение 256х192. Под ts-config их необходимо допиливать. Допилятор ниже.  driver:     ld a,(lastv);    опрашиваем координату X     ld e,a     ld bc,#fbdf     in a,(c)     ld (lastv),a     sub e     ld e,a     add a,a     sbc a,a     ld d,a     ld hl,(mcoordx)     add hl,de     ld (mcoordx),hl      ld a,(lastv2);    опрашиваем координату Y     ld e,a     ld bc,#ffdf     in a,(c)     ld (lastv2),a     sub e     ld e,a     add a,a     sbc a,a     ld d,a     ld hl,(mcoordy)     add hl,de     ld (mcoordy),hl     ret...

Проигрываем SoundFX на NEOGS в играх.

   Проигрываем SoundFX на NEOGS в играх. Имеем 8 каналов. Семплы используем 8 bit, wav, сохраняем как PCM. Процедура сама выбирает свободный канал и играет семпл. Каждое обращение к загрузке семпла определяет его номер от 1....255. При проигрывании просто указываем этот номер семпла.  Не забываем сбросить карту.               LD A,#F4; resset               CALL SC               CALL WC             LD IX,PARAMETR             LD HL,ADDR_SAMPLE             LD DE,LENGHT_SAMPLE             CALL SAMPLE_LOAD             RET SAMPLE_LOAD:           LD A,#38           CALL SENDCOM           LD A,#D1;...

Full Kempston joy for Evo

  Однокнопочный джойстик для ZXSPECTRUM морально устарел, очень советую всем любителям ZXEvo, установить версию прошивки с поддержкой full kempston joy. В этом случае вы получите джойстик сеговского формата: крестовина, кнопка start + кнопки ABC. На данный момент испробовать его можно в такой игре как: Delta Shadow или в демке Street Fighter . Также мы будем его поддерживать в будущих играх.  Скачать три прошивки в архиве:  pmc-wagner.su/fw_kempston.rar 1.zxevo_fw.bin  файл для base conf 2.zxevo_fw_vdac.bin  для ts conf 3.zxevo_fw_vdac2.bin для tsconf с поддержкой VDAC2 Программируем джойстик:  Пример:       in a,(1f)                          bit 1,a                          jp nz,left Значение битов:    bit 0 = right, bit 1=left, bit2=down, bit 3=up         ...

Работа с часами

Работа с часами.  Мы часто сталкиваемся с ситуацией когда нужно вывести таймер. Я не буду расписывать порты, благо это сделано до меня, дам лишь простой пример, как в регистр "A" получить, часы, минуты, секунды. В нашем случае нет разницы, программируете вы на Base conf или Ts conf. TIME         LD A,#80                    LD BC,#EFF7                    OUT (C),A                    LD A,0;   если 0 - получаем секунды, если 2 - получаем минуты, если 4 - получаем часы.                    CALL READCMOS                    RET REACMOS                    LD BC,#DFF7                  ...

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

Battle City под TS-CONF

В общем мой эксперимент по созданию игры на железе, да на старом софте закончился и весьма удачно. Игра Battle City доделана, и почти без глюков. Спасибо огромное людям которые мне помогали, а именно: TS-Conf   (информационная поддержка) Nik-o   (музыка и звуки к игре) Black Cat (тестил игру) Sergei Smirnov (тоже немного потестил + информ. поддержка) Игру вы можете скачать тут:  http://pmc-wagner.su Сразу скажу, что сделал две версии, с разной палитрой. Первая версия - это игра с оригинальной палитрой Dandy (Famicom), но с ней могут быть проблемы на некоторых мониторах в силу технических особенностей машины. Вторая версия для тех у кого голая Eva без Vdac. Цвета урезаны, да палитра некрасивая, зато монитор не рябит.  Видео отчет по игре:    Технические детали:  Игра вышла под: TS-Config.  Разрешение: 320х240 при 16 цветах на точку.  Количество миссий: 32  Игроков: 2   Особенности игры: Тайлы: кирпичи, лес, бетон, вода, песок (пос...

Печать текста на ZX EVOLUTION

Печать текста на ZX - EVO при помощи DMA . Процедуру качать тут . Запускаем в XAS на железе и тестируем. Процедура использует 16 цветов при разрешении 320х240 Вызывается процедура так:              ld hl , mytext ; собственно тут наш текст                      ld ( textw ), hl ; сохраняем адрес текста в буфер                      ld d ,# c 0; адрес нашего шрифта                       ld e ,#10; адрес начала видеопамяти. Я использую #10                      ld bc ,00; координата X                 ...

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

    Печатать тайлы просто. Готовая программа с комментариями в XAS'm как всегда лежит тут.     CREAT             LD BC,PAGE3; переключаем страницу памяти                         LD A,#08                         OUT (C),A                           LD HL,49152; в адрес 49152 закидываем тестовый тайл                         LD A,2                         LD (HL),A ...

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

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

Две настольные книги, которыми я пользуюсь. Для тех, кто только начинает делать игры для 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                ...