Важная информация

User Tag List

Показано с 1 по 4 из 4

Тема: Как воспроизвести .mod?

  1. #1
    Veteran Аватар для Enigmatic
    Регистрация
    22.08.2010
    Адрес
    г. Антрацит, Украина
    Сообщений
    1,661
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    304
    Поблагодарили
    152 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Как воспроизвести .mod?

    Как вобще можно вставить в свою программу play mod файла?
    Имеется ввиду GS а не оцифровка.
    Так-же вопрос-можно ли как нибудь воспроизвести музыку с редактора Instrument?
    Моё железо

    Скрытый текст


    ZX_Evolution rev.b + NEO_GS + TSFM
    Ленинград-128/256kb + AY + TR_Dos
    Delta_micro /repair status/
    Москва_48кb /repair status/
    [свернуть]

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для AER
    Регистрация
    18.11.2009
    Адрес
    пгт.Малиновка
    Сообщений
    1,355
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://vtrdos.ru/system.htm ну наверное тут смотри, в плеерах.

  4. #3
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Enigmatic Посмотреть сообщение
    Как вобще можно вставить в свою программу play mod файла?
    Имеется ввиду GS а не оцифровка.
    1. даешь команду GS Reset
    2. команда загрузки модуля
    3. команда открытия потока (#D1, если правильно помню)
    4. загружаешь модуль, байт за байтом
    5. ком. закрытия потока (#D2?)
    6. ком. play

  5. #4
    R.I.P. Аватар для Stingrey
    Регистрация
    18.01.2005
    Адрес
    Russia, Glazov
    Сообщений
    88
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Arrow

    Вот немного модифицированный драйвер GS, написанный для 10-го номера Insanity. Пользуйтесь на здоровье

    Код:
    ;    / Driver General Sound for Insanity /
    ;                 Version 1.1
    ;-= (c) 2001-2003 Stingrey/GPC/Insanity Org. =-
    
    ;-----------------------------------------------------
    ; Реализованные в данной версии точки входа в драйвер:
    ;
    ; INIT - Инициализация и проверки General Sound
    ; LOAD_MOD - Навороченная процедура загрузки и запуска MOD'а
    ; VOLUME_MOD - Регулировка громкости
    ; STOP_MOD - Пауза
    ; CONT_PLAY - Продолжаем слушать музыку
    ;
    
    
            ORG #C000
    
    ; Инициализация:
    ; Входные параметры: (отсутствуют)
    ; На выходе: z=0 - GS PRESENT/ z=1 - GS NOT PRESENT OR BROKEN
    ;            (c=0 - ALL O'K/   c=1 - BROKEN GS)
    ;            ----
    ;            Total RAM of GS = E * 65536 + HL (bytes)
    
    INIT    DI 
            LD A,#23
            LD B,A
            OUT (#BB),A
    LOOP1   IN A,(#BB)
            RRCA 
            JR NC,GS_PRESENT
            DEC BC
            LD A,B
            OR C
            JR NZ,LOOP1
            IN A,(#7B)      ; блокировка ПЗУ ZX-LPRINT
            RET               ; GS отсутствует совсем !
    
    GS_PRESENT
    
            EI 
            HALT 
            DI 
            IN A,(#B3)
            INC A
            AND 252
            RET Z           ; Глючный GS !!!
            LD A,#20
            LD C,#B3
            CALL SENDCOM
            IN L,(C)
            CALL WAITNEXT
            IN H,(C)
            CALL WAITNEXT
            IN E,(C)
            CCF 
            RET 
    
    ; Загрузка модуля в память GS и его проигрывание:
    ; Входные параметры: HL - адрес буфера в памяти ZX;
    ;                    A  - количество 16K (32K) блоков в модуле:
    ;                    (ABS [bloks] = MODULE_LENGHT (bytes)/16384)
    ;                    DE - длина текущего блока  в байтах
    ;
    ; Выходные параметры: A - количество оставшихся блоков
    ;                     z=1 - модуль полностью загружен
    
    LOAD_MOD
    
            DI 
            LD C,A
            LD A,(BLOKS)
            OR A
            JP NZ,LOAD2
            LD A,C
            LD (BLOKS),A
            CALL FADE_VOL
            LD A,#30
            CALL SENDCOM
            LD A,#D1
            CALL SENDCOM
    LOAD2   LD A,D
            CPL 
            LD D,A
            LD A,E
            CPL 
            LD E,A
            INC DE
            LD C,#BB
    LOOP2   LD A,(HL)
            IN B,(C)
            JP P,READY
            IN B,(C)
            JP M,LOOP2
    READY   OUT (#B3),A
            INC HL
            DEC E
            JP NZ,LOOP2
            INC D
            JP NZ,LOOP2
            LD A,(BLOKS)
            DEC A
            LD (BLOKS),A
            RET NZ
    LOOP3   IN B,(C)
            JP M,LOOP3
            LD A,#D2
            CALL SENDCOM
            LD A,1
            OUT (#B3),A
            LD A,#31
            CALL SENDCOM
            LD A,(M_VOL)
            JP VOL2
    
    FADE_VOL
            LD A,(M_VOL)
            LD B,A
    LOOP4   LD A,B
            CALL VOL2
            EI 
            HALT 
            DI 
            DJNZ LOOP4
            CALL STOP_MOD
            RET 
    
    BLOKS   DB 0
    M_VOL   DB #40
    
    ; Установка громкости:
    ; Входной параметр: A - уровень громкости (#00 - #40)
    
    VOLUME_MOD
    
            LD (M_VOL),A
    VOL2    OUT (#B3),A
            LD A,#2A
            JP SENDCOM
    
    ; Остановка проигрывания модуля (типа кнопки PAUSE):
    ; (параметров не требует)
    
    STOP_MOD
    
            LD A,#32
            JP SENDCOM
    
    ; Продолжение проигрывания после 'PAUSE':
    ; (параметров не требует)
    
    CONT_PLAY
    
            LD A,#33
            JP SENDCOM
    
    SENDCOM
            OUT (#BB),A
    
    WAITCOM
            IN A,(#BB)
            RRCA 
            RET NC
            JR WAITCOM
    
    WAITNEXT
            IN A,(#BB)
            RLCA 
            RET C
            JR WAITNEXT
    END
    Profi+ ver.4.15: Concurrent BIOS, 512KB, 3 slots ZX-BUS/NEMO-BUS, General Sound-512KB


Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •