How To Build Your Own 16-Bit System-on-Spreadsheet

Back in the hazy days of the  early home computers, many of us would rejoice at running our first BASIC applications, some of us even built our own 8-bit system from a handful of ICs and felt elated the moment the connected LEDs, screen or other output device would show signs of life. It is this kind of excitement that [Inkbox] has managed to bring to the bane of every office worker: spreadsheet programs like Excel. How, you may ask? Why, by implementing a completely functional 16-bit system with 16 general purpose registers, 128 kB of RAM and a 128×128 pixel color display, all inside an Excel spreadsheet, making it conceivably the world’s first System-on-Spreadsheet (SoS).

Perhaps the most tantalizing aspect of this approach is that it provides a very good visual way to indicate what is happening inside the system using color codes and clearly segregated and marked functional elements. Not only can it be programmed manually, but [Inkbox] also created an assembler for the CPU’s ISA – called Excel-ASM16 – all of which is available from the ExcelCPU GitHub project page. The ASM is assembled into a ROM.xlsx file that can then be run by the CPU.xlsx file by triggering the Read ROM button. After this you are confronted with the realization that although it all works, it’s also incredibly slow, at about 2-3 Hz.

Still, with all the elegance of an IMSAI 8080 front panel, we cannot help but give full points for this achievement. Plus it gives many of us something to do during those exceedingly dull meetings where only serious applications like office suites are allowed.

17 thoughts on “How To Build Your Own 16-Bit System-on-Spreadsheet

  1. I tried doing this a while back, mostly with the aim of testing out a custom encryption algorithm.
    As much as I appreciate the challenge of doing it purely in excel formulae, I do wonder how fast this would go if it was transferred to vba and just updated the cells as a status indicator.
    Having been down that road before, it’s always amusing to see how long and convoluted excel formulae can get.

  2. One note to add, if you have excel changing colours of cells based on their values, after copying and pasting them around, you’ll find that excel has made many copies of the rule, if you consolidate them into one, by merging all the references together, you’ll make a big difference to the run speed. Similar can be said for the project size, excel likes to keep empty cells. When your project is done, move the whole thing to a new blank sheet, it’ll probably take up a lot less memory. In some cases it’s the difference between hanging on load or crashing completely and smooth fast operation.

    1. I mean, if you reduce everything to your own sensory inputs and never look deeper than that, then the world is a much less fascinating place. Understanding why and how you are experiencing that, is what makes the world interesting.

  3. Here’s the problem with the sponsor, Brilliant—you have to give them your credit card info to get the 30-day free trial, and without that you have NO idea how it all works and whether it might fit your style of learning (or, heck, whether or not it’s all just a big scam). Given all of the infamous problems with cancelling “trial” subscriptions, this is a huge, fatal red flag. If you’re so brilliant, Brilliant, then FIX THIS!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.