20260824

Video feedback fractals almost work on Commodore 64

I first saw video feedback fractal rendering in the early era 2000s music visualisers: They copied pixel colors from a previous frame, using texture coordinates that implemented the distorting, folding of a complex conformal maps.

This is fast and (comparatively) easy to code: You assign each pixel a coordinate z in the complex plane, apply your map like z'←z²+c, and then map back to screen coordinates. The texture coordinates can be cached, reducing each frame to a single texture pull, and giving good performance on limited hardware.

A few months ago, I was programming feedback fractals on an AtMega328P-based Arduino, and was wondering: Does this technique perform on retro 8-bit computers like the 1 Mhz Commodore64?

It seems the answer is... almost , or perhaps yes ? Take a look on YouTube .

On the Commodore 64, even a small 128×64 region using double-sized 2×2 pixels seems to render at at most 4-6 frames per second. I tried a few different approaches, and this is as fast as I can get it. Even this is a bit miraculous: 128×64 is 8,192 pixels. If I'm calculating this right, at 4 frames per second with a 1 MHz clock, we have only 30 CPU cycles to update each pixel (on average). 

The code is here on Github, although its a bit of a mess.  



20211010

Semigraphics, ANSI, unicode, and an Arduino LCD-screen terminal

(github repo is here)

vidlink

I've been playing with retro-styled interfaces terminal lately. The unicode box and block drawing characters are wonderful for this, especially "symbols for legacy computing" . These include characters from classic computers of the twentieth century, and the block-diagonal teletext characters.

These can be combined with ANSI escape codes for styled and colored text. Which all led me to ask: How hard would it be to support these features on an Arduino terminal display? This question led me down a rabbit-hole of vt100 terminal emulators on the Arduino. 

20210629

Plot the price of bitcoin directly on the command line

Here's a python script to plot the price of cryptocurrencies directly on the command line. 

This a single python script, which depends on the requests, pandas, and numpy packages. It uses the Symbols for Legacy Computing unicode block for plotting directly inside the terminal emulator. Most terminals based on the Gnome terminal support these characters.

I make no apologies for the garish color scheme, which is based on what I imagine people in the 1980s imagined the future would look like. You can edit the ANSI color codes in the source to suit.

This pulls price data from the Kraken exchange, but it is not affiliated with Kraken in any way. It's intended as a minimal demo of interfacing with Kraken's REST API, as well as a demonstration of the possibilities of semigraphics characters in modern terminal emulators.


To changes colors, styles, defaults, etc, edit the python source code. This is provided as a self-contained demonstration of calling Kraken's REST API and plotting using unicode characters in the command line. The expectation is that users will modify/incorporate parts of this into their own script.

20210206

Ray's Maze, after all these years

In 1986, Silicon Beach Software released World Builder, software for creating adventure games with a text interface and accompanying black-and-white graphics.

Four years later, Ray Dunakin released "Ray's Maze", a World Builder-based puzzle game that was both addictive and immersive, despite (or perhaps because of?) the primitive graphics. Ray would go on to release two sequals in the same universe, "Another Fine Mess" (1992) and "A Mess O’ Trouble" (1994).

The games found me via mail-order shareware floppy disks circa 1998. I played them for hours, days, months on end. I never beat a single one. They can be downloaded, but are hard to play without a classic macintosh. "A Mess O’ Trouble" has been ported to run on modern macs.

Now, decades later, I have managed to beat one of these games: "Another Fine Mess" (with the exception of one puzzle). 

... On "Ray's Maze" I can't figure out how to kill the lava monster or what the balloon is for.

... On "A Mess O’ Trouble", I payed for the latest mac port, which includes an invaluable book of hints and maps. I remember playing through nearly all of it, but I can't remember how it ends or whether I ultimately finished it.

The community of players has all-but vanished, but to me these games are still better than many modern releases.

If anyone else is our there, still playing, thirty years later, I've drawn up a map of the parts of Ray's maze that I've been able to access. Perhaps we may yet learn how it ends.