| Эмуляция > Эмуляторы консолей 1-4 поколений |
| Nuked OPN2 (YM3438/YM2612) emulator |
| (1/1) |
| evgs:
NukeYKT (Alexey Khokholov) написал тактово-точный эмулятор YM3438/YM2612 https://github.com/nukeykt/Nuked-OPN2 - Based on YM3438 die shot reverse engineering and thus provides very high emulation accuracy. - Cycle-accurate. - Undocumented registers/features emulation. - SSG-EG, CSM mode emulation. - Compatible with the YM2612. https://www.youtube.com/watch?v=Msb3BOFoVrE https://www.youtube.com/watch?v=p9Cu_hLKIro https://www.youtube.com/watch?v=ImmKy_-pJ8g https://www.youtube.com/watch?v=s-8ASMbtojQ Эмулятор можно послушать в свежайшем ядре genesis_plus_gx_libretro через RetroArch Доступны опции ядра: --- Код: ---YM2612/YM3438 core -mame -nuked (YM2612) -nuked (asic YM3438) -nuked (discrete YM3438) YM2612 DAC quantization -disabled -enabled --- Конец кода --- |
| evgs:
Отчётливо слышна эмуляция специфики DAC YM2612 ("ladder effect") Использовался low-pass фильтр 40%, как наиболее соответствующий MD первых моделей. https://forums.libretro.com/t/genesis-plus-gx-where-is-the-audio-lowpass-filter/12169/92 Оригинал с железа, без фильтрации: https://www.youtube.com/watch?v=tRkHqw58PPk (Recorded using an unfiltered YM2612 MegaAmp on a VA3 Model 2 Genesis) Никакие регены и эксодусы и рядом не валялись :P |
| MetalliC:
ота срань на заднем плане и есть "эффект ступеньки" ? прикольно ;) --- Цитата: evg.s от 29 Октябрь 2017, 20:20:11 ---Никакие регены и эксодусы и рядом не валялись --- Конец цитаты --- было бы желание ;) там всех делов - несколько строк кода и мне как-то не понятно - откуда дровишки ? на основании чего это всё ? если декапа YM2612 еще нет. |
| evgs:
На самом деле декап 2612 есть, и довольно старый: https://forums.nesdev.com/viewtopic.php?f=23&t=8806 Его делал один знакомый ХВМа, работающий на СТО. Фотка получилась далеко не самого лучшего качества. Получилось снять лишь один слой, а до второго так и не добрались - не вышло стравить металл. Однако по этим фотографиям что-то да удалось разобрать: http://gendev.spritesmind.net/forum/viewtopic.php?f=24&t=386&start=795#p29525 --- Цитата: NukeYKT ---Как раз я и использовал ваш die-shot при эмуляции багов в ЦАП YM2612. Думаю кроме ЦАПа нету каких либо существенных различий между YM2612/3438. Даже назначения тестовых регистров полностью совпали с находками Sauraen'а. --- Конец цитаты --- Это не означает, что нормальный декап и фотки всех слоёв не нужны. Мы постараемся это организовать. Не исключено, что у 2612 и 3438 помимо ЦАП есть ещё какие-нибудь незначительные различия. |
| HardWareMan:
--- Цитата: evg.s от 30 Октябрь 2017, 02:32:24 ---Не исключено, что у 2612 и 3438 помимо ЦАП есть ещё какие-нибудь незначительные различия. --- Конец цитаты --- Конечно есть. Таймеры же. |
| GManiac:
--- Цитата: MetalliC от 29 Октябрь 2017, 23:37:34 ---ота срань на заднем плане и есть "эффект ступеньки" ? прикольно ;) --- Конец цитаты --- Эффект ступеньки придаёт "объёмность" инструментам и всего-то :) На тихих треках это заметно очень сильно. В After Burner - Super Stripe, например, да и во всей игре вообще. Ещё пример: Golden Axe 3 - Cave of Crystal. Если технически, то это увеличенный импульс между значениями ЦАП -1 <-> 0, примерно в 3.5 раза сильнее остальных. Т.е. если ты проиграешь цифровые точки-семплы от -50 до +50 ты увидишь последовательность почти одинаковых ступенек вверх, но на -1 -> 0 ступенька будет большая. Плюс ещё прикол: при обрезке значения оператора на выход канала берутся просто старшие 9 бит оператора, это эквивалентно арифметическому сдвигу (а не логическому) на 5 бит. В результате, пусть у нас синусоида: -31 -30 -29 ... 0... +31 Если делать 14-битный вывод, как делают некоторые эмуляторы, то нормированные значения получатся: -0.97 -0.94 ... 0 + 0.97 Если делать логический сдвиг, получится: 0 0 0 0 0 0 0 Если арифметический: -1 -1 -1 -1 -1 ... 0 0 0 0 0 0 0 0 А с учётом ступеньки: -3.5 -3.5 -3.5 -3.5 ... 0 0 0 0 0 Если брать меньшие по модулю значения, то 14-битный вывод будет звучать тише, а настоящий 9-битный останется последвательностью -3.5 и 0. Т.е. тихий и затухающий звук всё равно будет звучать достаточно ощутимо. Я спрашивал, в чём сложность добавить эффект, на спрайтсмайнде. Eke говорит, что "они не знают точного значения ступеньки, поэтому не добавляют" :neznayu: ...Если бы кто добавил эффект в плагин in_vgm. |
| GManiac:
Вот ещё |
| evgs:
Вот запись Лунной сонаты из червяка джима 2 с MegaDrive 1 модели. Оригинальная нетронутая приставка, без кастомных усилителей и выброшенных фильтров, as is: https://yadi.sk/d/Ekf8pRWr3PENoZ (FLAC, 48 кГц) Пожалуй, лучшего теста эффекта ступеньки и не найти. А по поводу программных VGM-плееров, вот вроде добавляют уже: https://github.com/vgmrips/vgmplay/commit/4f8f562885850ab53abf03ee8e3b777d41789b90 |
| evgs:
В дефолтное ядро genesis plus gx (mame ym2612) бэкпортировали "лесенку" из нюкеда. Теперь можно слушать аутентичный звук сеги даже на слабом железе, которое не справлялось с эмулятором нюкеда (напр. Raspberry Pi3 с ретроарчем) |
| Навигация |
| Главная страница сообщений |