Buenas!.
La idea es poder usar Visual Code para programar en el basic de Zx Spectrum (Basic Sinclair) y que el editor me permita usar un script en bash para convertir
y ejecutar en el emulador. Este script lo lamaría Visual Code.
Visual Code dispone de distintos "complementos" que permiten desde "descatar" palabras reservadas de un basic de Commodore,
Msx, Zx Spectrum y mucho más. Esto también lo hacen otros editores, como SublimeText y su alternativa libre que ahora no recuerdo el nombre.
Este es el script que pretendo ejecutar. Claro, el archivo fuente de basic creado deberá ser guardado en un directorio a escoger por el usuario y entonces llamarlo.
( Perdonar la sencillez del script, que seguro que es mejorable. Lo principal es que funciona ).
Código:
#!/bin/bash
# Convierte un archivo .bas que debe contener codigo basic de Zx Spectrum
# Se le pasa como único parámetro un archivo con extensión .bas
# Se asigna su valor, nombre, a la variable f
f=$1
# La extensión a la que convertimos es tap
extension='.tap'
# Eliminamos la extensión bas quedando solo el nombre sin esta para poder concatenar luego
noextension="${f%.*}"
# Convertimos el nombre original del archivo con la extensión .bas al mismo pero con .tap
# Y ademas usamos el guión -n para que a la hora de cargar la cinta se vea su nombre en el emulador
zmakebas $1 -o $noextension$extension -n $noextension
# Inicia el emulador fuse para ver la cinta creada con nuestro programa
fuse $noextension$extension
Siempre pregunto y no busco lo suficiente.
Es algo como si tuvieras un código escrito en "C" y le dijeses al editor que programa debe usar para ejecutar el código y que opciones.
En este caso Visual Code grabaría el archivo.bas en un directorio y le pasaría el nombre al script para su conversión a cinta.
Saludos
El código en Visual Studio Code:
El script lo guardé en /usr/local/bin
En este caso le paso el HolaMundo.bas que tengo en un directorio cualquiera.
El emulador carga la cinta y muestro el código en su interprete basic.