Como hacer...Software

De Locomotive Basic a Sinclair Basic

5
(22)

Aventuras y desventuras convirtiendo programas entre versiones de Basic

Hace un tiempo, os presenté el menú que usaba para mis propias compilaciones de disquetes en mi Amstrad CPC6218 y cuyo código había limpiado para que cualquiera pudiera hacerse su propia compilación simplemente cambiando los DATA.

Hace bastante menos, me entró curiosidad por ver como funcionaba el autorranque desde el menú del Sinclair ZX Spectrum +3, así que el siguiente paso lógico sería adaptar el menú que ya tenía hecho para el Amstrad CPC para el +3, así que me embarqué un par de días en esa aventura aprovechando que el programa es bastante sencillo.

Ya tenía el listado en modo texto y fuera del DSK, así que no fue necesario pasarlo a ASCII y extraerlo, así que «solo» tenía que cambiar las llamadas a instrucciones específicas a Locomotive Basic a Sinclair Basic, y lo pongo solo entre comillas porque tiene su dificultad, aunque afortunadamente hoy en día hay herramientas que facilitan mucho la tarea y sin ellas en lugar de dos días hubiera tardado dos meses.

Herramientas utilizadas

Manual de ZX Spectrum +3

Es una versión en PDF bajada de la sección de manuales del Trastero del Spectrum pero el texto es real, no una simple digitalización.

Esto me ha facilitado mucho las búsquedas de comandos.

BasinC

Se trata un curioso emulador enfocado al desarrollo de programas para ZX Spectrum y que consta de un editor de texto que se comporta como el del ZX Spectrum y el emulador en sí para probar el programa que estás creando.

Es un emulador para Windows, pero funciona perfectamente con wine como he podido comprobar.

El editor se comporta como si fuera el del ZX Spectrum, pero también tiene un menú para hacer búsquedas, cargar archivos hechos con otros editores, por ejemplo yo me apoyado también en jEdit, etc…

Eso sí, os recomiendo encarecidamente que aumentéis el tamaño de la letra y de la ventana de emulación, ya que la vista de muchos ya no es lo que era, para ello debéis hacer:

  • En el editor:
    • Herramientas –> Opciones BasIN –> Editor Fonts –> Size –> Double/Triple.
  • En el emulador:
    • Display –> 200%

Así tendréis un entorno cómodo para trabajar.

Sinclair Basic en BasinC
Sinclair Basic en BasinC

Os lo podéis descargar de la página oficial.

Dificultades

A pesar de estas facilidades me he encontrado con dificultades debido por un lado a que no conocía muy bien el Sinclair Basic, porque las cosas se hacen de otra manera y también por limitaciones del interprete:

  • Los comentarios hay que hacerlos con REM.
  • A la hora de crear una matriz alfanumérica hay que definirle el número de elementos y la longitud máxima de la misma.
  • Para definir cualquier variable hay que poner el comando LET.
  • La localización en pantalla funciona al revés, en lugar de LOCATE X,Y es PRINT AT Y,X;
  • Los colores se manejan de otra manera.
  • Una resolución menor a MODE 1.
  • Las comillas SIEMPRE hay que cerrarlas.
  • Los comandos del sistema se separan del argumento por un espacio en lugar de estar entre paréntesis.
  • No existe ELSE en las sentencias condicionales.
  • Y algunos comandos más son diferentes como me esperaba.

En todo caso, es una experiencia que recomiendo a todos, a mi me ha recordado cuando era jovencillo y trasteabamos mis primos y yo en el basic de sus ZX Spectrum.

También, hace valorar más Locomotive Basic como un valor añadido enorme de los Amstrad CPC, a pesar de que el Sinclair Basic no me ha decepcionado sino todo lo contrario, salvo alguna cosa como que no exista el ELSE.

Muy interesante ver así la evolución que sufrió este lenguaje de programación con los años.

El resultado

8bitdiskmanager: he renombrado el proyecto, ya que ahora está para dos sistemas, así luce la nueva versión para el +3

8bitdiskmenu para ZX Spectrum +3
8bitdiskmenu para ZX Spectrum +3

Como veis, se parece bastante a la versión de Amstrad CPC

8bitdiskmenu para Locomotive Basic
8bitdiskmenu en Amstrad CPC

Al final he conseguido una versión preliminar completamente operativa para hacer tus propios menú para disquetes en ambas máquinas, aunque con muchos detalles por pulir.

¿Qué versión de Basic para ordenadores de 8 bits os gusta más?

¿Alguien se anima a hacer el camino opuesto?

¿Te ha Resultado útil este artículo?

Ayúdanos a mejorar y danos tu opinión:

Mostrar más

4 comentarios

Deja una respuesta

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

Publicaciones relacionadas

Mira también
Cerrar
Botón volver arriba