Emulador de Philips VG-8020 con HamGeek MiSTer

En este artículo vamos a emular el MSX más vendido en España, el VG-8020 de Philips, sobre el sistema MiSTer de HamGeek.

+ Philips + MSX

Sobre Philips VG-8020

Si bien hemos ya hemos emulado un ordenador estándar MSX sobre RP2350, resultan de interés las particularizaciones que las distintas marcas hicieron de este sistema. Este modelo de Philips, lanzado en 1984, fue el superventas de esta generación de MSX, tanto en España como en Europa, del que hubieron varias revisiones.

El VG-8020 fue muy respetuoso con el estándar, manteniendo un procesador compatible Z80A (normalmente el D780C-1 de NEC), 64 KB de RAM, 16 KB de VRAM (RAM y VRAM sumadas dan 80 KB, lo que justifica el rótulo en la máquina), el VDP TMS9918A y el PSG YM2149. Este modelo integraba puerto Centronics para impresora y botón de reset.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • HamGeek MiSTer.
  • Monitor con entrada HDMI.
  • Teclado USB.
  • Joystick USB.

Instalación

Este emulador viene incluido en el core MSX1, que seleccionaremos dentro del menú Computer.

Bastará con seleccionar el core, que nos presentará un MSX genérico, normalmente la ROM de OpenMSX.

Tendremos que buscar la ROM de este modelo de Philips en particular, que subiremos a /media/fat/games/MSX1.

Volvemos al menú del core y entramos en «Advanced settings».

Entramos en «Load BIOS *.ROM» y de ahí seleccionamos la BIOS del VG-8020.

Emulación

BASIC

Una vez realizados los pasos anteriores se nos mostrará la pantalla de inicio de este ordenador.

Vemos que es exactamente igual que la genérica. Podemos introducir alguna línea de código sencilla con la que podemos pintar en pantalla.

Y vemos cómo se pintan figuras en pantalla.

Por supuesto, podremos codificar nuestro «Hola mundo» en este lenguaje.

Cartuchos

Podemos cargar un cartucho en nuestro emulador, que previamente habremos subido a /media/fat/games/MSX1, donde anteriormente habíamos descargado la ROM de Philips.

Podemos seleccionar el archivo correspondiente desde el SLOT A.

Para este caso, hemos insertado el cartucho del juego clásico Gradius.

Al seleccionar el archivo el MSX se reinicia y carga el cartucho.

Tan sencillo ya como seleccionar el número de jugadores.

Pantalla de presentación.

Y comienza la partida.

Buenos y lejanos recuerdos para aquellos que tuvieron esta máquina.

#1984 #HamGeekMiSTer #NECD780C1 #Philips #SistemaMSX #TITMS9918A #YamahaYM2149

Emulador de MSX con Adafruit Fruit Jam

MSX fue un serio intento de crear un estándar en la segmentada informática doméstica de los años 80. Vamos a emular un sistema MSX sobre una tarjeta Fruit Jam de Adafruit.

+ MSX + Retroinformática

Sobre el sistema MSX

El sistema MSX surge como una iniciativa conjunta de Microsoft y ASCII Corporation en 1983 para el mercado japonés con objeto de crear un estándar en la informática doméstica a imagen y semejanza de lo que fue el sistema VHS para los reproductores de vídeo en el hogar. Pronto se unirían grandes empresas locales, como Panasonic o Sony, además de otras extranjeras como Philips o Samsung.

A nivel de arquitectura, los sistemas MSX constaban de un procesador Z80A a 3,58 MHz y un mínimo de 8 KB de RAM, aunque lo normal es que llevasen 32 KB o 64 KB. Disponían de un procesador de vídeo (VDP) Texas Instruments TMS9918A, un generador de sonido (PSG) General Instrument AY-3-8910 o Yamaha YM2149 y un interfaz de periféricos (PPI) Intel 8255. En ocasiones, montaban el chip MSX-Engine que integraba a algunos de los anteriores además de la lógica de direccionamiento y control de la DRAM y periféricos. En cuanto a ROM, solía constar de 32 KB e incluía la BIOS y el MSX BASIC 1.0.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Adafruit Fruit Jam.
  • Tarjeta microSD con formato FAT32.
  • Monitor con entrada HDMI.
  • Teclado con conector USB.

Emulador

Nos basaremos en la versión para RP2350 (Pico2) de Adafruit de MCUME de Jean-Marc Harvengt. Vamos a actualizar el código fuente para que arranque adecuadamente.

Los cambios realizados sobre la versión de Adafruit implica a estos archivos:

  • tusb_config.h:
    • Configuración de TinyUSB para modo host con PIO USB.
  • picomsx.cpp:
    • Configuración condicional de reloj del sistema según PIO USB esté activo.
  • hid_app.c:
    • Mejoras en la gestión de teclado.
  • emuapi.cpp:
    • Inicialización del host USB PIO (GPIO y TinyUSB).
    • Configuración de VBUS (GPIO11).
    • Auto-boot a BASIC cuando no hay archivos en la microSD.
    • Lectura de configuración de layout desde kbd.cfg.
    • Puente entre USB HID y emulador.
  • fmsx.c:
    • Gestión de estados del teclado.
    • Corrección de símbolos.
  • platform_config.h:
    • Habilitado HAS_USBHOST y HAS_USBPIO.

Instalación

Se puede descargar de GitHub directamente el binario en formato UF2.

$ wget https://github.com/RafaGS/Pico2MSX/releases/download/0.1/picomsx.uf2

Lo siguiente es conectar la Fruit Jam vía USB-C al PC con el botón [Button#1] pulsado, luego pulsaremos y soltaremos el botón [Reset] para finalmente liberar el primer botón. Copiaremos el archivo antes descargado a la partición recién detectada (RP2350).

Opcionalmente, podemos introducir una tarjeta microSD con un directorio msx donde pondremos nuestro software para MSX.

Emulación

Una vez terminada la copia, alimentamos la Fruit Jam vía USB-C y le conectamos el teclado al puerto USB disponible. El monitor, al HDMI. En unos segundos nos aparecerá la pantalla clásica de MSX.

Por fin podemos probar su BASIC.

#1983 #AdafruitFruitJam #MSX #OrdenadoresDomésticos #RP2350 #SistemaMSX #ZilogZ80A