Having finished my last Truchet tiles program in BASIC, I wondered how fast it would run in machine code. Soon afterward, I gave it a try, writing a version that runs significantly faster than the BASIC one. Let’s dive in and see how it works.
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.
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.
When Simeon Dwyer shared his machine language line drawing routine, I immediately thought of redoing “The Picture.” Most of my z80 assembly has been with my Gem Quest game. I decided it would be a nice diversion to work on something else, even if a quick one. Picture Asm is the result of that diversion.
If you’ve been following me the last couple of months, you know I’ve been revisiting Gem Quest. Intended to be an Ultima style game for the ZX81, outside of a few demo’s I really hadn’t gotten far. That isn’t the case now. I’ve spent the last month learning z80 assembly code and hacking my way through the game. Tracking my progress, I’ve been capturing that journey in pictures and movies, which I’ve uploaded into a Flickr album.