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.
Simply… Brilliant!
… Totally agree – What an amazing teaching tool for the low level workings of a micro – with Excel based “Microcode” – And with an Assembler.
Yep, nice to see a spreadsheet abused like this. Revenge is sweet.
Might have to call Spreadsheet Protection Services.
Heh, I remember when Excel had a “flight simulator” Easter Egg embedded in it.
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.
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.
I think it’s astonishing how people can be fascinated by something so BASIC.
I mean, considering all the work spent for making a few colored pixels crawl from A to B.
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.
you could post this on SO MANY microcontroller projects on HackADay, but it’s about the journey not the destination
I’m pretty sure I’ve seen something similar done before (maybe 8 bit?), still, it is impressive and a useful aid to understanding how a CPU works.
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!
That’s what prepaid credit cards are for. Virtual numbers as well, but less cards have those.
https://usa.visa.com/pay-with-visa/find-card/get-prepaid-card
An even better option is privacy.com
Next challenge: Make it run a database program. Then there can actually be some truth to saying “Excel is a database” 😂
MORE insanity… not for the weak:
https://excelunusual.com/
Nice to see things like these! Previously: https://hackaday.com/2014/12/25/writing-a-virtual-machine-in-excel/ Interested what will come in 2034!