Alessandro Grussu
9th January 2022
Published in Al's Spectrum Annual 2021
Face To Face With Jose 'Boriel' Rodriguez
Jose Rodriguez Rosa, also known under the pseudonym of Boriel, is the author of ZX Basic, a utility for Windows, Linux and Macintosh started as a simple BASIC compiler for the Spectrum, which over time has turned into a real new programming language, integrating and enhancing the old Sinclair BASIC with a new syntax and a more modern structure: for example, it does not require line numbers and includes instructions and functions typical of other BASIC "dialects" and other languages. In this interview, Jose tells us about himself and reveals the origins and future perspectives of his "creation".
Tell us a little about yourself: who you are, what you do in life...
My name is Jose, but for historical reasons I have chosen the pseudonym of Boriel. He is a character I invented to play tabletop RPGs. He is a magician similar to Gandalf or Bobbin Threadbare (the protagonist of Loom).
How did you get started with the Spectrum?
I started, like almost everyone, as a child. I was already into computer science before I actually got a computer. I also learned a bit of BASIC by reading Mi Computer magazine (which I believe is currently stored in PDF Online). I was writing programs with a pen on a notebook, and I wanted to have a computer. By chance, my father noticed an offer for the employees of the company he worked for, and it was a ZX Spectrum. And so I got my first computer. I didn't really know what to do with it.
When the message "(c) 1982 Sinclair Research Ltd" appeared, and was deleted by pressing a key, I did not know how to make it reappear and I turned off the computer. The next day they told me that I had been talking in a dream all night. I jokingly said that BASIC was such a thing!
It came with a batch of 6 games (the Psion set, with the Horace saga, Chess, Chequered Flag etc.). Some of my mates got it with the Ultimate games, and I thought they had been luckier, but that's actually because their collection came with the 16K, while mine included some 48K-only titles. It took me a week to buy a cassette deck and learn how to load games. When my father saw them, he liked them and he said: "Now I will save a lot of money, because you will no longer go to the arcades, but stay in and play at home". He wasn't wrong.
What motivated you to create ZX Basic?
As I gained experience with the computer, I became more interested in programming than in games. BASIC was obviously a simple language, waiting to be used. MicroHobby magazine (which we all remember fondly) was another wonder that thrilled us every week, with its crazy ideas, algorithm explanations and tutorials. I have never seen anything like it. Perhaps today, in an era where there is so much information available on the Web, they are no longer as surprising as they were in those times.
I learned BASIC, made some games and played others. I also created a small interpreter for a programming language where each command was made up with three letters... and I tortured the oldest of my sisters by teaching it to her, but she enjoyed it (she has a degree in mathematics today). Despite its expressive strength, Sinclair BASIC was very slow. When I read the speed comparisons of the different BASICs of the time, the Spectrum one turned out to be the worst. I started learning Assembly with a horrible book and some great tutorials from MicroHobby, using a very limited assembler called Ultraviolet, obtained through piracy (they were very hard to find in those days).
Although I had programmed a portion of a game, I never got to do anything else. The point is that I had always wondered: "Why doesn't anyone make a 'converter' from BASIC to machine code?" Time passed, and the golden age of the ZX Spectrum went by with it. The PC and University arrived, I studied computer engineering and found the answer: I discovered compilers and how to create them, and they became my passion.
One day, I came across the first ZX Spectrum emulator and played Manic Miner. I felt a great sense of nostalgia, and started talking about it with various friends. Then came the "retro" mania and in a forum I proposed that idea... and finally, it became reality!
Are you satisfied with the reception with which ZX Basic has been met so far?
I have to say I was surprised. I was thinking of creating a minimal BASIC subset (IF...THEN, LET, POKE, GOTO and if anything GOSUB). This is the minimum to be able to create something compilable and have users do the rest. It was more of a "proof of concept". The thing is, it got a warm welcome and people started asking me for more features. I also liked programming compilers, so everybody benefited from that.
People find it hard to believe, but since 2010 I have been revising ZX Basic to make it a multi-target compiler, i.e. for different platforms, not only for the ZX Spectrum or the Z80, but also for the PC or Javascript. The fact is that I have applied more changes (code reafactoring), but I would say that creating a compiler for an 8-bit system was more difficult than for the PC. Testing is challenging - each version of ZX Basic undergoes nearly 2000 validation tests before release.
Programming for Sinclair (to maintain compatibility) blocks the path to more innovative ideas and slows development. The natural evolution would be to change the language to make it more generic and independent from the platform. This implies a lower compatibility of the syntax with Sinclair BASIC, as it would be more generic, but it could be compiled for many platforms.
Imagine your program running into Javascript in a browser. It is likely that the project will be bifurcated into two programs in the future.
Have you ever thought of making something yourself to show the public the potential of ZX Basic? A game, a utility, a demo...
Yes. I would like to make a game, but I'm ambitious. I'm not good at drawing graphics (strangely, I was better at it when I was younger), It would take a long time and I don't have any. I wish I could create a game to tell a story and, of course, teach people how, in my opinion, certain things should be done with the compiler.
What do you think of the Next?
I had reservations at first, but it seems like a great idea. It revived the passion: the "retro" community was always the same, revolving around the same computers and the same types of games. It was as if there was not much more to say, only to remember. Now it is possible to talk again about a machine to exploit, for playing games, or even to dedicate magazines to. If something like this came out in the late 1980s, it would have been a hit.
What do you think, in general, of the "retro-mania" that has been rampant for years? Is it just a fad like many others, or is there something deeper behind it?
I think it's more than just a fad. These pass. But the imprint microcomputers have left on us, I believe, will last forever. It would be like the fans of some franchise (Star Wars, Star Trek, etc.). This will never end, or at least not in our generation.
Is there anything you would like to say to the readers of the Annual?
I would say thank you for their interest and for reading this interview, and thank you, Alessandro, for your awesome work (with this Annual and with your games!!). I hope that future versions of ZX Basic will keep on being appreciated.
Thanks to you for your time!