reSID es una emulación de software, obtenida mediante ingeniería inversa, del chip MOS6581 SID (Sound Interface Device), programado por Dag Lem. Este chip se utilizaba en el ordenador Commodore 64. reSID es software libre , publicado bajo la Licencia Pública General de GNU .
reSID es una biblioteca de C++ que contiene una emulación completa del chip SID. Esta biblioteca se puede integrar en programas que emulan la MPU MOS6510 para reproducir música creada para el ordenador Commodore 64. reSID se ha integrado en VICE (un emulador de Commodore 64 ), SIDPLAY (un reproductor de melodías SID) y en los secuenciadores GoatTracker y cheesecutter.
El motor de emulación se basa en ciclos, emulando las operaciones internas del chip SID . El filtro de audio de SID se modela como un filtro bicuadrático real de bucle de dos integradores. El motor se ha desarrollado a partir de la información disponible sobre SID, el muestreo de los registros OSC3 y ENV3, la teoría de filtros y las pruebas realizadas.
Existen dos variantes principales del chip SID: el 6581 y el 8580. Ambos implementan la misma API de programación, pero sus componentes analógicos se comportan de manera diferente. Las diferencias radican principalmente en la calidad de los convertidores digital-analógico (DAC), las formas de onda combinadas, las desviaciones de voltaje dentro del chip y el filtro.
Debido a las decisiones de ingeniería, el filtro de la familia de chips 6581 era significativamente no lineal. Las simulaciones del efecto indican que la distorsión está fuertemente ligada a la amplitud del sonido en las salidas de paso alto y paso banda del filtro, y ocurre solo en la otra mitad de la onda de la forma de onda de salida. Se observa que la frecuencia central efectiva del filtro se desplaza hacia frecuencias más altas en el espectro a medida que aumenta la amplitud de la forma de onda de entrada, y se cree que este efecto es un efecto secundario de la respuesta exponencial de los inversores NMOS que también funcionan como amplificadores operacionales en el chip 6581. Además, la distorsión se estabiliza mediante la fase invertida de la salida de paso banda, lo que permite que se produzca cierta distorsión durante ambas mitades de la onda de la forma de onda de entrada. En contraste, el filtro del chip 8580 fue rediseñado y parece comportarse de manera ideal.
Los filtros lineales de reSID ni siquiera intentan emular el carácter no lineal de la emulación del 6581, y algunas características, como la configuración OptimiseLevel, degradan aún más la calidad del filtro al limitar la frecuencia superior del filtro a tan solo 4 kHz (los chips originales pueden especificar frecuencias centrales de hasta al menos 20 kHz en el 6581 y 12 kHz en el 8580). Se ha trabajado para añadir la simulación de distorsión del 6581 al motor; comenzó en 2007 como un parche mantenido por Antti S. Lankila [ 1 ] y terminó con la bifurcación reSIDfp, incluida como el motor de emulación principal en libsidplayfp.
La última versión oficial es la 0.16, publicada el 11 de junio de 2004, mientras que una versión preliminar de reSID 1.0 se incluyó en VICE entre 2010 y 2011, y desde entonces ha sido parcheada por otros. Esta versión preliminar proporciona modelos precisos de convertidores D/A no monótonos y filtros para el modelo 6581, donde se ha utilizado un DAQ para muestrear los pines del condensador SID con el fin de calcular una función de transferencia de amplificador operacional. También incluye diversas mejoras en la emulación a nivel de ciclo de componentes digitales, en particular los generadores de forma de onda y envolvente, basadas en fotografías de chips revectorizadas. Posteriormente se realizó un primer intento para modelar correctamente el filtro 8580 y emular el ligero nivel de distorsión que aparece en algunas condiciones extremas. En 2022, Dag Lem retomó el desarrollo en un nuevo repositorio alojado en GitHub , que se convertirá en la fuente oficial del emulador SID reSID MOS6581/MOS8580.
Enlaces externos
- Página de descarga de ReSID
- Página del proyecto del emulador VICE
- Página del proyecto libsidplayfp
- Página del proyecto reSID
Referencias
- ↑ Lankila, Antti S. "Simulación de distorsión del filtro ReSID" . Archivado del original el 16 de enero de 2012.
- Música de Commodore 64