viernes, 30 de diciembre de 2011

Seguimos trabajando en KNT...

...y muestra de ello es esta imagen con la que queremos despedir el año 2011.

Coming soon

Desde aquí os deseamos que 2012 sea un gran año repleto de nuevos juegos para nuestros MSX.

sábado, 24 de diciembre de 2011

A vueltas con las páginas de los cartuchos

Una de las cosas más complicadas a la hora de programar para MSX es juguetear con los slots. Que si estás en un slot ampliado y tienes que tocar el registro de subslots, que si no hace falta, que si necesitas cambiar la página cero y no tienes la BIOS...

A partir de ahora asumamos que hablamos de una ROM que tiene definida la cabecera en la página 1 (en $4000). Cuando la BIOS del MSX detecta un cartucho ROM de este tipo, antes de saltar a la dirección de inicio, garantiza que la página 0 tendrá visible la BIOS, la página 1 el cartucho y la página 3 la RAM. El contenido de la página 2 queda indefinido y si lo necesitamos es nuestra labor el situarlo ahí.

Si este paso no se hace correctamente, cuando intentemos acceder a la parte del contenido de la ROM que no está en la página 1, vamos a encontrarnos con un bonito cuelgue, ya que vete a saber qué verá el Z80 en esa zona.

¿Cómo se hace esto? Pues de manera genérica lo que hay que hacer es averiguar qué slot (y subslot) está asignado a la página 1 y asignar el mismo slot (y subslot) en las páginas que necesitemos. Comencemos por lo fácil...

ROMS de 32K y megaroms

Desde este punto de vista los cartuchos de 32K y los megaroms se comportan igual: la ROM se sitúa en las páginas 1 y 2 (de $4000 a $BFFF). Así pues, en ambos casos tendremos que situar el slot donde está la ROM en la página 2 del Z80 (de $8000 a $BFFF).

En una ROM que no requiera mapper, lo primero que habría que hacer es comprobar si se ha cargado en RAM o no, porque si estamos cargando el juego en RAM (por ejemplo con ODO), el cargador ya se ha debido ocupar de situar correctamente la memoria. Podríamos pensar que no importa, que si situamos el slot correspondiente en la página 2 nos quedaremos como estábamos. ¡Pues no!

Algunos modelos de MSX tienen la RAM partida, es decir: los 32K superiores y los 32K inferiores no están en el mismo slot, sin ir más lejos el Toshiba HX-20. Por ese motivo, si situamos en la página 2 el mismo slot que está en la página 1 lo estaremos haciendo mal. Por lo tanto, si la ROM se ejecuta desde RAM, no habría que hacer nada en absoluto.

Los megaroms necesitan de un mapper para ser cargados en RAM y lo bueno de los mappers es que garantizan que toda la RAM está en el mismo slot. Así que si estamos desarrollando un megarom, no habría inconveniente en prescindir de la comprobación de si se está ejecutando desde RAM o ROM.

ROMS de 48K lineales

Las ROMS de 48K lineales presentan una dificultad añadida: la BIOS. Estas ROMS se mapean desde $0000 a $BFFF, por lo que hay que tocar las páginas 0 y 2. La página 2 no nos va a dar problemas para situarla, pero la página 0 sí, ya que no podemos utilizar la BIOS para situar dicha página, porque la BIOS está en esa página.

Por este motivo tendremos que realizar una rutina similar a la que se encuentra en la BIOS para poder ejecutarla desde, por ejemplo, la página 1 y así poder cambiar el contenido de la página 0 sin problemas. Además, si queremos poder activar y desactivar la BIOS, necesitaremos almacenar dos variables en RAM: la configuración de slots que apunta a la BIOS y la configuración de slots que apunta a nuestra ROM.

Y ahora... ¡os toca programar!

Bueno... no. ¿Para qué reinventar la rueda si otros ya lo hicieron antes? Es decir, esta es una de las cosas más complicadas de programar el MSX y una de las más ingratas, ya que... ¡no hace nada visible! Pero aún así sigue siendo fundamental.

Por eso, aquí tenéis las rutinas que utilizo en mis programas para situar las páginas de las ROMS. Están basadas en unas rutinas que hizo Ramones en su día, así que tampoco yo he inventado la rueda, sólo he añadido algunas cosillas (como el tema de si se ejecuta en RAM o en ROM).

La primera rutina se llama SETPAGES32K y bastará con hacer un call a la misma para que ella solita nos sitúe nuestra ROM en la página 2. Está en el archivo SETPAGES32K.ASM y no requiere de ninguna variable en RAM.

La segunda rutina se llama SETPAGES48K y el funcionamiento es similar. Está en el archivo SETPAGES48K.ASM y necesita cargar el archivo que contiene la otra rutina, así que si cambiáis el path, tendréis que modificar la línea donde se encuentra el INCLUDE correspondiente.

Además, en este archivo tendremos dos rutinas que también pueden resultar interesantes: RESTOREBIOS que nos devolverá la BIOS a su lugar y SETGAMEPAGE0, que nos volverá a situar la ROM en la página 0. Para ello es necesario reservar dos bytes en RAM donde almacenaremos la configuración de slots de la BIOS (SLOTBIOS) y de la ROM (SLOTGAME), algo que es necesario para que estas dos rutinas puedan cumplir con su cometido.

Espero que con estas ruedas no tengáis problemas a la hora de construir nuevos coches ;)

viernes, 23 de diciembre de 2011

¡¡25 años!!

Hace ya un cuarto de siglo que mis padres aparecieron en casa con una tele en blanco y negro y un ordenador. No sabían lo que hacían en aquel momento, pero con ese ordenador me abrieron un camino que aún hoy sigo.

Igualico, igualico a este

Ese ordenador aún sigue por aquí dando caña, aunque he tenido que cambiarle el teclado, ya que empezaron a fallarle algunas teclas. Entre otras cosas también es el culpable último de este blog, así que estos días toca echarse alguna partidita con él y que no se le olviden los buenos momentos que hemos pasado juntos.

¿Llegaremos a los 50 años? Por lo pronto el siguiente hito está en los 30, veremos qué pasa en 2016. Mientras tanto, ¡hay que seguir adelante con los proyectos que están en marcha!

miércoles, 21 de diciembre de 2011

Partida completa al QBIQS

Hydragon, webmaster de CheatMSX, ha grabado una partida completa al QBIQS, desde el nivel 0 al nivel 9, incluyendo el final bueno del juego. ¡Y sin usar continues!

Aquí tenéis el enlace a la playlist de los vídeos.

lunes, 19 de diciembre de 2011

Instalando el Midi-Pac

Estoy por aquí haciendo pruebas de sonido con el módulo Midi y algunos cartuchetes en el Turbo-R.

Primeras pruebas...

¡El sonido es alucinante! Además he metido la salida del TR al mezclador del Módulo Midi y se puede escuchar el FM y el PSG mezclándose con la melodía midi.

Lástima que la señal RGB del TR se esté yendo cada dos por tres y eso que el cable es nuevo (lo que indica que el cable que hice yo estaba bien). A ver si tiene arreglo, ya que otras consolas sí que se ven por RGB en la misma tele...

sábado, 17 de diciembre de 2011

FM + Midi

Ya tenía yo ganas de poder conectar esto...

¡Se avecinan maldades!

¡Toca disfrutar de los juegos con música FM como nunca antes habían sonado! :D

viernes, 16 de diciembre de 2011

Así viví la XL RU de MSX de Barcelona

El pasado sábado 10 de diciembre tuvo lugar la cuadragésima RU de MSX en Barcelona. Haciendo honor al número romano, la RU se celebró en un local más grande (vaaale, chiste maloooo) y mucho más céntrico.

Un local XL para la RU XL

Esta es la decimoquinta RU a la que asisto, desde la mítica XVIII RU de diciembre de 2000 (conocida como Salón del MSX) y para mí las reuniones de diciembre siempre tienen un encanto especial.

Comencemos por los stands

MSX-Area

El número 3 recien salido de imprenta

La única revista en papel que sigue dedicándose 100% al MSX ya va por su tercer número. ¿Lo tienes ya?

The Pets Mode

Pensando en un nuevo juego

Aquí tenemos el stand de The Pets Mode, autores del Hans Adventure que se podía comprar allí mismo siempre que lo hubieras reservado de antemano.

Ayuda al olvidadizo de Hans a escapar

MSX Calamar

¿Qué podemos comentar de MSX Calamar que no sepáis ya? Cables, disqueteras adaptadas... mucho hardware imprescindible para nuestros MSX.

Uno de esos cables RGB es mío ahora

Pues sí, algo podemos decir, ya que en el stand de MSX Calamar estaba ni más ni menos que el señor Manuel Dopico, presentando un CD de música con temas de Konami remasterizados.

Un disco a tener en cuenta

Un total de nueve canciones procedentes de ocho clásicos de Konami, ¡imprescindible!

TNI

Y aquí tenemos el stand de TNI donde, aparte de merchandising relacionado con el MSX (principalmente camisetas), presentaban dos proyectos bastante interesantes. El primero es el MoonSound Music Studio (también conocido como MS2). Se trata de una suite para crear músicas para la tarjeta Moonsound.

¿Listos para componer?

El otro proyecto es ni más ni menos que el Gauntlet para MSX2, del cual se está encargando k0ga. Basándose en el juego original los gráficos han sido retocados para darles más colorido, la música se ha realizado en FM y creo que incluso va a incluir samples para aquellos que tengamos Turbo-R. Lástima que no pudieran mostrarlo en todo su esplendor por un problemilla con el código.

También anunciaron un nuevo concurso de programación MSX para el año que viene: #msxdev. Aunque el nombre pueda sugerirlo, no tiene nada que ver con la MSX-Dev que se viene celebrando desde hace unos cuantos años ya. En breve habrá más información sobre dicho concurso.

Eloy Sola

Hardware MSX, software MSX, revistas MSX... ¡Aquí se podía encontrar de todo!

Seguro que encontrabas algo que te querías comprar...

Supersoniqs

Ya hemos hablado por aquí bastante de Supersoniqs, así que me ahorraré las presentaciones. Sander nos trajo la Playsoniq y el Midi-Pac y todos pudimos comprobar cómo suenan los juegos de MSX y Master System con música Midi.

Uno de esos Midi-Pac ahora también es mío :P

Alifort Chapas

¿No conoces Alifort Chapas? ¿No tienes ningún llavero o imán de nevera de MSX? ¿Ni siquiera una lámina de tu juego favorito? ¡No te pierdas su stand en la próxima RU! Uno de los clásicos de las RUs de Barcelona

Llaveros, imanes... ¡hazte con todos!

Aivalahostia

Uno de los stands que más visitaba la gente, atraida por el OneChipMSX artesanal que nos presentaban. En el número tres de la MSX-Area (¿cómo que no lo tienes aún?) hay un interesante artículo sobre cómo construirte tu propio OneChipMSX partiendo de una placa Altera DE1.

¡Pues el QBIQS funciona!


Y aquí tenemos al autor

Floppyderno

Una reciente incorporación a las RUs que va camino de convertirse en otro clásico: cuadernos cuyas tapas son floppies, multitud de personajes de tus videojuegos favoritos... ¡Un paraiso para los amantes de los videojuegos!

¡No se cuál escoger!

Pray for Japan

¿Quién puede olvidar el tsunami que sufrió Japón el 11 de Marzo? La asociación Pray 4 Japan montó un stand en el que los beneficios de las ventas irían directamente para ayudar a los damnificados por dicha catástrofe.

¿Y dónde estaba Z80ST-Software?

Por mi parte no puse stand, pero aproveché la oportunidad que la AAMSX ofreció a todos los asistentes para presentar cosas en la pantalla gigante. Aparte de la intro auténtica del KNT (de la cual ya circulan por ahí un par de fotos), mostré un par de cosillas en las que he trabajado últimamente:
  • Una versión del Vortex Tracker con soporte para el PSG de la Master System (y Colecovision). En estos momentos es totalmente funcional para componer módulos de 3 canales, pero necesita un poco más de trabajo para que al componer un multimódulo (dos módulos unidos para crear uno de seis canales) se pueda escuchar cada uno con un chip diferente.
  • ColePONG 512, que no es ni más ni menos que una versión del NeoPONG 512, pero para Colecovision.
En breve daré más información sobre estos proyectos.

Backstage

Aparte de ver o comprar las novedades, las RUs son momentos ideales para trazar planes...

¿Qué maldades nos preparan estos dos?

El tradicional concurso de las RUs se realizó en esta ocasión con el Heroes Arena de Imanok. Tras unas cuantas rondas eliminatorias se celebró la gran final...

Duelo en la cumbre

... de la que salió victorioso JuanMi, uno de los editores de MSX-Area, a quien vemos aquí recogiendo su premio: ¡una copia del Heroes Arena! (precisamente con la que se jugó el concurso)

And the cartridge goes to...

Conciertazo

Para terminar la RU, Crisis Alma dio un estupendo concierto basado en su disco "Retro Crisis vol. 1", donde versionan con guitarras eléctricas clásicos de Konami para MSX. Salamander, Gradius II, F1-Spirit y King's Valley II con un sonido estupendo.

Crisis Alma versionando a Konami.

Otro disco muy recomendable.

Conclusiones

Un diciembre más, una nueva cita imprescindible con la RU de MSX en Barcelona. ¡Y ya van 40! En el exterior de la sala se podían ver fotografías de pasadas reuniones y recordar viejos tiempos (que no tienen mucho que envidiar al estado actual de la escena).

Una pena que por uno u otro motivo faltase bastante gente a esta reunión. Se echó de menos a Konamito, Xenon, Aorante, Novi, RC-743, Kabish, Ramones... A ver si para la próxima podemos estar todos.

¡Un abrazo a todos!

Como ya dije, para mí las reuniones de diciembre tienen un encanto especial y hacen que la navidad tenga sabor a MSX. ¡Nos vemos el año que viene!

miércoles, 14 de diciembre de 2011

Un Z80 es un Z80...

...hasta colgado del espejo retrovisor de mi coche.


Hace mucho que os debía esta foto :D

lunes, 12 de diciembre de 2011

Encuesta: desbloquear final del QBIQS

Hola a todos:

El sábado, en la XL RU de MSX (de la que hablaré en breve) algunos me dijísteis que habíais terminado el nivel 9 del QBIQS, pero no habíais podido desbloquear el final bueno (para lo cual hace falta terminarse el juego del tirón).

Se me ocurre que se puede hacer un programa que flasheado en una tarjeta flash comprobase si se ha llegado al nivel 9 y desbloquease el final. ¿Estaríais interesados en dicho programita? Además, dicho programa actualizaría un par de bytes del código que provocan un curioso efecto. Obviamente, estaría destinado únicamente a quienes tengan el QBIQS en cartucho original.

La encuesta la mantendré activa hasta finales de año, podéis encontrarla en la columna superior derecha.

"Calidad" Sunrise...

Hace años compré a Sunrise una GFX-9000, la cual no llegaba, no llegaba... al cabo de los meses les volví a insistir por correo y me dijeron "ah, creía que la había mandado". Me llegó en una época en la que estaba demasiado agobiado con temas de trabajo y según me llegó la vendí.

Pensé que con los años habrían mejorado un poco, pero ya veo que no.

Hace un mes y medio saltó la noticia de que Sunrise iba a liquidar las pocas unidades que quedaban del Manbow 2 al apetecible precio de 12'50 euros más gastos de envío. Hablé con Ryback (el webmaster de MSX Basic Games para pedir dos a medias y así compartir gastos...

El caso es que tras unas cuantas semanas de espera, le llegaron los cartuchos a Ryback y me envió unas fotos que eran espeluznantes. Dejando aparte el hecho de que la pegatina del cartucho está fatalmente pegada y descentrada (el nombre del juego no cae en el lomo, donde debería estar) y que la caja está algo arrugada (al parecer no venía lo suficientemente bien protegida), lo más grave de todo es que el manual es más grande que la propia caja y está recortado a trasquilones.

Podéis apreciarlo en esta foto


Tal y como comenta Konamito en su blog una rebaja de precio no debe implicar una rebaja de calidad. Pero la calidad de los productos que está ofreciendo Sunrise deja mucho que desear. Aparte de que no se dignan a contestar a los correos que les enviamos con nuestras quejas.

Conmigo han perdido otro cliente.

lunes, 28 de noviembre de 2011

Intro del KNT en MSX1

SCREEN 8... ILLEGAL FUNCTION CALL

Imaginemos la situación, tenemos un bonito MSX2 y al intentar ejecutar SCREEN 8 obtenemos un curioso mensaje de error: ILLEGAL FUNCTION CALL.

¿Cómo? ¿Que no es posible? Pues lo cierto es que sí lo es. Y no sólo SCREEN 8, también sucedería lo mismo con SCREEN 7. Mirad este vídeo si no os lo creéis.

Todos estamos acostumbrados a trabajar con MSX2 que tengan, al menos, 128Kb de VRAM (digo al menos, porque se puede aumentar la memoria de vídeo hasta los 192Kb, pero eso es otra historia). Sin embargo, existen varios modelos de MSX2 con tan solo 64Kb de VRAM. Según la lista de hardware de la MSX faq, dichos modelos son:

Bien, en todos estos modelos cualquier intento de usar tanto SCREEN 7 como SCREEN 8 va a resultar en un bonito error. ¿Por qué? La respuesta la encontramos indagando un poco en la documentación técnica disponible (os recomiendo PORTAR).

Resulta que estos dos modos utilizan un total de 256 bytes por cada línea horizontal y por razones de velocidad la VRAM está direccionada de diferente forma: los 64K inferiores almacenan las direcciones pares y los 64K superiores almacenan las direcciones impares. De esta forma el controlador de vídeo puede incrementar las líneas de dirección inferiores a la misma velocidad de reloj que en los modos de 128 bytes por línea horizontal (como pudiera ser SCREEN 5).

Lo divertido del caso es que esto se hace de forma totalmente transparente para el programador. Todo el cambio de direcciones se realiza por hardware, sin que nosotros tengamos necesidad de saber ese comportamiento. Bien. Con esta pequeña explicación, habréis deducido que si sólo tenemos 64Kb de VRAM, por mucho que el hardware intente entrelazar la imagen, todos los bytes impares no podrán escribirse, con lo que el VDP debería leer $FF y tendríamos una bonita pantalla llena de líneas verticales en blanco entrelazadas con nuestra imagen.

El BASIC, que es más inteligente de lo que parece, chequea una variable que la BIOS ha calculado para comprobar cuanta VRAM hay. Si sólo hay 64Kb de VRAM no permite activar ninguno de estos modos, por lo que en un MSX2 con 64Kb de VRAM sólo tenemos los modos de vídeo del 0 al 6.

Las preguntas que surgen ahora son, ¿qué pasaría si le decimos al VDP que construya una imagen tomando los datos de la VRAM que no existe? ¿Lee 255 y nos muestra una imagen en blanco? Pues lo que sucede es, ni más ni menos que lo que se puede ver en este vídeo.

¡Flipante! El VDP se arma un lío tremendo y nos muestra una imagen que va cambiando de forma constante. Aunque tiene algunos patrones, no hemos podido averiguar por qué sale eso en concreto. No cambia ni aunque haya una imagen en la página 0, sólo alguno de los colores, que lo toma del segundo parámetro que utilicemos en la instrucción COLOR.

Es hora de probarlo

Pues nada, sólo tenéis que coger vuestro MSX2 con 64Kb de VRAM y prob... ¿qué? ¿Que no tenéis un MSX2 con sólo 64Kb de VRAM? Bueno, pues caben dos opciones: quitarle los chips de VRAM de los 64Kb superiores o bien usar un emulador... ¿O no? Probemos con los dos emuladores más populares: BlueMSX y OpenMSX. Crearemos una máquina MSX2 con sólo 64Kb de VRAM y veremos si al ejecutar SCREEN 8 obtenemos un bonito ILLEGAL FUNCTION CALL.

¡Vamos a por BlueMSX!

Probemos primero con BlueMSX. ¡Anda! ¡Pero si me deja ejecutar SCREEN 8! No, no os he estado engañando. Si volvemos a arrancar la máquina, lo primero que nos llama la atención es que en el arranque del MSX2, bajo el logo, veremos perfectamente que la máquina tiene 128Kb de VRAM, cuando en realidad le hemos dicho que debe tener 64Kb.

¿Por qué? Resulta que el BlueMSX emula los 64Kb de VRAM haciendo mirroring de los 64Kb inferiores en los superiores. Esto significa que si escribimos en cualquiera de esos dos bancos, en realidad estamos escribiendo en ambos a la vez. Por este motivo la BIOS se cree que hay 128Kb de VRAM y así actualiza sus variables, pero esos 64Kb superiores simplemente son una copia de los inferiores.

Sí, podemos usar SCREEN 8, pero es algo totalmente ilegible. Para poder comprobarlo utilizad el siguiente código en BASIC:

10 COLOR 15,0,0:SCREEN 8
20 OPEN "GRP:" AS#1
30 COLOR 255
40 PSET (0,0),0
50 PRINT#1,"HELLO WORLD!"
60 GOTO 60

Mientras que en un ordenador real con 64Kb de VRAM este código no funciona porque nos da un error en la línea 10 (al intentar ejecutar SCREEN 8), en el BlueMSX sí que funciona, aunque el resultado no es legible. Probad el mismo listado con SCREEN 7 (cambiando la línea 30 por "COLOR 15", obviamente) y veréis que sucede algo similar. En un MSX2 (o superior) con 128Kb de VRAM este programa funciona como se supone debe hacer.

Y ahora Open MSX

Probemos en Open MSX 0.8.1 (la última versión disponible). Nos creamos una máquina con 64Kb de VRAM y ¡maravilla! ¡En el arranque se detectan sólo 64Kb de VRAM! Tecleamos SCREEN 7 y obtenemos el error. Con SCREEN 8 nos pasa lo mismo. Nunca un error del BASIC había originado tantas alegrías.

Resumiendo: existen (al menos) cinco modelos de MSX2 con sólo 64Kb de VRAM. En dichos modelos no podemos contar ni con SCREEN 7 ni con SCREEN 8. Si estamos realizando algún juego que vaya a usar esos screens, o que requiera 128Kb de VRAM, deberemos tener en cuenta su existencia y si queremos ser puristas, en caso de que no haya VRAM suficiente adaptarse (como hace QBIQS) o mostrar un mensaje de error.

También hay que tener en cuenta que BlueMSX está emulando de forma incorrecta los 64Kb de VRAM, ya que, como hemos comprobado, cuando intentamos visualizar el contenido de los 64Kb superiores en el Hitachi MB-H3, obtenemos una imagen bastante extraña. Eso nos permite concluir que este modelo no hace un mirroring completo de los 64Kb inferiores en los superiores.

Nuevamente quiero agradecer a BiFiMSX su ayuda sobre este tema. También a él le debemos que C-BIOS realice correctamente la detección de los 64Kb de VRAM, algo que hizo tras una charla que mantuvimos al descubrir que el QBIQS en C-BIOS con 64Kb de VRAM no funcionaba como es debido. También he de agradecer a JLTurSan que me haya prestado su flamante Hitachi MB-H3 para hacer las pruebas sobre la máquina real.

martes, 22 de noviembre de 2011

Plantilla para cajas de cartuchos

Nuestro amigo RC-743 ha realizado una estupenda plantilla para que podamos hacer cajas para nuestros cartuchos de MSX. Tiene la medida perfecta para que quepa dentro el cartucho, de forma que no tengamos que hacer un cajoncito extra para meterlo.

Pinchad sobre la imagen para descargaros la plantilla y, si os gusta, no dejéis de darle las gracias a su autor.

domingo, 20 de noviembre de 2011

Programando para COLECOVISION

La consola COLECOVISION fue la propuesta de COLECO al boom de las consolas. Vio la luz en 1982 y en sus apenas dos años de vida comercial vendió más de seis millones de unidades.

La COLECOVISION nos ofrece un hardware muy muy similar al del MSX1, ya que comparte con éste CPU y VDP. El sonido lo genera con el SN76489 de Texas Instruments, que es el mismo que podemos encontrar en la Sega Master System, aunque esto dará para otra historia ;)

Aunque la CPU y el VDP son idénticos, no funcionan exactamente igual en ambos sistemas, por lo que hay que tener en cuenta los siguientes puntos importantes:
  • RAM: la norma MSX dicta que la mínima cantidad de RAM disponible en un MSX1 ha de ser de 8kb, situadas en el área desde $E000 a $FFFF. En la COLECOVISION tenemos única y exclusivamente 1kb de RAM, situada en la zona entre $7000 y $73FF, aunque también puede accederse en otras áreas que forman un mirror de esta zona de memoria.
  • Ubicación de la ROM: en MSX lo normal es que las ROMS de 32k se sitúen en la zona de memoria desde $4000 hasta $BFFF, aunque como ya sabemos todos, gracias al sistema de slots del MSX es posible situar las ROMS prácticamente en cualquier dirección. Sin embargo, en COLECOVISION la ROM sólo puede situarse en los 32kb superiores: de $8000 a $FFFF.
  • Interrupciones: en el MSX no tenemos NMI, es decir, todas las interrupciones que se generan son enmascarables. En la COLECOVISION parece ser todo lo contrario. La interrupción de blanqueo vertical (producida por el VDP cada vez que se termina de dibujar un frame) es una NMI. No he encontrado información sobre si se pueden producir otro tipo de interrupciones enmascarables, así que por el momento las podemos ignorar. Esto, que parece poco, significa que las instrucciones DI y EI no van a desactivar las interrupciones del VDP, por lo que habrá que utilizar el bit 5 del registro R#1 del VDP para controlar las interrupciones (si está a 0, el VDP no generará interrupciones).
  • Acceso al VDP: en MSX la norma dicta que las direcciones de acceso al VDP han de leerse de los bytes 6 y 7 de la BIOS. En COLECOVISION el VDP se sitúa en varios puertos, pero lo normal es acceder a través de los puertos $BE y $BF. Esto equivaldría a tener una BIOS en MSX en la que en las direcciones 6 y 7 tuviéramos el valor $BE.
Pasemos ahora a ver la estructura de la cabecera de una ROM de COLECOVISION:
  • $8000: contiene dos bytes que pueden ser $AA y $55 o bien $55 y $AA. La diferencia es que en el primer caso se mostrará la pantalla de presentación de COLECO y en el segundo caso no.
  • $8002: Puntero a una copia en RAM de la tabla de atributos de sprites (*)
  • $8004: Puntero a una tabla de prioridades de sprites (*)
  • $8006: Puntero a un buffer libre en RAM (*)
  • $8008: Puntero a una zona de memoria (12 bytes) para gestionar los controles (*)
  • $800A: Puntero al inicio del juego
  • $800C a $8020: aquí lo que hay que situar es el código que será ejecutado cada vez que se haga un RST. En la BIOS de la COLECOVISION, en las direcciones a las que se puede hacer RST ($0008, $0010, $0018, $0020, $0028, $0030 y $0038) encontramos saltos incondicionales a esta zona. Tenemos 3 bytes para cada RST, por lo que si necesitamos utilizar alguno de ellos, pondremos un JP a la rutina necesaria (tres bytes), mientras que si no lo necesitamos, podemos poner un RET (y un par de NOPs para rellenar). Concretamente las direcciones de salto para cada RST son:
    • RST $08: $800C
    • RST $10: $800F
    • RST $18: $8012
    • RST $20: $8015
    • RST $28: $8018
    • RST $30: $801B
    • RST $38: $801E
  • $8021: aquí situaremos el código a ejecutar (máximo 3 bytes) cuando se produzca una NMI. Recordemos que en la COLECOVISION se produce una NMI cuando el VDP termina de dibujar un frame, por lo que aquí deberíamos situar un salto incondicional a la rutina de tratamiento de interrupciones.
  • $8024: aquí situaremos una cadena identificativa del juego, que será la que se mostrará en la pantalla de presentación de COLECO (si los dos primeros bytes de la ROM son $AA y $55). El formato de la cadena será:

    LINEA 2 / LINEA 1 / AÑO (4 dígitos)

    y la pantalla de presentación quedaría parecido a esto:

    COLECOVISION

    PRESENTS

    LINEA 1

    LINEA 2

    AÑO
Los punteros marcados con (*) o bien serán 0 o bien apuntarán a zonas de RAM, en cuyo caso serán usados por la BIOS de la COLECOVISION.

Por el momento ya tenéis información suficiente como para intentar hacer una pequeña ROM para COLECOVISION, como por ejemplo el clásico "HOLA MUNDO". En un futuro post veremos cómo leer los controles y las diferencias entre el AY-3-8910 (el PSG del MSX) y el SN76489 (el PSG de la COLECOVISION y la Sega Master System).

El emulador que os recomiendo para trabajar con la COLECOVISION no es otro que el mismísimo BlueMSX. ¡Buen provecho!

martes, 8 de noviembre de 2011

Cuadragésima RU de Barcelona: 20 años disfrutando el MSX


El próximo 10 de Diciembre de 2011 se celebrará la cuadragésima Reunión de Usuarios de MSX en Barcelona (RU para los iniciados), que será una edición especial dedicada al vigésimo aniversario de esas reuniones.

En esta ocasión la reunión se aleja de Cotxeres para instalarse en un nuevo espacio, concretamente en la Sala de actos del Centro la fontana, en C/ Gran de Gracia número 190, al lado de la parada de metro de Fontana, L3. La apertura al público será a las 11 de la mañana, aunque los expositores podrán entrar desde una hora antes para montar sus stands.

Es un evento importante para todos los aficionados al MSX. Si vas a estar por Barcelona el 10 de Diciembre, ¡NO TIENES EXCUSA PARA NO ASISTIR! Para más información, pinchad sobre la imagen para ir a la web de la AAMSX.

Por mi parte, espero poder asistir a la reunión, aunque no pondré stand. Eso sí, si voy igual cae alguna sorpresita que otra ;)

jueves, 27 de octubre de 2011

Otro más que se nos va...

En apenas unas semanas los aficionados a la informática nos hemos tenido que despedir de tres figuras importantes en la historia de la informática.

En esta ocasión despedimos a John McCarthy, creador del lenguaje Lisp y precursor de la Inteligencia Artificial (de hecho fue quien acuñó dicho término allá por los años 50), que murió el pasado lunes a la edad de 84 años.

miércoles, 19 de octubre de 2011

Are you Baka enough?

Todo héroe tiene a alguien detrás metiendo la pata

En nuestro caso, Kaba tiene un hermano que, como su nombre sugiere, siempre está haciendo trastadas y le toca a Kaba remediarlas.

viernes, 14 de octubre de 2011

Otro grande se nos ha ido

Dennis Ritchie, que colaboró en la creación de dos grandes productos informáticos: UNIX y C (ahí es nada) también nos ha dejado esta semana pasada. Todo lo que se diga de él es poco, así que mejor decir poco que intentar ser extenso y seguir quedándose corto.

Descanse en paz.

jueves, 6 de octubre de 2011

Se nos fue un genio

Desde un garaje y con algo tan tosco como el Apple I, hasta una de las mayores empresas de la historia de la informática y con gadgets que hoy por hoy representan el summun en diseño.

Apple I junto al Altair 8800 en el museo de Historia Americana de Washington DC

Descansa en paz Steve Jobs

viernes, 30 de septiembre de 2011

KNT se escribe con K...

...de Kaba...

miércoles, 24 de agosto de 2011

Demo del protracker

En el anterior post hablábamos sobre detectar la presencia de diferentes tarjetas de sonido FM en los MSX y ya va siendo hora de enseñar como funciona ese replayer. Dicen que una imagen vale más que mil palabras, y que un vídeo vale más que mil imágenes. Pues yo digo que una demo vale incluso más, así que he preparado una rom con el replayer y un módulo de xenon, quien amablemente lo ha ofrecido para la demo.

La ROM funciona perfectamente en los emuladores y en los MSX reales, en los que recomiendo cargarla con ODO. Lo primero es indicar que la demo va a mostrarnos un escueto mensaje por pantalla indicándonos si no hubiera FM. En caso de que haya FM veremos el título de la canción "ANALOGY2". No es interactiva, por lo que será necesario apagar la máquina para salir de ella.

En segundo lugar hay que saber que la demo buscará el FM-PAC, la MoonSound y el Music Module, para seleccionar la tarjeta más adecuada precisamente en ese orden. Es decir, si queremos escuchar el sonido en la MoonSound, no deberá haber un FM-PAC conectado. Y si queremos escucharla en un Music Module, ni FM-PAC ni MoonSound.

Llegados a este punto, quizá alguno se sorprenda de que la ROM tenga un tamaño de 48Kb, cuando podría caber perfectamente en unos 8K. ¡Es cierto!

He querido aprovechar la ocasión para ir un paso más allá y presentar una rom un tanto especial. Se trata de una rom híbrida MSX/Sega Master System. Si renombráis el archivo de .ROM a .SMS y lo cargáis en vuestro emulador de Master System favorito, seguirá funcionando. Por eso la ROM es de 48K, ya que es la única medida de ROM que coincide en ambos sistemas de forma sencilla.

En futuros posts iré explicando cómo crear estas roms híbridas y un poco del funcionamiento de la Master System. Aparte, incluiré también el código del replayer (con detección de OPLL incluso en la Master System).

Es un primer paso hacia el desarrollo de juegos para la tarjeta Franky que, como no cuesta mucho, también los haré compatibles con Master System :D



martes, 9 de agosto de 2011

Sobre detección de FM en los MSX

¡No paramos durante las vacaciones!

Llevo unos días dándole caña a un replayer de música FM para el KNT y ya está listo y sonando a la perfección. Se trata del Protracker, creado en 1991 por Tyfoon-Software y que ha sido usado en producciones anteriores como Eggbert.

Este replayer permite la reproducción de música en FM tanto a través del FM-Pac como a través del Music Module (aunque no al mismo tiempo). Ahora, tras toquetearlo levemente, permite también reproducir la música a través de la MoonSound, con lo que podremos elegir con qué tarjeta reproducir la música.

¿Por qué es esto posible?

El caso es que como el FM no está incluído en todos los MSX, lo primero que hay que hacer es buscarlo. Por lo tanto hoy veremos cómo detectar las tres tarjetas mencionadas, así como las similitudes entre la parte FM del Music-Module y la MoonSound. En un próximo post pondré a vuestra disposición el replayer y las instrucciones para su manejo.

Detectando el FM-Pac

Comencemos por el FM-Pac. Esta expansión, también conocida como MSX-Music, consiste en un chip Yamaha YM2413 u OPLL. Apareció en 1987 como una extensión propietaria de Panasonic, no en vano los Turbo-R y la mayoría de los MSX2+ cuentan con dicha extensión.

Posiblemente muchos hayáis experimentado problemas a la hora de escuchar músicas FM con FM-Pac externo, mientras que con uno interno todo va de perlas. ¿Por qué? Esto es debido a que el FM-Pac externo necesita ser inicializado, mientras que el interno ya lo está desde el principio.

Por ello es necesario realizar una correcta búsqueda del OPLL y si es externo proceder a su inicialización. Veamos cómo encontrarlo gracias al contenido de la memoria de su propio firmware.

En el FM-Pac interno se puede encontrar la cadena "APRLOPLL" en la dirección $4018. ¿Por qué "APRL"? Pues es un misterio, pero el caso es que es así. Lo primero que deberemos hacer es buscar por todos los slots y subslots dicha cadena en esa dirección. Si la encontramos sabremos con seguridad que hay un OPLL interno que no necesita ser inicializado, con lo que nuestro trabajo habrá concluído.

El FM-Pac externo puede tener diferentes cadenas de identificación, pero lo que es seguro es que aparecerá "OPLL" en la dirección $401C. Así pues lo mismo que antes: buscamos "OPLL" en esa dirección por todos los slots y subslots disponibles. Cuando lo hayamos encontrado tendremos que inicializar el FM. Esto es muy sencillo, ya que basta con poner a 1 el bit de menor peso de la dirección $7FF6 del slot donde hayamos encontrado el FM externo.

Bien, ya sabemos como encontrar el FM-Pac, sabemos si es interno o externo y en este caso lo hemos inicializado. Ya podemos utilizarlo a través de los puertos $7C y $7D.

Detectando el Music-Module

El MSX-Audio es un estándar basado en el Yamaha 8950 también conocido como OPL1, pues la parte de FM es compatible con el YM3526. Es una extensión anterior al FM-Pac, aunque más versátil que ésta. Hay varios cartuchos que cumplen este estándar, aunque el más conocido en Europa es el Music-Module de Philips.

La detección del Music-Module (y de cualquier cartucho del estándar MSX-Audio) es muchísimo más sencilla, ya que basta con leer el contenido del puerto $C0 y comprobar si es 6. En tal caso estaremos ante un Music-Module. Si tiene cualquier otro valor, entonces no es un Music-Module, pero... ¿puede ser otra cosa? Sí.

Resulta que las MoonSound a partir de la v2 cuentan con un jumper (el JP1 para más señas) que permite añadir el rango de puertos $C0-$C3 (aquellos que utiliza el Music-Module) para aparentar ser un Music-Module. En tal caso, si tenemos una MoonSound con el JP1 activado para añadir ese rango de puertos, en $C0 leeremos un 0 en lugar de un 6.

Así pues si lo que queremos es detectar un Music-Module para FM, deberemos leer el contenido del puerto $C0 y:
  • si es 6 tenemos un Music-Module real

  • si es 0 tenemos una MoonSound con el rango de puertos $C0-$C3 activado

En cualquiera de los dos casos, podremos utilizar el chip de sonido de igual manera como si de un Music-Module se tratase, pero sólo la parte de FM, ya que la MoonSound no permitiría el uso del ADPCM que trae el Music-Module... pero aquí estamos hablando sólo de FM.

Detectando la MoonSound

La MoonSound es una tarjeta de sonido creada por Sunrise en 1995 y basada en el OPL4 de Yamaha. Este chip es 100% compatible con los OPL1, OPL2 y OPL3, lo cual permite que cualquier software que utilice la parte FM del OPL1 (es decir, que use la parte FM del Music-Module) podrá ser utilizado directamente (o casi) con esta tarjeta.

Pasemos a detectarla. Seguro que tras leer el anterior apartado, a muchos se les ha ocurrido cómo realizar la detección de una MoonSound. Bastaría con leer el contenido del primer puerto de entrada salida normal de la MoonSound y comprobar que es un 0. ¡Exacto!

La MoonSound se sitúa en los puertos $C4-$C7, así que basta con leer el contenido de $C4 y si es 0 estamos ante una MoonSound, con independencia de si tenemos el JP1 activado (o de si tenemos una MoonSound v1 que carece de esa posibilidad).

Un replayer... tres chips

El replayer del Protracker está preparado para trabajar con FM-Pac y Music-Module ya de serie. Basta con cambiar el valor de una de sus variables para que la salida la realice por uno u otro chip, aunque no es posible cambiarlo al vuelo, ya que todo se configura para el chip deseado.

¿Cómo añadir el soporte para la MoonSound? Pues dado que la parte FM de la MoonSound es directamente compatible con la parte FM del Music-Module, basta con detectar la presencia de la MoonSound y retocar ligeramente la rutina que se encarga de escribir en el Music-Module. Dicha rutina realiza escrituras en los puertos $C0 y $C1, que en el caso de la MoonSound deberán ir a los puertos $C4 y $C5 respectivamente.

Con esta sencilla operación el Protracker es ahora capaz de reproducir sonido en la MoonSound. Algo para lo que no estaba pensado pues se programó con anterioridad a la existencia de la MoonSound.

Y con esto terminamos por ahora. Los más impacientes ya tienen tarea por delante: intentar detectar cada una de las tarjetas por su propia cuenta, la más complicada es el FM-Pac porque las otras dos son muy sencillitas.

Los más comodones deberán esperar a un próximo post donde pondré a vuestra disposición el código del replayer convertido a sintáxis del asMSX, incluyendo todo el tema de la detección y uso de los chips y que puede, además, ser utilizado desde ROM y no sólo desde RAM como el original. Algo que espero os sea útil si queréis incluirlo en algún juego.

Quiero agradecer tanto a BiFiMSX como a GuyveR800 su ayuda sobre el tema de la detección de las diferentes tarjetas de sonido, así como sus consejos para adaptar el replayer del Protracker.

miércoles, 20 de julio de 2011

Portadas para la BSO del QBIQS

A sugerencia de Konamito, aparte de la BSO en MP3 están disponibles las portadas de CD por si queréis grabaros la BSO en uno.


Ambas imágenes tienen ya las medidas adecuadas para una caja de CD estándar y están a 150ppp.

jueves, 7 de julio de 2011

Más pixelblocks: ¡Joe!

Y aquí están las fotos que saqué al protagonista del Parachuteless Joe, haciendo sky surf (sin paracaídas, como está mandado en su juego) por los cielos de Madrid.

Sobrevolando la M-30 y la A-6

Sky surf sobre las Cuatro Torres de Madrid (que en ese momento estaban aún en construcción)

Pero no todo es Sky surf en esta vida, así que aquí le vemos bajando hacia la Biblioteca de la Facultad de Geografía

Los próximos personajes que aparecerán por aquí serán, precisamente, las naves del QBIQS, ya que si os fijáis, la portada está basada en una foto de los modelos pixelblockizados de las naves. Pero las fotos individuales aún no están hechas, así que un poco de paciencia.

Pixelblocks MSXeros: Malaika

Haciendo limpieza de cuentas, he cancelado la cuenta que tenía en Yahoo, porque hacía años que no la usaba. Si la mantenía era por seguir usando Flickr, pero hace también mucho que no lo actualizo así que ¡fuera!

Antes de hacerlo he rescatado las fotos que hice de personajes MSXeros con pixelblocks. Aquí os dejo unas fotillos que saqué al primero que monté hace cuatro años: Malaika.

¿Recordáis a Malaika?

Aquí la podemos ver bajo una "luna" artificial :D

Y para finalizar un picado en primer plano

Iré haciendo más personajillos y los iré poniendo por aquí. En breve otro post con más pixelblocks :D

martes, 5 de julio de 2011

Arqueología homebrew

Revisando algunas cosas que rescaté de casa de mis padres hace unos meses, me he encontrado con un proyecto de carátula que hice hará unos 20 años para un juego de MSX.


Creo recordar que la idea era hacer un programa para poder jugar varias personas a los dados, llevando las cuentas, lanzando los dados, etc.

Pensándolo bien, ahora está de moda eso que llaman "juegos sociales". ¿Por qué no hacer un juego de tablero para MSX? Que conste que ideas (¡y gráficos!) ya hay :D

viernes, 1 de julio de 2011

NEXTOR: un nuevo S.O. de disco para MSX

El bueno de Konamiman sigue trabajando en la sombra produciendo utilidades para nuestros MSX. Su última producción (aún en estado Alpha) se trata de, ni más ni menos, todo un sistema operativo de disco.

El sistema incluye, entre otras cosas, soporte nativo para FAT16 y permite arrancar desde un disco formateado con dicho formato. Ofrece facilidades para añadir nuevos drivers y lleva MSX-DOS1 incorporado por si la máquina donde arranque no tiene memoria mapeada (o deseamos usar ese sistema).

Para más información podéis dirigiros a la página del proyecto.

lunes, 27 de junio de 2011

Una nueva utilidad: Polka! Color Changer

Polka! Es un conocido editor de tiles para MSX, que permite crear de forma sencilla tiles para Screen 2 y Screen 4 respetando las restricciones gráficas de dichos modos.

Sin embargo, una cosa que no permite hacer (y que resulta útil en ocasiones) es poder mover los colores dentro de la paleta. Esto es imprescindible cuando estamos haciendo un juego para MSX2 y queremos usar los sprites multicolores, ya que la combinación de colores depende de los índices de éstos en la paleta.

Para eso he creado Polka! Color Changer. Con este programa podemos cambiar los índices de los colores dentro de un fichero Polka! y obtener un nuevo fichero que visualmente es idéntico, pero tiene la paleta reordenada a nuestro gusto. Veamos un ejemplo de su uso.

Partimos de un fichero Polka! como el siguiente:


Y ejecutamos PCC para invertir el orden de los colores salvo el color 0. Es decir, el 1 pasará a ser el 15, el 2 el 14... y así sucesivamente.


Tras cargar y modificar el fichero, cargamos el nuevo fichero Polka! obtenido


y vemos que el resultado es el deseado.

Tenéis el fichero para su descarga directa en la página de utilidades. Como siempre, cualquier comentario o sugerencia será bienvenido. Espero que os guste.

28º aniversario del MSX

Hoy el estándar MSX cumple 28 añitos. ¡Y aún sigue dando guerra!

Va quedando poco para los 30, a ver hasta dónde llegamos :D

jueves, 23 de junio de 2011

¿Combinación?

¿A nadie se le ha ocurrido aún probar a combinar QBIQS con otro juego de temática similar? ¡Que lleva ya 10 meses disponible! :D

Aprovecho la ocasión para deciros que os bajéis la última versión de la ROM de la página del juego. Se corrige un pequeño bug que no afecta a la jugabilidad y que resulta muy curioso.

lunes, 20 de junio de 2011

QBIQS a la venta en la MSX Cartridge Shop

Ya se puede adquirir el cartucho del QBIQS a través de la MSX Cartridge Shop.

¿A que queda genial?

¿A qué estáis esperando? :D

miércoles, 1 de junio de 2011

Más sorpresas para la RU del sábado

Pues aquí está una de las sorpresas gordas: el QBIQS estará a la venta en cartucho en la XXXIX RU de Barcelona al precio de 20 euros. Los extras que trae son:
  • Sistema de grabación de progreso en la flash.
  • Samples adicionales en el modo 2 jugadores.
  • Incluye como bonus el NeoPONG512 que también trae algún que otro extra :)
Tendré allí el 1chipMSX para que todo el que lo compre pueda probarlo in-situ. Por cierto, en la sección de juegos he añadido más información sobre el QBIQS, así como la última versión de la ROM (sin extras) del juego.

Y aún habrá alguna que otra cosa en mi stand. Sólo adelantaré que se trata de un algo musical que está medio terminado.

viernes, 27 de mayo de 2011

Un sistema de recuperación de datos para QBIQS

Esto se está acabando, señores...

La versión cartucho del QBIQS incluye, aparte de un par de extras, un sistema de grabación del récord y de las pantallas desbloqueadas. Aprovechando la cantidad de espacio disponible, en lugar de permitir una única grabación, el cartucho puede almacenar hasta 2048 grabaciones sin necesidad de borrarlas.

Gracias a eso, he podido realizar un sistema de recuperación de datos grabados. Si en algún momento algo interrumpiese la grabación (se va la luz, se apaga el ordenador, las moscas vuelan con gabardina...) la siguiente vez que arranquemos el juego, el sistema va a detectar los datos corruptos y buscará en el historial los datos correctos más recientes que haya. De esta forma podemos perder lo último grabado, pero se recuperará lo anterior.

Así se minimiza el riesgo de perderlo todo... lo que supondría que se bloqueasen de nuevo todos los niveles y que el récord cayese a 0. Si esto llega a ocurrir sólo queda una opción: ¡empezar de nuevo!

jueves, 26 de mayo de 2011

Sorpresillas para la RU de Barcelona

Como es costumbre el sábado de la semana que viene habrá alguna que otra sorpresa en mi stand de la XXXIX RU de Barcelona. De momento no puedo desvelarlas todas, pero una de las cosas que se podrán ver (y jugar) allí no es ni más ni menos que una beta del VVVVVV de la que ya hablé hace unos días. Aquí podéis ver el juego en marcha.

Para que veáis que no hay ni trampa ni cartón y que el juego corre en un MSX1, lo pondré en el HX-10 a 60hz que llevaré, dejando un 1chipMSX para mostrar... otras cosas. Y hasta aquí puedo leer de momento.

jueves, 19 de mayo de 2011

El 1chipMSX ya es MSX2+

Si hace apenas un mes se liberaba la versión 2.4 del firmware del 1chipMSX, hace unas horas que se ha liberado la versión 3.0 del mismo, en la que la principal novedad es que ahora tendremos todo un MSX2+ en nuestras manos.

Esto unido al hilo abierto en karoshi donde se habla sobre crear un keymap en español para el 1chipMSX se convierte en una gran noticia para quienes tenemos este cacharrito.

Este fin de semana toca actualizar (y ya no me voy a instalar la 2.4), Ya me he descargado la actualización de la página del desarrollador.

lunes, 16 de mayo de 2011

Feria de MSX Nijmegen 2011 (y II)


Hace unos meses comenté por aquí los stands que hubo en la feria de MSX en Nijmegen que tuvo lugar el pasado 22 de Enero. Originalmente la idea de esta segunda parte era extender el comentario con algunas cosas más y publicarlo en la revista en papel MSX-Area.

Sin embargo, por problemas de tiempo, la revista no estará a tiempo para la próxima RU de Barcelona del 4 de Junio, así que rescatamos el artículo y aquí tenéis la segunda parte del comentario de la feria.

Comenzaremos por un vídeo de la feria en el que se pueden ver los stands (en el orden en el que los comenté en el anterior post).

Sigamos con el concurso que se llevó a cabo en la feria. La idea era reconocer una serie de juegos simplemente viendo una pequeña imagen del mismo ampliada.


En esta fotografía podemos ver a RAY2DAY (autor del Mission 2 Mir) sosteniendo uno de los gráficos que había que reconocer. Los visitantes a la feria debían responder rellenando unas hojas que posteriormente fueron recogidas y recontadas para poder al final declarar como ganador a Richard Cornelisse, más conocido como Huey, uno de los miembros del grupo Trilobyte.

¡¡Pero mira a la cámara!!

Comentemos ahora un poco las cosillas que se vieron entre bastidores. Richard estuvo mostrando el estado actual del Moon Over Arba Minch (aka MOAM). Los gráficos se están convirtiendo a MSX2, lo que significa que al final no funcionará en MSX1. Si ya los gráficos en MSX1 eran buenos, en MSX2 queda espectacular. Un juego que esperamos desde hace tiempo.

Pude ver en funcionamiento el juego DEVA, un plataformas en Screen 4 con un scroll parallax carácter a carácter. Tiene buena pinta y los gráficos son geniales, a ver si pronto lo tenemos entre nosotros.

Estuve probando el juego The Best of Hamaraja Night, que es una revisión del "Hamaraja Night", un juego de puzzles creado en 1994 por Pastel Hope. No comentaré más sobre este juego (que al final me compré) porque os espera una review del mismo en la próxima MSX-Area, así que ya no tenéis excusa para no comprarla ;D


También se vió por ahí el Sweet Acorn 2, de Edwin. Una versión mejorada y para dos jugadores del conocido y divertido Sweet Acorn.


Y ahora una gran sorpresa. Apareció hap, el autor del genial emulador de MSX1 meisei. Nos sorprendió a todos con el juego que está haciendo, ni más ni menos que una conversión autorizada del conocido VVVVVV.


Hap se está encargando de portar el juego completo (gráficos, código y música) y su intención es distribuirlo libremente cuando esté terminado. Las características del juego son las siguientes:

-Requerimientos mínimos: MSX1 con 16K de RAM.
-Formato: MegaROM, con casi total seguridad de más de 128K.

Y como dicen que una imagen vale más que mil palabras y que un vídeo vale más que mil imágenes estáticas, vamos a ver el juego en funcionamiento.

Realmente impresiona la cantidad de objetos que se mueven por la pantalla al mismo tiempo... ¡en un MSX1! La atmósfera del juego está perfectamente capturada y la jugabilidad es asombrosa. Una conversión que dará mucho que hablar.

Nijmegen es una cita ineludible para los fans del MSX. Recomiendo vivamente visitarla en alguna ocasión, yo el año que viene repito si me es posible.