A los que preguntan sobre la trasladabilidad de esas composiciones para el OPLL / chip FM que parecen compartir SMS y MSX y otros, me gustaría ofrecerles mis divagaciones sobre el asunto. No prometo que sea nada particularmente interesante ni 100% exacto, pero bueno:
Aparte de las nomenclaturas especificas que podamos establecer, la mayoria de ordenadores y consolas de antaño hasta la llegada de la 5º GEN tenian algun tipo de chip que generaba o sintetizaba sonido en tiempo real en respuesta a una serie de comandos que se le podían enviar. En esto englobo cualquier tipo de tecnica que usasen, FM, o lo que fuese, porque, de cara a un programador que ejecute su codigo en la CPU, todo era cuestion de tener una rutina que mandase comandos al chip de sonido y dejar la generacion de sonido en sus manos.
Los que tengais experiencia con el uso de formatos "chiptune" de estos sistemas os habréis topado con NSFs, PSFs, SPCs, VGMs, KSSs, MODs, y un monton de formatos mas. A veces hay incluso varios por sistema.
Aquí me gustaría hacer hincapié en la diferencia entre formatos tipo VGM y los que emulan el sistema *al completo*.
VGM es un formato que empezó, creo, con la MegaDrive y luego fue expandido para soportar mas sistemas. Lo que hace es sencillamente grabar o registrar (log) en un archivo, todos los comandos que recibe uno de estos chips generadores de sonido, para luego poderlos enviar de nuevo al chip o una version emulada de este y así tener la musica otra vez. Si bien el formato empezó con MD y sus chips FM y PSG, hoy en dia existen incluso VGMs de practicamente cualquier sistema conteniendo cualquier chip, consolas, portatiles, arcades, micros, PC... (si, hay VGMs del PC-Speaker). Hay un monton de ejemplos en
http://www.VGMRips.netBasicamente han ido añadiendo al formato soporte para "logs" de cualquier chip que acepte comandos y escupa sonido. Es como una especie de MIDI de bajo nivel para los chips de sonido de los videojuegos clasicos, supongo.
Luego tambien hay formatos tipo tracker module, prevalentes en los micros de antaño, con los que no tengo mucha experiencia, y que eran creados como formatos para determinados programas de composicion o trackers, habitualmente hechos especificamente para las capacidades del hardware de turno. Así que habia trackers para Amiga, para Atari, etc. No estoy muy versado en esto. Hoy en dia los sceners siguen usando estos formatos y hay trackers y reproductores y emuladores en PC y otros sistemas.
En consolas modernas tenemos tambien los formatos de streaming PCM, que basicamente son como WAVs, MP3s y demás. Son formatos derivados de PCM, comprimidos, o no, de diferentes maneras. Los hay incluso basados en codificaciones populares como MP3, AAC u Ogg Vorbis, y sin duda pronto Opus tambien (formato de audio, nada que ver con la organizacion católica... espero xD). Todo esto ocurre practicamente a nivel de software, aunque supongo que algunos sistemas podrían incluir silicio especifico para decodificar alguno de estos formatos sin usar la CPU. Si bien hoy en dia el impacto de decodificar audio en CPU no es una preocupacion demasiado grande.
Pero, volviendo a los sistemas "con chip", aparte de VGM tambien estan los "formatos emulados",y estos son los mas variados y complejos.
Con formatos emulados basicamente la idea es hackear una ROM hasta que tengas un binario que contenga las rutinsas de reproduccion de musica, los datos de las secuencias y samples si los hay, y algun mecanismo para seleccionar qué musica ha de sonar. Una vez finalizado el laborioso proceso de "ripeo", se le da el resultado a un programa reproductor consistente en un emulador reducido del sistema de turno, sin salida grafica, mandos y cosas así... solo las partes del sistema necesarias para reproducir la musica.
Este tipo de acercamiento tiene sus ventajas y desventajas comparado con VGM allí donde VGM se puede usar.
Y esta es una de las cuestiones que quería poner de relevancia. Con VGM tu tienes que ejecutar el juego de alguna manera y loguear/grabar/registrar la corriente de comandos que la CPU manda al chip de sonido. Como cualquier grabacion, una vez hecha, es lo que es, la grabacion no contenie el codigo original que la produjo, igual que una foto no contiene a la persona que se ve en ella. Si quieres bucles, tienes que especificar los puntos donde ha de hacerse. O grabar tantos bucles como desees tener, aumentando el tamaño del log. Si ha habido algun problema de ejecucion o emulacion durante la grabacion, el resultado queda grabado tambien. Tambien, con curiosidades como lo de la "Totaka's Song", si no la grabaste, no va a salir, mientras que si tienes un formato tipo "xSF", puedes esperar durante mas bucles y acabará saliendo si tiene que salir.
@kusfo79 @Sexy MotherFucker Toda esta divagacion vino a cuento de lo que comentabais sobre ese tema FM de MSX de FF y su posible traslado a MS. Uno podría grabar la secuencia en VGM y simplemente poner un programa en la CPU que tome la secuencia pregrabada de la ROM y la pase al OPLL. Pero esto es muy ineficiente.
En el juego de MSX habrá unos datos de secuencia ordenado eficientemente en bloques y secciones, con repeticiones, aliteraciones, y quizá hasta separacion por instrumentos en un formato personalizado de Square y la correspondiente rutina que se encargará de interpretar dicho formato y producir la corriente de comandos para el OPLL. Las tecnicas que tenian que usar los programadores y compositores de la epoca ya no solo para componer algo que suene bien en la consola de turno, si no para hacer caber la musica en la ROM, eran muchas y muy variadas. Mas que una ciencia es un arte, y cada caso es diferente.