Notas versión v0.0.1

Este texto es una descripción informal hecha en su día. Valga como documentación para el pack retrolib/retroworkbench de la primera entrega (a falta de algo mejor!!! :P ).

  • RetroLib: un directorio lleno de ejemplos de programación retro, preparados para compilar mediante crosscompiler y con el postproceso necesario para convertirlo en un ejecutable (fichero, ROM...) incluído.
  • RetroWorkbench: plataforma minimalista en Linux sobre máquina virtual lista para trabajar con la RetroLib y con emuladores listos para ejecutar los programas.

A continuación les pongo por aquí información de cómo va la Retrolib y el RetroWorkbench.

RetroLib:

En éstos momentos ya tengo tres ejemplos de programación en MSX, dos de ellos sobre MSX-DOS y otro sobre cartucho ROM. En realidad son ejemplos tipo “hola mundo” de Avelino Herrera Morales y Alberto Orante adaptados para que se compilen con un simple “make” en el directorio del ejemplo en la retrolib. Las librerías de la retrolib está compuesta por librerías de ambos. La compilación de las roms está basada en los procedimientos documentados por Nerlaska, trasladando las herramientas a sus homónicas en Linux, y actualizando opciones de compilador, etc...

Utiliza el crosscompiler SDCC, la utilidad Hex2Bin, las herramientas “make” de GNU. El usuario simplemente modifica un pequeño Makefile que viene con las opciones mínimas (“hola.c, msx, msx1, rom32k”= y eso se enlaza con los Makefiles de la propia retrolib que ya sabe cómo compilar y generar una rom de 32k.

RetroWorkbench

Actualmente tengo dos distribuciones minimalistas en Linux (una sobre PuppyLinux/Slackware y la otra sobre Bodhi/Ubuntu) que tienen la retrolib instalada y todas las herramientas de compilación y postproceso que te permiten compilar todos los ejemplos simplemente entrando en el terminal y escribiendo:

cd dev/retrolib/projects
./makeAll.sh

Y ya tenemos los tres proyectos compilados. Para ejecutar los dos primeros simplemente:

cp 01_hola/dist/*.com /opt/openMSX/share/software/MSXDOS
cp 02_params/dist/*.com /opt/openMSX/share/software/MSXDOS
catapult

Esto abre el entorno gráfico de openMSX y sólo hemos de pulsar “Start”, nos abre el MSX2, nos abre el MSXDOS y nos muestra la línea de comandos. A partir de ahí:

A> ej
(ejecuta el primer ejemplo)
A> params pelota coche scalextric o lo que sea
(ejecuta el segundo ejemplo)

Para ejecutar el tercero (el cartucho) es aún más fácil. En el linux hacemos:

openmsx 03_holaROM/dist/holaROM.rom

Y ya nos abre el openMSX con el cartucho insertado.

Las máquinas virtuales ocupan (comprimida) 1.6Gb o menos cada una. Y para ejecutarlo podemos hacerlo sobre VirtualBox. No consumen demasiados recursos (podemos bajarles la memoria a 256 Mb y no tienen problemas). Estoy trabajando también para hacer un USB que pueda autoejecutarse y trabajar en nativo con cualquier PC. Creo que con 8Gb iríamos sobrados.