Привет, подскажите пожалуйста как из бетти можно вытянуть звуковые эффекты? Хочу их использовать в ардуинке в своём проекте.
Привет, подскажите пожалуйста как из бетти можно вытянуть звуковые эффекты? Хочу их использовать в ардуинке в своём проекте.
Изготовление Картриджей для Денди 1-8 игровки с меню. (0,1,2,3,4,7,71 мапперы), для Сеги 1-8
https://vk.com/retronicaru
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Исходники Batty доступны. Используя их можно перенаправить вывод звука куда угодно.
С уважением, Станислав.
Спасибо! Я то по наивности думал что там побитная таблица в игре просто. Щас вижу что там целая процедура. Тогда получается мне вместо бипера записывать данные в память? ; Used by the routines at play_sound_LC122, play_sound_choose_ctrl and play_sound_choose_letter.
sound_beep2:
LD A,$10
OUT ($FE),A
sound_beep2_0:
DJNZ sound_beep2_0
XOR A
OUT ($FE),A
LD B,D
sound_beep2_1:
DJNZ sound_beep2_1
RET
Изготовление Картриджей для Денди 1-8 игровки с меню. (0,1,2,3,4,7,71 мапперы), для Сеги 1-8
https://vk.com/retronicaru
Не все так просто. Там надо для каждой команды, которая исполняется в процедуре, посчитать количество тактов. Если это команда условного перехода или DJNZ - то надо рассмотреть оба варианта по тактам, когда переход исполняется и когда он не исполняется. Тактовая частота процессора известна - 3,5МГц. Анализ процедуры генерации звука позволит выяснить задержки между переключениями сигнала на бипере. Если требуется повторить такой звук на Ардуино без ЦАП - то нужно более или менее точно выдержать эти задержки и сгенерировать такой же сигнал на выходе звука. Если же имеется аудио-ЦАП - то есть вариант 2. Сгенерировать в памяти компьютера такой же сигнал, как это делает процедура на Спектруме. Потом подвергнуть этот сигнал ФНЧ-фильтру, ограничив полосу пропускания до 20кГц или ниже (по желанию). После фильтрации частоту дискретизации сигнала (исходно 3,5МГц) можно будет снизить до примерно 44кГц путем выбрасывания лишних данных - это не приведет к потере качества благодаря теореме Котельникова. Отфильтрованный сигнал после передискретизации записать в память и воспроизводить. Но тут, скорее всего, потребуется много памяти.
В общем, задача непростая, но интересная!
Можно просто в эмулятор добавить лог записи в порт fe + текущий эмулируемый такт и потом уже что душе угодно делать, к примеру скриптом создать битовый массив, ну либо сохранить wave, в каком то музыкальном редакторе передескритезировать на нужную частоту
Barmaley_m (21.09.2024)
А просто записать с эмулятора wav и его скармливать ардуине не спортивно?
Есть такой раздел знаний - Цифровая обработка сигналов. Согласно ей ФНЧ в эмуляторе в звуковом тракте нужен. Примеры того, что получается, когда ФНЧ нет или, чаще, когда его параметры не соответствуют решаемой задаче, к сожалению все еще можно слышать в эмуляторах, хотя со временем ситуация становится лучше.
Barmaley_m (08.12.2024)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)