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.