you to specify names. It also can be used to help you identify particular instruction sequences. I had my own disassembler that I could use to create reasonably nice listings. When something didn’t work, I could go in and tell it to find the listing from a particular spot, and I could see everything that the operating system was going to do. Sometimes I used the disassembler not because something was buggy but because I was trying to understand what it was supposed to do.
One of the things I hated about the QL was that it had a read-only operating system. You couldn’t change things. It did have hooks—places where you can insert your own code to take over certain functions—but only at particular places. It’s so much nicer to be able to replace your operating system completely. Doing an operating system in ROM (read-only memory) is a bad idea.
Despite what I’ve said about Finland being such a technology butt-kicker, the Sinclair QL wasn’t making big inroads in Europe’s seventh-largest nation. Because the market was so small, whenever you wanted to buy upgrades for the iconoclastic, leading-edge machine, you had to do it from England, via postal order. It involved scouring catalogues until you found someone who sold whatever it was you wanted. Then you had to get together certified checks and wait weeks for delivery (this being before the days of Amazon.com and credit cards). That’s what I had to do when I wanted to expand my RAM from 128 kilobytes to 640 kilobytes. That was the drill when I bought a new assembler, to translate assembly language into machine code (the ones and zeros), and an editor, which is basically a word-processing program for programming.
Both the new assembler and editor worked fine, but they were on the microdrives and couldn’t be put on the EEPROM. So I wrote my own editor and assembler and used them for all my programming. Both were written in assembly language, which is incredibly stupid by today’s standards. It’s complicated and time-consuming—I’d guess it takes a hundred times longer to solve a problem in assembly language than in the C language, for example, which was available at the time.
I added a few commands to the basic interpreter that came with the machine so that when I wanted to edit something I basically just ran my editor automatically and it was instantly there. My editor was faster than the one that came with the machine. I was particularly proud of how fast I could write characters to the screen. Normally, with a machine like that, it would take so long to fill the screen with characters that you could see text scroll. And I was pleased with the fact that with my editor, you wrote text so fast that when you scrolled quickly down you created a blur. That was important to me. The improvement made the machine feel much snappier, and I knew that I had done a lot of work to make it operate so fast.
At this time, there weren’t very many people I knew who were as involved in computers as I was. There was a computer club at school, but I didn’t spend much time there. It was basically for kids who wanted to know about computers. There were only about 250 students in my entire high school, and I don’t think anybody else had been using one since the age of ten.
One of the big things I liked doing on my Sinclair QL was to make clones of games. I wrote clones of the games from the VIC-20 that I had enjoyed and sometimes I added enhancements. But mostly they were not better: a better machine, not a better concept.
My favorite game was probably Asteroids, but I could never make a good clone of it. The reason was that, at the time, all the arcade Asteroids games were done with real vector graphics. Instead of having graphics based on small dots—pixels—they had graphics that were actually done the way a cathode-ray tube (CRT) works, which is to have electrons shot out from an electron cannon from behind the CRT and deflected with magnets. They got much
William Wayne Dicksion
Susan Macatee
Carolyn Crane
Paul Fraser Collard
Juliet Michaels
Gail Chianese
Naima Simone
Ellis Peters
Edward L. Beach
Helen Cooper