Trasteando con el BETA BASIC en el ZX-Uno

A raíz del siguiente tweet que vi el 4 de marzo me picó la curiosidad de qué era eso del Beta Basic para Spectrum. En seguida la wikipedia me sacó de dudas informándome de que era un intérprete de BASIC que reemplazaba completamente al Sinclair BASIC, y que tenía una serie de características tan interesantes como:

  • Procedimientos y funciones, permitiendo la programación estructurada
  • Variables locales
  • Recursividad
  • Texto en 64 columnas
  • Nuevas funciones y mayor rapidez en la ejecución de otras presentes en el Sinclair BASIC

Lo genial de todo, es que además he comprobado que es compatible con los comandos LOAD*, SAVE*, MERGE *, CAT *, etc, del esxDOS. En la página de WOS están las diversas versiones que salieron, e incluso los manuales, que por cierto, hay uno de Ventamatic en español, aunque no pone para que versión del Beta Basic es. La versión 4.0, que es ya para ordenadores de 128 K, además de todo lo que trae la 3.1, permite usar el disco RAM para almacenar código del programa, y traerlo y llevarlo a la memoria principal según se necesite, lo que programando con esta característica en mente, nos permite minimizar el problema de que solo tengamos 21 K de memoria principal disponible para nuestro programa. Además incluye nuevos comandos para realizar ordenaciones y búsquedas en arrays de hasta 64 KB que podemos almacenar en el disco RAM.

Aquí os dejo la imagen y el programa del tweet una vez ejecutado el programa en el ZX-Uno.

El caso es que he creado una serie de ficheros para trabajar más cómodamente con el BETA BASIC 3.1 y el 4.0 en el ZX-Uno, y que comparto con vosotros.

La carpeta BBASIC31 contiene 4 archivos:

BETAB31.TAP
BBASIC31.BAS
BBASIC31.BIN
BBSAVE
DIAMOND.BAS

El primero es la versión original descargadas de WOS. Los dos siguientes archivos son el BETA BASIC 3.1. Cargando el BBASIC31.BAS, bien a través de LOAD*»BBASIC31.BAS» o del navegador NMI del esxDOS, carga el BBASIC31.BIN y entramos en el intérprete. El único inconveniente es que ahora tenemos solamente 22 K libres para nuestro programa BASIC, a diferencia de los 41 que se tienen generalmente en un 48 K nada más arrancar. Es importante no utilizar como líneas de nuestro programa la 0 (que ya existe), la 1 y la 2.

Ahora es cuando podemos teclear nuestro programa, y cuando hayamos terminado y lo queramos grabar a disco, lo que hay que hacer es utilizar el tercer fichero de la carpeta, que es el BBSAVE, de la siguiente forma:

MERGE *"BBSAVE"

Esto nos introducirá las lineas 1 y 2 en nuestro programa

Lo que hay que hacer es editar la línea 1 y modificar el nombre del programa PROG.BAS por otro. Es importante dejar la extensión BAS ya que así se puede cargar directamente desde el navegador NMI del esxDOS. Luego ejecutando GOTO 1 se grabará el programa.

Hay que notar que para que funcione el programa que hemos salvado es necesario que en la misma carpeta se encuentre el archivo BBASIC31.BIN.

Por ultimo, el archivo DIAMOND.BAS contiene el código del programa que realiza el gráfico de más arriba usando recursión.

La carpeta BBASIC4 contiene 6 archivos:

  • BETAB4.TAP: El programa original descargado de WOS
  • BBASIC4.SNA: Un snapshot de 128K creado nada más cargar el programa anterior en memoria. Lo utilizo en el arranque de mi ZX-Uno cuando quiero arrancar con Beta Basic en lugar del menú del +2A.
  • BBASIC4.BAS, BBASIC4A.BIN y BBASIC4B.BIN: Es una adaptación del programa original para cargar con un comando LOAD* o con el navegador NMI del esxDOS.
  • BB4SAVE: Es para cuando tengamos ya creado el programa y queramos grabarlo en el SD. Se utiliza de igual forma que el BBSAVE para la versión 3.1

La carpeta DOCS contiene los manuales de la versiones 3.1 y 4.0 [ENG] y un manual de Ventamatic en español. Asimismo, he recuperado de un mirror de WOS los magazines (newsletters) que Dr Andy Wright, creador del Beta Basic fue sacando durante años, y que contienen un gran número de trucos y ejemplos de programación muy útiles.

Si leeis el artículo de la Wikipedia, veréis que Andy Wright fue también el creador del SAM BASIC, el cual es considerado un BASIC muy bueno, y que es muy compatible con el Beta BASIC (obviamente es su evolución), y que funciona de manera muy parecidad, excepto en aquellas capacidades de música, gráficos y almacenamiento, en las que el SAM era superior al SPECCY.

Esta entrada fue publicada en ZX-Uno y etiquetada , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *