Hearthfire Part One: Lighting the Flame

Every so often a project lodges itself in your brain and refuses to leave quietly. This began as a late‑night thought experiment, the kind that keeps circling until you either build it or write it down. For months it’s been pacing around the edges of my mind.

What if I knew what I know now, but I lived in the 1980s and worked for a plucky home computer maker?

“The games you get today, well they might be very flash, but they’ll never beat the thrill of getting through jetpack.”

The spark came from a familiar place. I’d been following the Commander X16 project, a modern reimagining of what might have happened if Commodore had stayed the course with the 6502 instead of leaping to the Amiga. The X16’s operating system keeps the approachable, single‑tasking spirit of the C64 and even followed through to shipping real hardware you can buy today. Watching that project take shape made me wonder about a different branch of the timeline. An 8‑bit machine that embraced pre‑emptive multitasking, shared memory regions, and a more ceremonial sense of system design.

That curiosity sent me digging through old notes, where I recently found some early sketches I thought I’d lost. Thirty or so years ago, a colleague told me about how the keyboard interface worked on the Sinclair ZX Spectrum. A simple 50Hz timer on the CPU’s interrupt pin. Could that open the door to full multitasking on such a humble machine?

My notes from that conversation were rough, but the core idea was already there. A system where swapping a page wasn’t a hack but a first‑class architectural gesture. A machine that could perform true multitasking, not by accident or redirecting OS calls and other such clever trickery, but by design.

Hearthfire grew from that seed. A computer could treat its shared resources not as bottlenecks, but as a communal hearth. A warm centre where processes gather. A system shaped by the constraints of the era, but guided by a modern understanding of how operating systems can cooperate rather than compete.

And because every world needs a spirit to inhabit it, Hearthfire has Bytewisp 🔥, a tiny ember‑sprite who drifts between pages, curls up in unused bytes, and serves as a gentle reminder that even the most technical systems can have a little soul. You’ll see her appear throughout this series, offering commentary from the margins.

🔥 “Bill thinks ths is cute. I’m not so sure.”

This post is simply the declaration. Hearthfire exists — or at least the idea of it does. What follows in the next instalments is an attempt to get it out of my head and onto the page. To stop it keeping me awake at night and start shaping it into something coherent. But do bear in mind I’m probably not going to actually build this. It has been two decades since I wrote a line of C code or 6502 assembly. But if anyone does want to go ahead and build something to this design, please do with my blessing.

🔥 “If someone builds it, I promise to keep the pages warm.”

In Part Two, we’ll begin with the memory model. Sixteen 4K windows into a much larger space and a page‑swapping mechanism that makes pre‑emptive multitasking not only possible but elegant. We’ll talk about how Intel got tantalisingly close to a great architecture with the 8086, but dropped the ball at the last moment.

For now, consider this the lighting of the first flame.

Welcome to Hearthfire 🔥.

Credits
📸 “Cat on a laptop” by Doug Woods. (Creative Commons)
🌈 Andrew Langstaff for cluing me into how the ZX Spectrum works.
(And for the round of drinks.)