User Tag List

Показано с 1 по 10 из 317

Тема: GameNoname

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Написал простенький двух канальный плеер, и сталкнулся с проблемой поиска/создания звуковых эффектов. Подстажите плиз где обычно создаются звуковые эффекты для ретро платформ. Может быть есть какие-то бесплатные тулзы которые позполяют контертировать готовые семплы? Или можеь быть есть где-то паки с готовыми звуками для игр для AY чипа?
    Возможно, это не то, вопрос про AY. Я для роботов сделал SFX на 8253, AY оставил для музыки.
    К Вектору можно на самом деле подключить Sound Tracker и R-Sound, но, думаю это редкий случай в RL. Хотя мне сдаётся, ivagor по-моему такое делал для меня на DE1.

    На таймере всего либо 3 уровня громкости, либо 3 канала. Просто набил сэмплы используя макро-средства m80. Получился некий ad-hoc язык.
    Каждый сэмпл имеет заголовок,
    Пример сэмпла №32 из роботов: запуск лифта
    Код:
    ; Elevator start
    
    IFNDEF	_PATLIB
    ASEG
    .PHASE	0
    
    INCLUDE	A:HDRSFX.INC
    INCLUDE	B:SFX.INC
    EndIF
    
    PATHDR	<CH32_0,CH32_1>
    
    CH32_0:	DB	0
    	Attack 20,15000,1,-30
    	Vibrato 15,14000,15000,1,1,-600,-40
    	Vibrato 30,4000,4000,1,1,-70,-25
    	Vibrato 30,1300,3000,1,1,20,100
    	Vibrato 25,2400,5000,1,1,200,180
    	EndCh
    
    CH32_1:	DB	1
    	Vibrato 10,15000,14500,1,1,-100,-50
    	Pause	144
    	Vibrato 25,2400,5000,1,1,200,60
    	EndCh
    Отдельные ноты тоже можно вставлять. Скажем, открывание двери выглядит так (тут 3 канала):
    Код:
    ; Door 3 open SFX
    
    IFNDEF	_PATLIB
    ASEG
    .PHASE	0
    
    INCLUDE	A:HDRSFX.INC
    INCLUDE	B:SFX.INC
    EndIF
    
    PATHDR	<CH13_0,CH13_1,CH13_2>
    
    CH13_0:	DB	0
    	Vibrato	8,Hz050,Hz100,2,1,1500
    	Vibrato	14,Hz050,Hz100,2,3,-1500,1000
    	EndCh
    CH13_1:	DB	1
    	pause 2
    	Vibrato 50,80,3500,1,1,20,500
    	EndCh
    CH13_2:	DB	2
    	pause	6
    	note	3219,2
    	note	6438,2
    	pause	7
    	note	4551,5
    	pause	8
    	note	3219,1
    	note	1609,1
    	note	3219,1
    	pause	8
    	note	5734,6
    	pause	10
    
    	note	6438,3
    	pause	3
    	note	4551,3
    	pause	11
    	Vibrato	4,9102,4551,1,1
    	EndCh

    PATHDR вначале описывает, сколько сэмплу нужно каналов. Драйвер использует каналы динамически. Сколько есть свободных (если предыдущий patch играет), столько и запустит на проигрывание. Отдельный сэмпл можно скомпилить и проиграть утилитой playsfx (в аттаче).

    Все сэмплы компилятся в файл sfxlib (sfxlib.mac в аттаче) и кидаются в один из банков квазидиска. При загрузке файла, роботы настраивают слинкованные смещения начала сэмплов в sfxlib добавляя смещения по которым лежат сэмплы. Драйверу просто асинхронно говорится по прерыванию типа играй сэмпл 32, и он играет на свободных каналах тем же кодом что playsfx.

    Это-упрощённо. Там есть свои гитики. И это-не AY.
    Вложения Вложения
    Последний раз редактировалось PPC; 02.04.2023 в 11:30. Причина: Quotes

    Эти 2 пользователя(ей) поблагодарили PPC за это полезное сообщение:

    parallelno(03.04.2023), svofski(02.04.2023)

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

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

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

Ваши права

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