Recientemente he encontrado un canal de youtube donde están haciendo un pequeño cursito de programación en BASIC para el Spectrum. Gracias a AsteroideZX.
En este post iré dejando los avances del mismo y poniendo de todo, así que si alguien está interesado en aprender un poquito de BASIC ya sabe...
El primer video es este
donde podemos ver que en principio el emulador con el que vamos a trabajar es el FUSE. Es multisistema y podéis descargarlo desde
este link.
A continuación, dejo una pequeña guía de trabajo bastante interesante
![](http://arcadespain.info/images/empardopo/Tutoriales/Spectrum/basic/basic-tut00-01.jpg)
donde voy a destacar tres zonas que nos van a servir para ir llevando nuestros tutoriales:
1.- La parte de arriba donde podemos ver los números tal cual aparecían en el teclado del spectrum original y que si nos fijamos podemos ver unos cuadraditos que nos servirán en algunos listados de programas del spectrum para dibujar líneas de separación, etc.
2.- La parte central derecha donde viene como poder escribir algunos de los caracteres de nuestro spectrum usando el emulador FUSE.
3.- La parte inferior derecha donde podemos ver los 8 colores que tiene nuestro spectrum en tonalidad mate y en tonalidad clara dependiendo si activamos el brillo o no.
![](http://arcadespain.info/images/empardopo/Tutoriales/Spectrum/basic/ColoresSpectrum.png)
Otra fotito interesante a tener en cuenta es la siguiente
![](http://arcadespain.info/images/empardopo/Tutoriales/Spectrum/basic/basic-tut00-02.jpg)
donde tendremos la disposición de la pantalla tanto a nivel de puntos como de caracteres:
caracteresObservamos que tenemos 22 filas por 32 columnas, yendo las filas desde la 0 a la 21 y las columnas desde la 0 hasta la 31.
puntosTenemos una resolución en puntos de 256 horizontales por 176 verticales,yendo los horizontales desde el 0 al 255 y los verticales desde el 0 al 175 y siendo la posición 0,0 la inferior izquierda.
A continuación empezaremos con el primer tema...
Tema 1Dejo el video de youtube con el primer tema
En este tema básicamente vamos a aprender comandos para pintar en pantalla, cambiar el color del borde, del papel, brillo, limpiar pantalla y alguna cosilla, más...
El primer código será el siguiente
![](http://arcadespain.info/images/empardopo/Tutoriales/Spectrum/basic/basic-tut01-01.png)
A partir del anterior pantallazo vamos a ir comentando y viendo comandos BASIC.
Lo primero y a comentar es que cada línea lleva un número de línea; usualmente, va de 10 en 10 pero es algo que no es obligatorio pero si recomendable. ¿Por qué es recomendable? Pues porque en spectrum no se programaba como lo podemos hacer hoy en día en los lenguajes de programación con un editor magnífico donde podemos hacer de todo, jeje. Pudiera ser que tuviéramos que añadir algo en medio de dos líneas y si vamos poniendo de 1 en 1 los números de línea pues "la habríamos cagado", jajaja. Así que de 10 en 10 y si por ejemplo entre la línea 10 y la 20 tenemos que añadir una línea pues por ejemplo le ponemos el número de línea 15 y a tirar millas. Luego se pueden renombrar de forma automática.
¿Se puede borrar una línea? Sí, pero recordar que aquí no hay vuelta a atrás y si borramos una línea se quedará borrada y la única forma de recuperarla sería reescribirla a manubrio de nuevo... ¿Cómo la borramos entonces? Pues escribiríamos el número de la línea que queremos borrar y pulsamos ENTER.
ComandosREMEste comando sirve para poner comentarios... En programación es habitual usar comentarios sobre todo para luego acordarte de qué quisiste hacer en un momento determinado en una parte del código ya que en el momento sabes lo que estás haciendo pero cuando pasa el tiempo no te acuerdas de ná!!!
BORDERCon este comando podremos cambiar el color del borde de la pantalla. Si recordais el pantallazo que pusimos antes, los colores van desde el 0 al 7.
PAPERCon este comando podremos cambiar el color del papel de la pantalla; al igual que con el comando BORDER los colores a poder usar van desde el 0 al 7.
INKCon este comando podremos cambiar el color de la tinta con la que escribiremos texto en pantalla; al igual que con los comandos anteriores los valores a usar irán desde el 0 al 7.
BRIGHTEstablece el brillo de los caracteres que se escriba en lo sucesivo; n=0 para normal, 1 para brillo y 8 para transparente.
FLASHEstablece si los caracteres deben ser parpadeantes o fijos; n=0 para fijos, n= 1 para parpadeo, n=8 para que no haya cambios.
CLSEste comando es "clear screen" y lo que hace es borrar la pantalla. Normalmente, suele ir detrás de sentencias de cambio de color de borde (border) y del papel de fondo (paper) y al borrar la pantalla, refresca y aparecen los colores seleccionados.
Vamos a escribir un pequeño código
10 FOR m=0 TO 1: BRIGHT m
20 FOR n=1 TO 10
30 FOR c=0 TO 7
40 PAPER c: PRINT " ";: REM 4 espacios en blanco
50 NEXT c: NEXT n: NEXT m
60 FOR m=0 TO 1: BRIGHT m: PAPER 7
70 FOR c=0 TO 3
80 INK c: PRINT c;" ";
90 NEXT c: PAPER 0
100 FOR c=4 TO 7
110 INK c: PRINT c;" ";
120 NEXT c: NEXT m
130 PAPER 7: INK 0: BRIGHT 0
donde ahora mismo pasaremos por alto, los comandos nuevos FOR y PRINT que se explicarán más adelante. Copiar el código y ejecutarlo para ver lo que sale en pantalla.