reSID
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2022 г. ) |
reSID — это программная эмуляция микросхемы MOS6581 SID (устройство звукового интерфейса), разработанная методом реверс-инжиниринга, запрограммированная Дагом Лемом. Этот чип использовался в компьютере Commodore 64 . reSID — бесплатное программное обеспечение, распространяемое под лицензией GNU General Public License .
reSID — это библиотека C++, содержащая полную эмуляцию чипа SID. Эту библиотеку можно подключить к программам, имитирующим MOS6510 MPU, для воспроизведения музыки, созданной для компьютера Commodore 64 . reSID связан с VICE ( эмулятором Commodore 64 ), SIDPLAY (проигрывателем настроек SID), а также с трекерами GoatTracker и Chewcutter.
Механизм эмулятора основан на циклах и эмулирует внутренние операции чипа SID . Аудиофильтр SID моделируется как реальный биквадратичный фильтр с двумя петлями интегратора. Движок был разработан на основе доступной информации о SID, выборке регистров OSC3 и ENV3, теории фильтров и тестировании.
Существует две основные разновидности чипа SID: 6581 и 8580. Они реализуют один и тот же API программирования, но их аналоговые части ведут себя по-разному. Отличия в основном заключаются в качестве ЦАП, комбинированных формах сигналов, смещениях напряжений внутри чипа и фильтра.
Благодаря инженерным решениям фильтр микросхем семейства 6581 оказался существенно нелинейным. Моделирование эффекта показывает, что искажение тесно связано с амплитудой звука на выходе фильтра верхних и нижних частот и возникает только на другой полуволне выходного сигнала. Можно видеть, что эффективная центральная частота фильтра смещается выше по спектру по мере увеличения амплитуды входного сигнала, и считается, что этот эффект является побочным эффектом экспоненциального отклика NMOS-инверторов, которые одновременно работают в качестве операционных усилителей на чипе 6581. Кроме того, искажения стабилизируются за счет инвертированной фазы выходного сигнала с полосой пропускания, что позволяет возникать некоторым искажениям во время обеих полуволн входного сигнала. Напротив, фильтр чипа 8580 был модернизирован и, похоже, ведет себя идеально.
Линейные фильтры reSID даже не пытаются имитировать нелинейный характер эмуляции 6581, а некоторые функции, такие как настройка OptimiseLevel, еще больше ухудшают качество фильтра, ограничивая верхнюю частоту фильтра всего лишь 4 кГц (оригинальные чипы могут задавать центральные частоты до 4 кГц). не менее 20 кГц на 6581 и 12 кГц на 8580). Была проделана работа по добавлению в движок симуляции искажений 6581. Она началась в 2007 году как патч, поддерживаемый Антти С. Ланкила. [1] и в итоге получил форк reSIDfp, включенный в качестве основного механизма эмуляции в libsidplayfp.
Последней официальной версией является 0.16, выпущенная 11 июня 2004 года, а предварительная версия reSID 1.0 была включена в VICE в 2010–2011 годах и с тех пор была исправлена другими. В предварительном выпуске представлены точные модели немонотонных цифро-аналоговых преобразователей и фильтров для модели 6581, где DAQ использовался для выборки выводов конденсатора SID с целью определения передаточной функции операционного усилителя. Он также включает ряд улучшений в эмуляции цифровых компонентов на уровне цикла, в частности, генераторов сигналов и огибающих, основанных на ревекторизованных фотографиях кристаллов. Позже была предпринята первая попытка правильно смоделировать фильтр 8580 и имитировать небольшой уровень искажений, который появляется в некоторых экстремальных условиях. В 2022 году Даг Лем вернулся к разработке нового репозитория, размещенного на GitHub, который должен стать официальным источником эмулятора SID reSID MOS6581 / MOS8580.
Внешние ссылки
[ редактировать ]- Страница загрузки ReSID
- Страница проекта эмулятора VICE
- Страница проекта libsidplayfp
- страница проекта reSID
Ссылки
[ редактировать ]- ^ Ланкила, Антти С. «Моделирование искажений фильтра ReSID» . Архивировано из оригинала 16 января 2012 г.