Espamática
ZX SpectrumBoriel BasicRetro

Boriel Basic para ZX Spectrum

Bajo el título Boriel Basic para ZX Spectrum. Manual para torpes… y para los que no lo son tanto, Juan Segura Durán (aka Duefectu) nos trae un libro con el que nos promete, con algo de esfuerzo y dedicación por nuestra parte, dominar todo los entresijos de Boriel Basic para así sacarle el máximo en nuestros desarrollos para ZX Spectrum, ya sea clásico o ZX Spectrum Next. Si, habéis leído bien, ZX Spectrum Next.

A través de quince capítulos y cinco anexos, nos guía en el aprendizaje de este potente lenguaje basado en el Basic de Sinclair, pero que, a diferencia de éste, vuela, de manera que la consabida lentitud del Basic parece más una leyenda urbana que una triste realidad.

Boriel Basic
Boriel Basic

Tabla de contenidos

¿Qué es Boriel Basic?

Boriel Basic es lo que se denomina un Basic compilado, desarrollado por José Rodríguez (aka Boriel), pero que no se limita a traducir el Basic de Sinclair a código máquina. José Rodríguez ha reescrito gran parte de las instrucciones del Basic de Sinclair en código máquina, por lo que el comando PRINT hace lo que pensaron los ingenieros de Sinclair, pero no de la misma manera, con Boriel Basic es mucho más rápido y óptimo. Además, ha modernizado la sintaxis para incorporar mecanismos de lenguajes modernos, lo que permite al programador estructurar y reutilizar su código de forma sencilla.

Boriel Basic tiene un compilador propio que traduce el código fuente a código ensamblador y de éste a código máquina. Además, dispone de muchas librerías; cabe destacar las de scroll al carácter y al píxel, e impresión de sprites acelerada, por lo que no tenemos que inventar la rueda, solo usarla.

Así mismo, y dado que la capacidad de memoria en los equipos a los que van a ir dirigidos nuestros programas es muy limitada, el compilador incluye un optimizador que, aparte de acelerar ciertas partes, solo incluye las rutinas a las que se llama, no toda la librería.

Todo esto lo puedes aprender leyendo el libro que nos ocupa.

¿Cómo está distribuido el libro?

El libro consta de quince capítulos y cinco anexos a través de los cuales se va desgranando Boriel Basic, de tal manera que al finalizar la lectura del mismo serás capaz de realizar tus propios desarrollos para ZX Spectrum, e incluso librerías para ampliar las posibilidades de Boriel.

También consta de cuatro prólogos a cargo de: Juan Antonio Rubio García «Juanan Homospectrum», José Rodríguez «Boriel», Javier Ortíz Carrasco «El Spectrumero» y Juan Segura Durán «Duefectu».

En cada uno de los capítulos encontrarás un código QR y una URL para poder descargar todo el código fuente desarrollado en el mismo.

A continuación, una pequeña descripción sobre lo que vais a encontrar en cada capítulo.

1. Introducción

En este capítulo encontramos los agradecimientos, cuáles son los objetivos del libro, tipo de lector al qué va dirigido y una serie de conceptos que se dan por asumidos por parte del lector; conocimientos que son necesarios que tenga para poder aprovechar en su totalidad la lectura del libro.

Boriel Basic - Capítulo 1
Boriel Basic – Capítulo 1

2. Calentando motores

En este capítulo se detallan las herramientas necesarias para seguir el libro: distintos IDE que podemos usar, emuladores, herramientas gráficas, para sonido y otras utilidades.

De cada una de las herramientas se proporciona la URL para su descarga y/o uso en el caso de las herramientas online.

Boriel Basic - Capítulo 2
Boriel Basic – Capítulo 2

3. El compilador Boriel Basic

Entramos en materia.

Empezamos a conocer más a fondo el compilador de Boriel Basic, compilamos nuestros primeros programas desde la línea de comandos, vemos los posibles parámetros de la misma, el mapa de memoria, alguna forma de como optimizar nuestro código  y algún concepto más que nos será de gran utilidad más adelante.

Boriel Basic - Capítulo 3
Boriel Basic – Capítulo 3

4. Variables y tipos

Es fundamental, en el aprendizaje de un lenguaje de programación, conocer de qué tipo de variables disponemos.

En este capítulo se nos muestran las reglas a tener en cuenta a la hora de poner nombre a las variables, los tipos numéricos y las variables alfanuméricas, así como las matrices (arrays) de una o más dimensiones y como trabajar con ellas. El uso de tipos en las variables puede sonar trivial, pero es una de las claves para que nuestros programas sean más rápidos y ocupen menos memoria.

Empezamos a prepararnos para lo que viene luego.

Boriel Basic - Capítulo 4
Boriel Basic – Capítulo 4

5. El lenguaje Boriel Basic

Como ya he comentado, Boriel Basic se basa en el Basic de Sinclair, pero lo redefine y extiende, por lo que tendremos instrucciones del Basic de Sinclair optimizadas para que funcionen mejor y más rápido, y otras que no existen en el Basic de Sinclair y que nos hacen la vida mucho más fácil, como DO…LOOP o ELSEIF, ELSE y END IF. Seguro que estas últimas las has echado mucho de menos si has programado en Basic de Sinclair.

En Boriel Basic no son necesarios los números de líneas, podemos programar funciones y subrutinas, tal y como hacemos en cualquier lenguaje de alto nivel que podamos usar en la actualidad. Disponemos de librerías que nos permiten usar la rueda sin necesidad de inventarla; no necesitamos saber de qué está compuesta, sólo debemos saber para qué sirve y la forma de usarla.

Una de las cosas que diferencian a Boriel Basic de otros Basic, y que es lo que más me llama la atención, es la posibilidad de incluir código ensamblador «inline», como si de C se tratara. ¿Una pasada, verdad?

Boriel Basic - Capítulo 5
Boriel Basic – Capítulo 5

6. La memoria

Pese a ser un lenguaje de alto nivel, dado el tipo de plataforma con el que estamos trabajando, se hace imposible abstraerse del hardware, al contrario de los que nos pasa con lenguajes actuales como JAVA o C#.

Cierto conocimiento del hardware, y en este caso concreto de la memoria, es fundamental para que nuestros desarrollos lleguen a buen puerto y funcionen con unos tiempos de ejecución aceptables.

En este capítulo se nos describe la memoria de cada uno de los modelos de ZX Spectrum, como podemos conmutar los bancos de memoria en los modelos de 128K y cómo hacerlo en el ZX Spectrum Next. Sí, ya dije que este libro también va a enseñar aspectos necesarios para programar para el ZX Spectrum Next.

Boriel Basic - Capítulo 6
Boriel Basic – Capítulo 6

7. La pantalla en el ZX Spectrum

Gráficos, gráficos, gráficos.

Lo que más nos gusta es lo que vemos en pantalla. Este capítulo nos enseña cómo trabajar con la pantalla del ZX Spectrum, definir UDG, fuentes y sprites y como dibujarlos, tiles y mapas y el sueño que todos hemos tenido, cuando con muy poquitos años empezamos en esto: scroll, scroll al pixel y al carácter. Todo esto lo conseguiremos usando la rueda, sin necesidad de inventarla.

Este capítulo es uno de los más jugosos, en él empezamos a ver resultados asombrosos que nos van a dar una idea más clara de lo que podremos lograr; sólo nuestra imaginación es el límite, y los 48K o 128K de los que disponemos, no nos olvidemos.

Boriel Basic - Capítulo 7
Boriel Basic – Capítulo 7

8. La pantalla en el Next / N-GO

Siempre hemos tenido la limitación de ocho colores y hemos debido luchar contra el Color Clash, buscando la manera en la que menos se note. Bien, con el ZX Spectrum Next nos podemos olvidar de todo esto. Usa un buen número de colores distintos y olvídate del Color Clash.

En este capítulo, al igual que en el anterior, se nos enseña cómo trabajar con sprites, tiles, mapas y scroll, pero con el hermano mayor de la familia.

Consigue hacer todo lo que soñabas cuando eras pequeño.

Boriel Basic - Capítulo 8
Boriel Basic – Capítulo 8

9. Colisiones

Seamos sinceros. Muy pocos de nosotros soñábamos con hacer un programa que nos ayudara a supervisar los gastos del hogar, ¿verdad? Soñábamos con hacer juegos como los que jugábamos, salir en la MicroHobby o Micromanía, y comprarnos ese cochazo que prometía cierta empresa si programabas para ella.

En casi todo juego hay un protagonista, unos obstáculos y algún enemigo, y para saber por dónde puede o no pasar el protagonista, o cuando nos mata o matamos algún enemigo, tenemos que controlar lo que denominamos colisiones. En este capítulo se nos muestran distintas técnicas para ello, empieza a pensar en serio en tu próximo juego.

Boriel Basic - Capítulo 9
Boriel Basic – Capítulo 9

10. Controlando el Spectrum

¿Qué necesita todo juego? Un jugador. ¿Qué necesita el jugador para jugar? Un teclado, un joystick o cualquier otro dispositivo que le permita interaccionar con el ZX Spectrum y, en el caso de los juegos, controlar al personaje y alcanzar la meta con él. Además también veremos como controlar un ratón en el ZX Spectrum Next.

En este capítulo aprendemos cómo controlar cada uno de estos dispositivos para que la experiencia del usuario sea satisfactoria.

Boriel Basic - Capítulo 10
Boriel Basic – Capítulo 10

11. Las interrupciones

Las interrupciones nos permiten ejecutar rutinas cada X tiempo (50 veces por segundo en sistemas PAL, 60 en sistemas NTSC), y de esta forma temporizar el movimiento de los enemigos, controlar el tiempo que queda para poder pasar un nivel, ralentizar el movimiento del personaje, etc. Este tipo de comportamiento lo hemos visto en múltiples juegos comerciales de la época. ¿Os acordáis de Manic Miner y su música ingame?

El contenido de este capítulo es para usuarios avanzados, ya que se hará uso de ensamblador para la implementación necesaria. Además, nos muestra los entresijos de la librería IM2, desarrollada por el autor del libro, que ha sido añadida a Boriel Basic recientemente, y que nos permite gestionar las interrupciones de forma muy sencilla. Nos lo podemos saltar y volver más adelante, cuando estemos más preparados.

Boriel Basic - Capítulo 11
Boriel Basic – Capítulo 11

12. El Beeper

¿Os acordáis de él, de la instrucción BEEP, de su característico sonido?

En este capítulo veremos maneras de llevarlo al próximo nivel, consiguiendo resultados que nunca creímos posibles, eso sí, dentro de las limitaciones que tiene.

Léelo detenidamente y da rienda suelta a tu creatividad.

Boriel Basic - Capítulo 12
Boriel Basic – Capítulo 12

13. El chip AY-3-8912

Los que pudimos disfrutar de un Amstrad CPC, pudimos disfrutar de música en multitud de juegos que en la versiones de ZX Spectrum no la tenían, caso de Commando o Ikari Warriors, por poner solo algún ejemplo.

Por desgracia, este chip solo está presente en los modelos de 128K si hablamos de ZX Spectrum clásicos, y no fueron muchos los juegos que aprovecharon los 128K de estos modelos y el chip AY, siendo mayoría los juegos adaptados para que funcionaran en 48K, en parte debido al gran parque existente de estos equipos.

Afortunadamente, hoy en día el homebrew existente sí que aprovecha estas características, y si bien se siguen haciendo juegos para 48K, la mayoría de las veces tienen su versión correspondiente para 128K, aunque solo sea para poder meter música, dicho sea de paso, de gran calidad en la mayoría de la ocasiones.

En este capítulo aprenderemos como usar el chip AY para que nuestros juegos dispongan de música y sonido de calidad, y no solo en el menú, cosa habitual en el pasado.

Boriel Basic - Capítulo 13
Boriel Basic – Capítulo 13

14. Arquitectura

Capítulo muy importante donde se nos muestra la arquitectura que debe tener nuestro juego, como organizarlo, módulos que debe tener, etc. Para leer con mucha atención y volver a él cuando sea necesario.

En este capítulo se propone una estructura para poder aprovechar los 128K de nuestro Spectrum +128/2/3, o los hasta 2Mb de nuestro ZX Spectrum Next.

También nos mostrará como cargar desde la SD del ZX Spectrum Next.

Boriel Basic - Capítulo 14
Boriel Basic – Capítulo 14

15. Creando el producto final

Ya tenemos nuestro juego, ¿y ahora qué? Hemos hecho un juego y lo lógico es distribuirlo para que los usuarios puedan disfrutarlo, ¿cómo lo hago?

En este capítulo veremos cómo crear los archivos de cinta (.tap), de disco (.dsk) o para la SD del ZX Spectrum Next.

Por último nos muestra varias opciones para su distribución, ya sea edición online o edición física. ¿Te imaginas tu juego grabado en una cinta, como en los años 80, y en la estantería de los jugones? En este capítulo verás cómo hacerlo.

Estaría bien tener una edición física de nuestro juego tan cuidada como las de Play On Retro.

Boriel Basic - Capítulo 15
Boriel Basic – Capítulo 15

Anexos

El libro dispone de cinco anexos que enumero a continuación:

  • Anexo A: librerías incluidas en Boriel Basic.
  • Anexo B: directivas predefinidas.
  • Anexo C: códigos de las teclas.
  • Anexo D: decimal, binario y hexadecimal.
  • Anexo E: operaciones binarias.

Recursos

Finalmente, se muestra una lista de recursos ya vistos a lo largo del libro, pero agrupados en una sola sección, que nos harán la vida más fácil en nuestro viaje a través de la programación en Boriel Basic.

¿Cómo obtengo el libro?

El libro está a la venta en Amazon, por lo que se puede obtener desde distintas partes del planeta. Consta de tres ediciones: Kindle, tapa blanda y dura. Aunque el número de páginas varía entre una edición y otra, debido al formato y tamaño de página, el contenido es exactamente el mismo, por lo que compra la que más se ajuste a tus gustos. Actualmente se está trabajando en la edición en lengua inglesa.

A continuación, el enlace de compra. ¡Hazte con tu ejemplar!

Boriel Basic en Amazon

El autor

Puedes seguir a Juan Segura Durán (aka Duefectu) a través de sus redes sociales, y así mantenerte al día de todos sus proyectos.

Si quieres ver lo se puede llegar a desarrollar con Boriel Basic, y más concretamente para ZX Spectrum Next, visita la web del proyecto Cuadragon The Next Generation.

Conclusión

Ya sabéis, el límite lo pones tú. Hazte con el libro, aprende y da rienda suelta a tu creatividad.

¡Disfrútalo!

P.D.: quizá también te interese el libro que un tal Juanan ha escrito sobre Ensamblador para ZX Spectrum.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies