This month’s program is a bit of a departure. It is a take on the classic "Wolf, Goat, Cabbage" puzzle. The twist is, I didn’t write this one. Instead, I decided to update it to make the interface a bit easier to use. Let’s dive into the code.
After updating my print scroll routine, I started thinking about how I could use it to create a different version of my infinite maze program. The original used graphic characters and spaces since the ZX81 lacked a backslash. This new version takes a different approach, using alternate graphics to build a more visually interesting maze while leveraging a better machine scrolling routine.
I’d read about and studied cellular automata but had never programmed any simulations for them. Conway’s Game of Life is the go-to simulation and something others had already implemented on the ZX81, even when I was a kid. I finally got around to typing in some of those programs but found them slow. My version aims to correct that.
Another year and another Vintage Computing Christmas Challenge (VC3 for 2024). I rushed a bit to get mine in so I do feel it wasn’t as short as possible. I did take a somewhat unique route to solving the problem which makes the build more interesting. I made an auto-run version for Present so you could see it in action.
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.
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.
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.
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.
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.
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 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.
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.
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.