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

Проигрываем 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;  Открыли поток
        CALL SENDCOM

        LD A,(HL)
LOOPG:
        IN B,(C)
        JP P,READY
        IN B,(C)
        JP M,LOOP

READY:
        OUT (GSDAT),A
        INC HL
        LD A,(HL)
        INC E
        JP NZ,LOOP
        DEC D
        JP NZ,LOOP

WAIT:
        IN B,(C)
        JP M,WAIT
        LD A,#D2;  Конец стрима
        CALL SENDCOM
        LD A,(IX)
        OUT (GSDAT),A
        LD A,#40
        CALL SENDCOM
        LD A,(IX+1)
        OUT (GSDAT),A
        LD A,#41
SENDCOM:
        OUT (GSCOM),A
WAITCOM:
        IN A,(GSCOM)
        RRCA
        JR C,WAITCOM
        RET



PLAY:
        LD A,1; номер семпла ноль не задавать
        CALL SD
        LD A,#39
        CALL SC
        CALL WC
        RET




PARAMETR:
        DB 60
        DB #40

GSCOM        EQU 187
GSDAT        EQU 179

SC:
        OUT (GSCOM),A
        RET
WC:
        IN A,(GSCOM)
        RRCA
        JR C,WC
        RET
SD:
        OUT (GSDAT),A
        RET
WD:
        IN A,(GSCOM)
        RLCA
        JR C,WD
        RET

GD:
        IN A,(GSDAT)
        RET
WN:
        IN A,(GSCOM)
        RLCA
        JR NC,WN
        RET











Комментарии

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

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

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

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