Para configurar dicho entorno lo primero será descargarse ambas aplicaciones desde los siguientes enlaces:
El editor lo instalaremos de forma habitual y el ensamblador lo descomprimiremos en el directorio dentro del cual vayamos a trabajar con el MSX.
A continuación habrá que descargar el paquete de utilidades que acompaña este tutorial:
ConTEXT+asMSX. Tras descomprimirlo habrá que configurar el archivo BAT,
exec.bat, de manera que la ruta designada para el emulador MSX que queramos usar quede definida mediante la variable de entorno MSXEMU:
set MSXEMU="f:\Ordenadores\MSX\Emulators\openMSX\openmsx.exe"Originalmente el emulador OpenMSX (que es el que uso en esta etapa del desarrollo) viene configurado tal como figura, evidentemente el texto entrecomillado habrá que cambiarlo en función de donde tengamos instalado dicho emulador.
Hecho esto ya podremos proceder a configurar el ConTEXT siguiendo los pasos que se detallan a continuación:
1) Copiar el archivo de sintaxis para el asMSX,
Z80.chl, en el directorio
Highlighters del ConTEXT (habitualmente en
C:\Archivos de programa\ConTEXT\Highlighters). Existe un problema de coincidencia de extensiones con los archivos de ensamblador para x86
; así que si estamos seguros de que no vamos a programar en ensamblador para x86, lo mejor es eliminar el archivo
x86 Assembler.chl que se encuentra también en dicha carpeta; así permitiremos que el ConTEXT reconozca los archivos con extensión .asm como nativos de MSX exclusivamente (ahorrándonos el tener que seleccionar la sintaxis manualmente)
2) Los archivos
Z80.hlp,
wrdsk.exe y
exec.bat (una vez modificado con la ruta del emulador) también procedentes del paquete descargado, los copiaremos en la carpeta en la que hemos descomprimido el asMSX.
3) Arrancaremos el ConTEXT y navegaremos por los menus hasta la pantalla de opciones de entorno:
Options->Environment Options->Miscellaneous. LLegados aquí, en la lista de lenguajes que nos aparece debe de haber una entrada correspondiente al
asMSX Z80 Assembler, la seleccionamos, pinchamos en
Edit y buscamos el archivo
Z80.hlp allá donde lo hayamos dejado. Con esto abremos configurado una ayuda en línea para comandos del Z80 muy simple; pero útil
. Esta ayuda se invoca pulsando F1 con el mnemónico seleccionado en nuestro código fuente.
4) Continuando con la configuración, ahora abrimos un nuevo dialogo:
Options->Environment Options->Execute Keys. Pinchamos en
Add y en la caja que nos aparece escribimos "asm", hecho esto nos aparecerá en el arbol de la izquierda la extensión que acabamos de introducir con las cuatro teclas de función configurables que usa el ConTEXT, a cada una de ellas le vamos a poder asignar la aplicación que queramos.
5) Seleccionamos la tecla F9 (o la que queramos) y rellenamos los campos tal como sigue:
Con esto habremos asignado el asMSX a la tecla F9 y ya podremos compilar nuestro listado de ensamblador directamente pulsando dicha tecla o pinchando en el icono que el ConTEXT dispone para ella.
Otra de las funcionalidades que se añade mediante esta configuración es que tras una compilación con fallos, haciendo doble click sobre cualquiera de las lineas de error que en la ventana inferior del ConTEXT puedan aparecen (la "Ouput Console"), el editor nos posicionará automáticamente sobre la línea responsable del error.
Ahora, para probar que todo funciona, se puede crear en el ConTEXT un nuevo documento, copiar y pegar el listado del snippet
Interlaced SC1 with 64 columns tal como está y grabar dicho documento con el nombre que queramos;
pero siempre con extension .asm.
Una vez grabado, pulsamos F9 y tras aparecer los resultados de la compilación en la ventana inferior, el OpenMSX debería arrancar la ROM generada y nosotros poder ver los resultados inmediatamente.
Espero no haber metido mucho la pata, muchas cosas las he hecho de memoria. Por supuesto si algo falla no teneis más que preguntar...
Copyrights:
- El asMSX todos sabemos de quién es; pero por si alguien todavía no lo sabe diré que el perpetrador es Eduardo Robsy Petrus
- La utilidad wrdsk.exe pertenece a la suite de utilidades de disco (en su versión 1.6) programada por Arnold Metselaar (arnoldm).
- El archivo de ayuda Z80.hlp mío no es desde luego; pero desgraciadamente ya no recuerdo de donde lo saqué...
Nota: Como extra, en el archivo que os habeis descargado, también está incluido el archivo de sintaxis para el MSX-BASIC, por si alguien también quiere entretenerse un rato con eso (el concurso de Konamito está calentito
)