viernes 3 de febrero de 2012

Cuarto aniversario del blog

¡Ya llevo cuatro años dando la lata por aquí! Y espero seguir mucho tiempo. Gracias a todos los que leéis el blog y participáis con comentarios.

sábado 28 de enero de 2012

Montando un cartucho del QBIQS

Hace tiempo que tenía este vídeo, pero se me olvidó subirlo por aquí...


¿Cómo se fabrican los sueños?

sábado 21 de enero de 2012

KNT participa en #msxdev

El anuncio oficial ha tenido lugar hoy mismo en la feria de Nijmegen: KNT va a participar en el nuevo concurso #msxdev.


Eso significa que, según las reglas del concurso, la ROM no se podrá liberar hasta que el concurso termine, aunque posiblemente se pueda jugar en alguna RetroMadrid o RU antes de final de año... ¡y quién sabe si algo más! :D

No dejéis de visitar el sitio web del concurso (pinchando en el banner) para estar al tanto de los proyectos que se presenten.

viernes 13 de enero de 2012

Sigamos con la detección de FM en MSX

El verano pasado hablé sobre la detección de diferentes tarjetas de sonido FM en el MSX. Si bien todo lo allí indicado era correcto, merece la pena volver sobre el tema para corregir algunos puntos.

FM-PAC y MSX-Audio Bios

La MSX-Audio Bios es, como su propio nombre indica, una Bios para Music-Module, Moonsound y OPL3, que se encarga de simular la presencia de un FM-Pac y redirigir por software el uso del FM-Pac al correspondiente cartucho.

Si utilizamos cualquiera de estos cartuchos con esta Bios, estaremos detectando un FM-Pac cuando en realidad no es así, de forma que hay que volver a la rutina de detección para mejorarla un poco.

Echándole un vistazo a la entrada anterior, primero buscábamos un FM interno con la cadena "APRLOPLL" en $4018 y si no lo encontrábamos, buscábamos simplemente la presencia de la cadena "OPLL" en la dirección $401C. Esto es lo que puede traernos problemas, ya que la MSX-Audio Bios también presenta esta cadena en dicha dirección, pero es posible detectar que se trata de otra tarjeta en lugar de un FM-Pac, pues la cadena identificativa será:
  • AUD1OPLL para un Music-Module
  • AUD3OPLL para un cartucho OPL3
  • AUD4OPLL para una Moonsound
Por lo tanto, si en un slot detectamos la cadena OPLL pero se trata de una de estas tres cadenas identificativas, significa que hemos encontrado una MSX-Audio Bios y, por lo tanto, no un FM-Pac, con lo que habrá que seguir buscando.

OPL1 secundario

Al parecer es posible situar un segundo chip OPL1 en los puertos $C2 y $C3, de forma que tengamos dos chips OPL1 y podamos usarlos al mismo tiempo. Así que una buena idea a la hora de buscar los chips FM disponibles es comprobar si este segundo OPL1 está presente leyendo el puerto $C2 y comprobando si el resultado es 6. En mi caso, lo busco únicamente si el primero no está presente.

El emulador Open MSX permite simular este segundo OPL1, por si lo queréis probar.

Cartucho OPL3: Moonsound de pobres

Este cartucho realizado en Brasil también se llama "Moonsound de pobres" y está basado en un chip OPL3, que contiene la parte FM de una Moonsound. Es decir, se trata de una Moonsound que no tiene Wave Table. Pero a nosotros nos interesa sólo la parte FM, así que habrá que tenerlo en cuenta.

Detectar este cartucho es muy sencillo, ya que se hace igual que la Moonsound, sólo que buscando un 0 en el puerto $C0. Al igual que con el OPL1 secundario, yo lo que hago es buscar el OPL4 en $C4 y si no lo encuentro, entonces miro en $C0 y lo trato como si fuera un OPL4, pero con diferente puerto.

Si queréis probar este chip, hoy por hoy, el único emulador que permite utilizar este cartucho es el Open MSX.