Palimbit didn’t start with a plan; it didn’t even have a name. I had several lines of work and ideas open at the same time, they kept getting in each other’s way, and I needed somewhere to sort them out.

This Labbook is that place. Here I write down what I’m trying, why it matters to me and what I’m learning along the way. Each project’s technical documentation lives elsewhere.

What I know and what I assume

In emulation it’s easy to accept an implementation that works but doesn’t behave like the real machine. That’s why I’ll be clear about the state of each thing. I’d rather admit that some parts are made up just to get it working, and that I’ll move closer to the real thing as I clear up each unknown. I’ll also write about the failed attempts, because hunches don’t always pay off.

Three projects

BluMach → CoreMach → BareMach… and probably a few more.

BluMach: a fork of the great 86Box. Why another fork? Because I like presenting the machines differently: not building generic clones, but showing them with the configuration they were sold with, their history, their brand and their manufacturer, and documenting them, or at least trying to.

CoreMach: an attempt to change BluMach’s architecture, because not everything is a PC. There are plenty of computers with architectures other than x86 and with a smaller audience, but for some of them there is enough information to try emulating them. This works at the level of individual clock ticks, and that comes at a cost: CPU.

BareMach: an experiment that has failed, for now. It derives from BluMach and CoreMach. I thought: what if I boot it on a Pi with Circle, on bare metal? It booted, on a humble Pi 3, but at a fifth of the real speed and on a single core :-( I’ll keep squeezing this Pi: I still have 3 cores left to optimise :-)

I don’t know where this will end up. Maybe in a month I’ll get bored, the emulation will fall short and I’ll drop it, or I’ll get lost in other projects, or not. Either way, I’ll leave the story here.