Phil Danne

RGB Fire Demo

My early programming experiences could be described as “wandering.” I spent a significant amount of time writing code in the only interpreter I had access to, but rather suddenly jumped off the high-level language cliff to write nothing but x86 assembly and machine code by hand.

Being the early days of the internet as we know it, many of the best resources for information on this low-level topic were still bound in paper books, and each new trick I learned was quickly gobbled up and incorporated into whatever hobby project I was writing at the time.
In an effort to find interesting assembly and machine code examples to learn from, I stumbled across a piece of code that continues to fascinate me, even some 20 years later; the 128-byte fire demo.

Apparently, in the BBS days before my time, there was a competition to fill your screen with the best looking fire animation, using the fewest bytes of compiled code. 128 bytes was a common benchmark, but 512, 256, and even 100 byte demos appeared.

One particularly impressive example:

I decided to revisit this concept, and combine it with the idea of a digital picture frame. I referenced existing fire source, and spent my lab day rewriting it in python, bringing into the physical world via a 32 x 32 RGB Matrix, creating a heat-free indoor fireplace.

I failed to capture any high-resolution images of the screen, but this frame capture from a video I took shows the general flame pattern created across 1024 pixels.

An early-season snow helped set the tone!

< Back to Labs