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 ).
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:
![[Imagen: 0aNGgZ2.png]](https://i.imgur.com/0aNGgZ2.png)
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.
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 ).

Bash
- #!/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:
![[Imagen: 0aNGgZ2.png]](https://i.imgur.com/0aNGgZ2.png)
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.
![[Imagen: 3PPJ87A.png]](https://i.imgur.com/3PPJ87A.png)
"El buen perfume en frasco pequeño se vende"