Trasteando con el BETA BASIC

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Responder
Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Trasteando con el BETA BASIC

Mensaje por desUBIKado » 06 Mar 2018, 01:14

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.
01_BBASIC31.jpg
01_BBASIC31.jpg (165.99 KiB) Visto 6974 veces
03_BBASIC31.jpg
03_BBASIC31.jpg (159.06 KiB) Visto 6974 veces

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.
BetaBASIC.jpg
BetaBASIC.jpg (56.42 KiB) Visto 6739 veces
BBASIC.zip
(5.11 MiB) Descargado 249 veces

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:

Código: Seleccionar todo

MERGE *"BBSAVE"

Esto nos introducirá las lineas 1 y 2 en nuestro programa
02_BBASIC31.jpg
02_BBASIC31.jpg (163.78 KiB) Visto 6974 veces
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.
Última edición por desUBIKado el 17 Mar 2018, 18:29, editado 1 vez en total.

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Trasteando con el BETA BASIC

Mensaje por Uto » 06 Mar 2018, 14:40

En su día trasteé bastante con el beta basic, me encantaba, pero no sé yo si a dia de hoy habiendo cross compilers de C y Basic me animaría a teclear en un Spectrum :-D

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: Trasteando con el BETA BASIC

Mensaje por desUBIKado » 06 Mar 2018, 15:26

Uto escribió:En su día trasteé bastante con el beta basic, me encantaba, pero no sé yo si a dia de hoy habiendo cross compilers de C y Basic me animaría a teclear en un Spectrum :-D
Ya, pero hacer un pequeño cambio, darle al RUN y ver lo que pasa, eso es impagable.

jevilon
Mensajes: 339
Registrado: 24 Mar 2016, 12:26

Re: Trasteando con el BETA BASIC

Mensaje por jevilon » 06 Mar 2018, 15:40

Cómo curiosidad y tal si, mola un montón, para trastear y jugar.... Para hacer algo más serio como dice uto.... Me quedo con zxbasic de boriel

empardopo
Mensajes: 11
Registrado: 15 Nov 2016, 14:32

Re: RE: Re: Trasteando con el BETA BASIC

Mensaje por empardopo » 06 Mar 2018, 16:24

jevilon escribió:Cómo curiosidad y tal si, mola un montón, para trastear y jugar.... Para hacer algo más serio como dice uto.... Me quedo con zxbasic de boriel
Donde hay más info sobre ese zxbasic de boriel que comentas? Hay tutorial, ejemplos, etc? Thanks

Enviado desde mi MI MAX 2 mediante Tapatalk

jevilon
Mensajes: 339
Registrado: 24 Mar 2016, 12:26

Re: Trasteando con el BETA BASIC

Mensaje por jevilon » 06 Mar 2018, 16:39

https://www.boriel.com/es/software/the- ... -compiler/

Ahí tienes todo lo necesario, una wiki, descargas, etc

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: Trasteando con el BETA BASIC

Mensaje por desUBIKado » 06 Mar 2018, 17:49

jevilon escribió:Cómo curiosidad y tal si, mola un montón, para trastear y jugar.... Para hacer algo más serio como dice uto.... Me quedo con zxbasic de boriel
Por supuesto.

empardopo
Mensajes: 11
Registrado: 15 Nov 2016, 14:32

Re: RE: Re: Trasteando con el BETA BASIC

Mensaje por empardopo » 07 Mar 2018, 16:22

jevilon escribió:https://www.boriel.com/es/software/the- ... -compiler/

Ahí tienes todo lo necesario, una wiki, descargas, etc
Muchas gracias.

Enviado desde mi MI MAX 2 mediante Tapatalk

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: Trasteando con el BETA BASIC

Mensaje por desUBIKado » 17 Mar 2018, 18:33

He actualizado completamente la primera entrada del hilo para incluir el Beta BASIC 4.0 que se hizo para los modelos de 128 KB de Spectrum, y que incluía nuevas y más poderosas funcionalidades que la versión para ordenadores con 48 KB.

Responder