Sinclair BASIC

Sinclair BASIC
Información general
Tipo de programa Lenguaje de programación BASIC
Autor John Grant, Steve Vickers
Desarrollador Nine Tiles Networks, Sinclair Research
Lanzamiento inicial 1980
Licencia Propietario
Estado actual Descontinuado
Información técnica
Programado en Lenguaje Ensamblador
Plataformas admitidas ZX80, ZX81, ZX Spectrum y compatibles
Versiones
Última versión estable +3BASIC (1987)

Sinclair BASIC es el nombre que recibe el BASIC implementado en la ROM de los ordenadores Sinclair, Timex Sinclair y Amstrad Sinclair entre otros, desde el ZX80 hasta las diferentes versiones del ZX Spectrum. Estos ordenadores se comercializaron desde 1980 (modelo Sinclair ZX80) hasta 1992 (modelo Amstrad Sinclair ZX Spectrum +2B).

Comandos

En su versión para ZX Spectrum 48k, el lenguaje tenía 86 palabras reservadas, de las cuales 50 eran comandos, 31 funciones y otras palabras clave 5:

Comandos
BEEP, BIN, BORDER, BRIGHT, CAT, CIRCLE, CLEAR, CLOSE#, CLS, CONTINUE, COPY, DATA, DEF FN, DIM, DRAW, ERASE, FLASH, FORMAT, FOR, GO SUB, GO TO, IF, INK, INPUT, INVERSE, LET, LIST, LLIST, LOAD, LPRINT, MERGE, MOVE, NEW, NEXT, OPEN#, OUT, OVER, PAPER, PAUSE, PLOT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RUN, SAVE, VERIFY
Funciones
ABS, ACS, AND, ASN, ATN, ATTR, CHR$, CODE, COS, EXP, FN, INKEY$, INT, IN, LEN, LN, NOT, OR, PEEK, PI, POINT, RND, SCREEN$, SGN, SIN, SQR, STR$, TAN, TO, USR, VAL$, VAL
Otras palabras reservadas
AT, LINE, STEP, TAB, THEN

Diferencias con el BASIC estándar

Sintaxis

 10 FOR A=1 TO 2*PI

Había que teclear

 10 F <CAPS-SHIFT>-A <SYMBOL-SHIFT>-<L> 1 <SYMBOL-SHIFT>-<F> 2 <SYMBOL-SHIFT>-< B> <SYMBOL-SHIFT>-<CAPS-SHIFT>-<M>
 10 LET A$="ZXSPECTRUM"
 20 PRINT A$(TO 3) : REM "ZXS"
 30 PRINT A$(4 TO 6): REM "PEC"
 40 PRINT A$(7) : REM "T"
 50 PRINT A$(8 TO): REM "RUM"
 10 LET solo una cosa=1
 20 PRINT solo una cosa

Operadores

10 PRINT "TENGO " +("HAMBRE " AND COMIDA<0)+("FRIO " AND TEMPERATURA<10)

Ramificación y subrutinas

10 LET FIN=40
20 GOTO FIN
30 PRINT "ESTO NO SE IMPRIME"
40 PRINT "FIN DEL PROGRAMA"

Instrucciones de entrada/salida

Resumen

Los siguientes cuadros comparan XBASIC con un Basic original no estructurado, utilizando el programa de ejemplo que aparece en el artículo de la Wikipedia sobre BASIC:

Ejemplo 1: BASIC original no estructurado (Applesoft BASIC)

 10 INPUT "¿Cuál es su nombre? "; U$
 20 PRINT "Hola "; U$
 30 INPUT "¿Cuántos asteriscos desea? "; N
 35 S$ = ""
 40 FOR I = 1 TO N
 50 S$ = S$ + "*"
 55 NEXT I
 60 PRINT S$
 70 INPUT "¿Desea más asteriscos? "; A$
 80 IF LEN(A$) = 0 THEN GOTO 70
 90 A$ = LEFT(A$, 1)
100 IF (A$ = "S") OR (A$ = "s") THEN GOTO 30
110 PRINT "Adiós ";
120 FOR I = 1 TO 200
130 PRINT U$; " ";
140 NEXT I
150 PRINT

Ejemplo 2: Sinclair BASIC

 
 5 OVER 1:REM usado en combinación con CHR$ 8 para producir acentos.
 10 INPUT "Cua"+CHR$ 8+"'l es su nombre? "; U$
 20 PRINT "Hola "; U$
 30 INPUT "Cua"+CHR$ 8+"'ntos asteriscos desea? "; N
 35 LET S$ = ""
 40 FOR I = 1 TO N
 50 LET S$ = S$ + "*"
 55 NEXT I
 60 PRINT S$
 70 PRINT "Desea ma"+CHR$ 8+"'s asteriscos? ";: INPUT A$
 80 IF LEN A$ = 0 THEN GOTO 70
 90 LET A$ = A$(1)
100 IF (A$ = "S") OR (A$ = "s") THEN GOTO 30
110 PRINT "Adio";CHR$ 8;"'s ";
120 FOR I = 1 TO 200
130 PRINT U$; " ";
140 NEXT I
150 PRINT:OVER 0:

Versiones

Código fuente en Sinclair BASIC que genera la Alfombra de Sierpinski.

Sinclair ZX80/ZX81

En la versión para el Sinclair ZX80 y el Sinclair ZX81, el intérprete contaba con algunos comandos que fueron eliminados en versiones posteriores: FAST, SCROLL, SLOW y UNPLOT.

Microdigital TK

Microdigital Eletronica lanzó dos ordenadores clónicos de ZX Spectrum, el TK 90X y el TK 95, incorporando al BASIC de Sinclair dos comandos nuevos: UDG y TRACE; y reemplazando BEEP por SOUND.

Timex Sinclair 2068

El dialecto empleado en los ordenadores Timex Sinclair 2068, añadía seis comandos al Sinclair BASIC, que no fueron continuados en posteriores modelos: DELETE, FREE, ON ERR, RESET, SOUND y STICK.

Sinclair ZX Spectrum 128k

El modelo original de ZX Spectrum 128 lanzado en 1985 por Investrónica y Sinclair en España incluía cuatro comandos que no fueron mantenidos en posteriores versiones: EDIT, RENUM, DELETE y WIDTH.

Todos los modelos de 128k (ZX Spectrum 128, +2, +3, +2A, y +2B) incorporaron dos comandos adicionales:

Amstrad Sinclair ZX Spectrum +3/+2A

El modelo ZX Spectrum 128 +3 fue lanzado en 1987 por Amstrad, y usaba varios comandos de versiones anteriores, modificando la sintaxis, para trabajar con el sistema operativo +3DOS y con los ficheros de la unidad de disco o el disco RAM: SAVE, LOAD, MERGE, ERASE, CAT, FORMAT, MOVE y COPY.

Compiladores

ToBoS-FP 2.0, unos de los muchos compiladores de Sinclair BASIC disponibles.

Si bien el Sinclair BASIC es un lenguaje interpretado, a lo largo del tiempo fueron apareciendo distintos programas para compilar el mismo, entre ellos:

Referencias

  1. ↑ «How the Spectrum began a revolution». BBC. 23 de abril de 2007. Consultado el 5 de junio de 2007.
  2. ↑ «World of Spectrum - Sinclair BASIC». Archivado desde el original el 13 de octubre de 2002. Consultado el 9 de enero de 2018.
  3. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0008254
  4. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0008249
  5. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0008282
  6. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0008696
  7. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0008693
  8. ↑ Uschi Compiler - World of Spectrum
  9. ↑ https://www.worldofspectrum.org/infoseekid.cgi?id=0009452

Bibliografía consultada

Enlaces externos