For one reason or another I’ve been thinking a lot about building a computer from scratch.
I’m not going to lie, CollapseOS put the thought into my mind and my tattooist makes some compelling arguments as to why life as we know it will draw to a close. Any certainty to the contrary at least just sounds like the desperate clamourings of cognitive dissonance trying to deny an impending Bad Thing.
But regardless, much like addressing global warming, the thing is that even if The Event doesn’t happen, I’ll have learned a bunch and honestly in lockdown you can’t have too many hobbies.
So like many (at least 2) great thinkers before me I’ve decided to go for a platform that is understandable, robust and ubiquitous enough - the Zilog Z80.
assmebled the SC130, a lovely little starter board designed by Steve Cousins, having a bit of a Google around about my new platform I realised that the Z180 is not in fact just a Z80 in another package… But it looks to be a great springboard regardless as it’s fully Z80 compatible with some extra bells and whistles. I suppose there’s no need to jump straight from i7s to an abacus anyway.
Anyway, here it is in all it’s assembled glory. The build and test instructions were fantastic, especially the page where the purpose of every component on the board was explained. This is part of the reason it’s such a great board - it’s entirely comprehensible.
Resources for the SC130 are all hosted at Small Computer Central but I will be taking an archive naturally ;)
So I have the computer working just great. The 512KB ROM comes with ROMWBW pre-flashed, which is a firmware bundling a bunch of things including CP/M, ZSDOS, Forth and Basic (not to mention a baked in 2048 clone)
It’s not exactly the most self-sufficient thing just yet though. For starters, I need some safely writeable storage which is going to come in the form of the SPI microSD card adapter (although you can actually modify the flash if you un-bridge the write-protect jumper). I’m off to pick up a couple today.
Then I need to figure out how to make it a standalone computer by giving it it’s own video out and keyboard input. This could be pretty interesting, there are boards out there but I’d really love to learn something by building my own solution. This could either be a standalone serial terminal module, or an actual graphics output for the board itself (which would allow me to continue to draw sigils which is likely what I’ll want to do shortly before I get attacked by roaming maurauders.
A self-sufficient computer should be able to self-host. This might be a tricky one, but I’m probably going to have a play with Fuzix later today which apparently has its own C compiler. This would obviously be great if it’s actually a self-hosted OS because I’m already familiar with Unix paradigms,
Failing this it’s going to be about learning CP/M or ZSDOS and figuring out how to use either the Forth interpreter or ASM to build out new features.
There’s also CollapseOS which is designed to self-host and to also bootstrap other tech - I’d love to see if I can flash an AVR from it!
This is all tremendously exciting though
Ever since I’ve thought of the idea, I’m taking it to logical extremes in my head… The most hilarious of these is that I’ve kinda wanted to build a generator for a while, probably out of a lawnmower or motorcycle engine or something.
I love the idea of building it into a computer and having the computer actually regulate the thing too. It would be a great party piece at hacker camps.
I mean whilst we’re at it, if I’m going to be a complete fucking lunatic, we may as well also build it into a faraday cage to protect the ICs from global thermonuclear war. Fuck it, why not.
This is the thing I’m still unsure about - what will the ubiquity of displays be like after The Event? I think building a standalone RS232 terminal that can output to VGA and composite is probably the best scavenging solution, but then again most displays are HDMI these days which means they likely have a limited shelf life and would need a more complex microcontroller than the Z80 itself just to output anything.
Yes I am managing to keep myself busy during lockdown