ZX81 Computer


Showcasing monthly programs, a retro look at my my first computer.

Living Dangerously With Math by Running the Collatz Conjecture on the ZX81

Collatz Conjecture, Starting ZX81 Screenshot, 2024 by Steven Reid

As plans go, I actually have a few programs teed up to share. Many are smaller programs that I could work on here and there. Occasionally, I run across an idea that upends those plans and I end up going another direction. So, here we are in September with a math program for the Collatz Conjecture.


Writing a Utility Program for the ZX81 Was Such Fun

ML Basic, Print Scroll 2 Output, ZX81 Screenshot, 2024 by Steven Reid

Sometimes, you do things out of necessity. I spent an inordinate amount of time working on adding automatic scrolling to a PRINT command. In fact, I haver another version of my print scroll routine I’ll talk about later. But this is about a utility program. A way to print out BASIC code in hex. And this article is about what I did and why.


Infinite Scrolling on the ZX81 with Machine Code Magic

Print Scrolling, ZX81 Screenshot, 2024 by Steven Reid

Finding inspiration again from my programming groups, the idea of an infinitely scrolling screen of text came up. There were a couple of different solutions posted, some quite ingenious. I had done something similar in the past, but this time I used a bit of machine code magic to create a more flexible solution. The result is Print Scroll.


Getting Creative with Custom Print Formatting on the ZX81

Print Using Emulation , ZX81 Screenshot, 2024 by Steven Reid

My ZX81 programming has taken a back seat of late as I focused on other activities. Whether family, work, or the latest video game update, I haven’t put as much effort into finishing projects. For this month, I decided to focus on tackling an interesting problem, emulating the PRINT USING command.



Crafting Mazes for the ZX81

Maze Generator, ZX81 Screenshot, 2024 by Steven Reid

Something I’d been itching to do is write a maze generator. Even though they seem simple enough, for some reason, I struggled to code one. With so many different algorithms out there, the sheer number of choices can be overwhelming. It wasn't until I took a vacation that my mind settled down enough for me to finally tackle the task.


Crafting Black Hole Graphics on the ZX81

Black Hole, ZX81 Screenshot 3, 2023 by Steven Reid

I had forgotten about this Black Hole program until I ran across it while cleaning up some directories. It is a conversion, not an original, program that was shared on one of my BASIC forums. It doesn’t look quite as good as the original, but it was interesting to see what the ZX81 could do with its simplistic graphics.


ZX81 Aquarium Makeover—Revamping Kimmie Fish in Assembly

Aquarium Screenshot 1, 2024 by Steven Reid

While on vacation, I spent some relaxing time converting my Kimmie Fish BASIC program into something a bit more interesting. In addition to the normal speed improvements, I wanted to give it an aquarium like feeling with bubbles and depth. No color here, this is all stock ZX81 graphics. Only thing needed is the requisite 16K memory pack.





Beyond the Atari: A Pitfall! Simulator for the ZX81

Pitfall! Simulator, ZX81 Screenshot of the Starting Room, 2023 by Steven Reid

Pitfall! without the peril, with this accurate ZX81 simulator.--> While contemplating what ZX81 program to write about this month, I completely forgot that I had created a Pitfall! Simulator. It began as a fun project to occupy my time during winter break. My initial goal was to recreate David Crane's LSFR (Linear Feedback Shift Register) in Z80. However, after learning more about its functionality, I took the project much further than I had originally intended.


A Trip Down Memory Lane: Recreating “I Was Here” in ZX81 BASIC

Here, ZX81 screenshot, 2023 by Steven Reid

A recently posted meme reminded me of the silly things we did on computers. In the early eighties, most computers came with BASIC as their default OS. A common starting point was a s simple “hello world” program. But almost as often, someone wrote something a bit more personal. This is my tribute program to the “I was here” concept of those days.


How to Create an Infinite Maze on the ZX81

Infinite Maze, ZX81 Screenshot, 2023 by Steven Reid

I saw the Commodore 64 maze generator for years, but ignored it on my ZX81 for different reasons. For one, the characters needed didn’t exist on the ZX81 keyboard. The other was the lack of automatic scroll. Undeterred this month, I created my own version in Sinclair BASIC. I’m quite happy with the results, even if not quite the same.



Chunky Graphics for the ZX81: A New Way to See the Mandelbrot Set

Mandelbrot Set with Chunky Graphics, ZX81 Screenshot, 2022 by Steven Reid

After completing my Chunk Graphics mode, my thoughts went to how best to use it. My first idea was something new, such as a flight simulator. After pondering, I stuck with something current by modifying my Mandelbrot Set program. With three gradients, it would be an interesting use of the mode.


Exploring Chunky Graphics: A New 3-Color Screen Mode for ZX81

Chunky Plot, 2022 by Steven Reid

Out on a run back in November of last year, I had this idea to create a 3-color screen mode of the ZX81. The idea was to use the checkered, or gray, graphic characters to add a third color. After reading about the C64 color modes, I called it chunky graphics as an homage to its wide pixel format. The pixel’s are chunky due to the 2x1 ratio and not being square. Let’s dig into the details.


Meow in Motion: A Z80 Assembly Version of a Classic Cat Animation on the ZX81

Fast Cat (Cat ASM), ZX81 Screenshot #2, 2023 by Steven Reid

After finishing the basic version of the cat animation, I wanted to improve the frame speed. This meant converting from BASIC to machine code. My first thought was to do the conversion with MCODER II. I dropped that idea, deciding to focus on a custom z80 Assembly version. Ergo, cat written in assembly or Fast Cat is, well, a faster version and a bit more.


ZX81 Digital Rain: A Retro Display of the Matrix Code

ZX81 Rain, Chroma ZX81 Screenshot, 2023 by Steven Reid]

The holiday's provided me a nice break to enjoy writing code. During that time, I revisited my digital rain program. For ZX81 Rain, I cleaned up the colors and added a little randomness to where the drops start. Nothing super exciting, but the overall effect is much nicer and looked good in both black/white and color on the ZX81.


Accelerating FizzBuzz on the ZX81: A Basic Guide to High-Speed Integer Printing

FizzBuzz 2, ZX81 Screenshot, 2023 by Steven Reid

Reading some old programming books from the eighties, I saw that the ZX81 had an ABS command that made me think I could improve my FizzBuzz program. It was late and my mind mixed that command with a modulus one, which the ZX81 doesn’t have. In any case, it offered me an excuse to fix the latency introduced by printing numbers.


Playing With BASIC by Revisiting My Retro E.T. Game for the ZX81

E.T. 23, Getting a Phone Piece, ZX81 Screenshot, 2023 by Steven Reid

I had this idea the other day. One of the problems I’ve had with the ZX81 is printing numbers, which is pretty slow. Due to this, many of my games avoided printing them. delaying showing score until after play has ended. My idea was to try to find a way to speed that up. Not only did I find a way, I decided to implement it in an older game of mine: E.T.


Cat’s Can Be Fun on Computers Too

Cat Animation, 2023, ZX81 version by Steven Reid

A recent post in a Facebook BASIC group of a cat animation. A couple of other members converted it to their BASIC code of choice. Mine being the ZX81, I promptly worked on a version for it. I created a mostly full screen version, which tends to show how slow the ZX81 really was. In any case, it was quite a fun little exercise.



Let’s Have Fun Playing Snake on the ZX81

Snake! Growing Screenshot, 2022 by Steven Reid

I’ve been on a retro computing binge lately and was recently watching one on programming on what it was like to program in the 80’s. Having lived and programmed during that time, I know full well what that was like. But the narrator was showing off an Apple ][+, a computer I didn’t own. Although I programmed on an Apple ][ in high school, my memory of it is vague at best. But what was really interesting was what he was programming: a snake game. Being something I’d never tried myself, I thought now would be as good time as any.