Inkbox Builds a Custom Computer with a Difference: It Lives Entirely Within Microsoft Excel Files
Running at an admittedly sedate 2-3Hz, this 16-bit CPU — with 128kB RAM and a 4k monitor — proves Excel's capabilities.
Pseudonymous developer "Inkbox" has built a 16-bit processor, connected to 128kB of RAM and a 4k monitor, with a difference: the entire thing lives in a pair of Microsoft Excel spreadsheet files.
"I designed my own 16-Bit computer in Microsoft Excel without using Visual Basic scripts, plugins, or anything other than plain Excel," Inkbox explains of the unusual project. "This system on a spreadsheet is based off of a custom Instruction Set Architecture [ISA] that has a total of 23 instruction mnemonics and 26 opcodes."
Excel, Inkbox points out, is technically speaking "a very competent computer" — if you use the definition of a computer being "something that computes." For this project, though, Inkbox has a more strict definition: a central processing unit (CPU) connected to memory and some form of display. "Is it even possible," the developer asks of the project's intention to create exactly that in Excel. "It's the best kind of possible: theoretically possible."
The resulting "computer" is held in a pair of Excel spreadsheets: one holds the CPU, built around a custom instruction set architecture, while the other holds the system's ROM. A Python-based compiler is also provided, to create programs compatible with the machine — using an assembly language Inkbox has dubbed "Excel-ASM16."
The machine as a whole includes the 16-bit CPU and 128kB of usable RAM, and uses Excel as its display — showing its output on, in Inkbox' case, a 4k monitor. It's not exactly a speed demon, though: "the CPU, working its hardest, isn't running any faster than two or three hertz," Inkbox admits. "The footage of all these programs [I've demonstrated] has been very much sped up. But still, I think this could be a useful tool to show the inner workings of a processor one clock cycle at a time — and maybe it'll run faster on your machine."
Excel is an unusual choice for building your own computer, but it's not the strangest: back in July last year engineering physics student Xander Naumenko showed off a 32-bit RISC-V CPU running in the sandbox game Terraria, while a year earlier Danny Spencer had turned Id Software's iconic first-person shooter Doom into a functional calculator.
Inkbox has released the source code for the CPU and is compiler, along with instructions on its use, on GitHub under the permissive Creative Commons Zero 1.0 Universal license.