Sintetizadores vintage en... ¿MAME?

BlahBlah
#1 por BlahBlah el 22/01/2018
Buenas,

supongo que muchos de vosotros conoceréis el MAME, el emulador de videojuegos de máquina recreativa. Y si no, deberíais:



El tema es que compilando una versión con unos cambios que necesité, me doy cuenta de que hay muchos chips de sonido emulados (lo cual es lógico porque algunos chips típicos de Yamaha por ejemplo, se usaban para juegos, especialmente los FM de 4-op). Hasta ahí ninguna novedad.

La sorpresa es cuando me he empezado a encontrar sintetizadores completos (sí, de los "nuestros") emulados en los fuentes.

No entiendo bien el motivo (supongo que en algún momento los incorporaron al MESS que fue fusionado con este) y tampoco la no visibilidad de estas emulaciones, pero el caso es que me ha servido incluso para ver detalles técnicos de las tripas de sintes como el Ensoniq SQ-80 / ESQ-1. Información técnica que, por cierto, no sé de dónde narices han sacado.

Ejemplos de estas emulaciones que he encontrado (supongo que habrá más pero es que son miles y miles de archivos):


/src/mame/drivers/esq1.cpp -> emulación Ensoniq ESQ-1/M/SQ-80
/src/mame/drivers/esqpanel.cpp -> emulación paneles familia Ensoniq (EPS-16/plus, SQ1, ESQ1/M, etc).
/src/mame/machine/esqvfd.cpp -> emulación display familia Ensoniq
/src/mame/etc/korgm1.cpp -> "esqueleto" de la emulación del Korg M1 (pendiente según el comentario del fuente de conseguir un volcado correcto de la ROM).

/src/mame/drivers/rd110.cpp -> Roland D-110
/src/mame/drivers/rmt32.cpp -> Roland MT-32
/src/mame/drivers/rsc55.cpp -> Roland SC-55
/src/mame/drivers/tb303.cpp -> Roland TB-303
/src/mame/drivers/tr606.cpp -> Roland TR-606
/src/mame/drivers/alesis.cpp -> Alesis HR16, SR16 y MMT8

/src/mame/drivers/cmi.cpp -> Fairlight CMI IIx (WTF!!!!)

/src/mame/drivers/prophet600.cpp -> Sequential Circuits Prophet 600

Muchas de estas emulaciones parecen ser solo el esqueleto ya que algunos de sus chips (por ejemplo los CEM/SSM) no parecen estar emulados al menos en la versión de MAME que yo manejo. Hay otros que sí están más completos (MAME usa una arquitectura modular en la que se han emulado por separado casi todos los chips habidos y por haber).

¿Alguien puede arrojar un poco más de luz sobre este asunto?


(Se hacen referencia en el archivo MAME.LST a estos otros de Ensoniq:

@source:esq1.cpp
esq1 // 1986 ESQ-1 Digital Wave Synthesizer
esqm // 1986 ESQ-M rack-mount ESQ-1
sq80 // 1988 SQ-80 Digital Wave Synthesizer

@source:esq5505.cpp
eps // 1988 EPS
eps16p // 1990 EPS 16 Plus
sd1 // 1990 SD-1
sd132 // 1991 SD-1 32
sq1 // 1990 SQ-1
sqrack // 1990 SQ-Rack
sq2 // 1991 SQ-2
vfx // 1989 VFX
vfxsd // 1989 VFX-SD

@source:esqasr.cpp
asr10 // 1992 ASR-10
asrx // 1997 ASR-X

@source:esqkt.cpp
kt76 // 1996 KT-76

@source:esqmr.cpp
mr61 // 1996 MR-61
mrrack // 1996 MR-Rack
)
Subir
Soyuz mod
#2 por Soyuz el 23/01/2018
Supongo que ya has visto que hay bastante documentación en github, por ejemplo: https://github.com/mamedev/mame/blob/master/src/mame/drivers/esq1.cpp
Subir
Blask
#3 por Blask el 24/01/2018
Joder, me parece interesantísimo esto... Menuda mina de emulaciones! 8-[

Si son completas (que no lo creo), la posibilidad de hacerse una "enciclopedia de sintes" con una Raspberry y un teclado controlador suena muy apetecible.
Subir
BlahBlah
#4 por BlahBlah el 24/01/2018
#3

Es posible que algunas estén muy avanzadas. El proyecto MAME y MESS se ha dedicado durante 20 años a emular cada componente digital por separado: todas las CPUs de 8 y 16 bits, todos los MCUs conocidos, toda la lógica TTL, convertidores DAC, chips de sonido YM y TI, chips de I/O como el 8255, MUX/DEMUX y un largo etc.

Con esa filosofía, crear la emulación de un nuevo aparato es solamente programar su esqueleto (que suelen ser los fuentes que ponen en la carpeta drivers) y agregar los ficheros con el volcado de las ROMs internas del dispositivo (así tienen más de 30.000 máquinas recreativas y ordenadores "vintage" entre otras cosas).

Muchos de nuestros sintetizadores no son muy diferentes en ese aspecto y solo se complicarían aquellos chips custom que no estén documentados, porque incluso los CEM y SSM tienen emulaciones escritas.
Subir
Blask
#5 por Blask el 24/01/2018
Pues dan muchas ganas de bucear un poco por ahí a ver qué se puede montar con todo eso!... :-k
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo