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

Проигрываем 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











Комментарии

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

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

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

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   Особенности игры: Тайлы: кирпичи, лес, бетон, вода, песок (пос...

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