Today, I did a thing. I bought a 3D printer for the purpose of printing the badge for the Commodore 1541 disk drive. Yes, it is overkill, but I’ll use it later. I feel justified.
Sometimes a small ZX81 program can still feel like a magic trick. My latest program, MONO LISA, builds a simple picture of the Mona Lisa from a single encoded string using a compact run-length encoding (RLE) style routine. It is definitely slow, but that is part of the charm as you watch the image draw itself across the screen.
I recently got back into retro hardware. My starting point was gaming, as I ordered one of the new Atari 7800s that plays the old cartridges. In my haste to grab a few games, I inadvertently purchased a complete 2600 with controllers. I’ll blame travel and lack of sleep for missing that detail. But it gave me the opportunity to attempt something I’ve never done before: restore the controllers.
I wrote this back in August and I’m finally getting around to publishing it. It was first shared in my BASIC group, but the ZX81 lacks a lot of the functionality needed for it to run well. Undeterred, I hacked at the program to not only display the twisted cylinder, but also add a bit of randomness to the demo.
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.