One of the things I’ve wanted to do since I was a teenager in the 80’s is to build a homebrew 8-bit microcomputer. If you scan through YouTube you’ll quickly find that I’m not the only one. In fact many people have done this and done it very well. The question I keep coming up against though is, if I’m creating something from scratch, what would I consider “from scratch” to actually mean?
Many of the implementations you see online for example, will put together a 6502 or Z80 chipset with either a serial interface or a simple video interface and keyboard and plug in a Microsoft BASIC ROM. For me though, I’ve always known that I want to try to write my own version of BASIC. In some instances I’ve found people who have built microprocessors (or parts of microprocessors) from logic gates. This makes the “from scratch’ question even harder to answer. For example, do you allow yourself to use RAM, multiplexer, ALU components etc and create you’re own CPU and memory? Will you only allow yourself to use gates? Good luck if you choose the latter!
Similarly there’s the question of what tools you allow yourself to use. If I want to create a BASIC ROM, is it ‘cheating’ for me to compile the code on my MacBook Pro and test it using an emulator? In the end it comes down to practicality as there’s only so much someone can do on their own or within a small group of hobbyists and makers.
It was while pondering some of these questions that I came across Jeri Ellsworth’s YouTube channel which adds a whole new dimension to the question of what “from scratch” actually means!
While these are not new videos, if you haven’t seen them already I recommend you grab a coffee and spend 20 minutes giving them a watch.