=> 🏠 home

Retrocomputing as form of progress

2023-04-15

I honestly believe much less power-hungry computers for the average user are the way forward.

I couldn't sleep the other night, and instead of doing anything that might actually help me sleep I went down an internet rabbithole of self-made 8-bit computers built around the Zilog Z80.

Now, the Z80 might need some introduction these days: It is a CPU that is 50 years old and still in production.

Let that sink in.

It has an 8-bit address-space and a 16-bit memory address space: 64 kilobyte of memory is all you're ever going to get (unless you cheat with paging ;) ). It still being in production makes it a CPU that is quite commmonly used in DIY retrocomputing projects — common as far as anything in a niche culture can be.

Finding those projects made me remember my own abandonned Z80 project. Fond memories came up, and the urge to dust if off and complete it.

Building a computer around the Z80 is actually very simple: CPU, a clock circuit, ROM and RAM chips are all that's required.

It gets tricky — or trickier at least — when it comes to input / output. I/O over a serial connection is relatively easy but then you're using the Z80 by means of another computer and that somewhat defeats the purpose.

But creative and clever people have developed all sorts of interface options: Storage on SDcards, Compact Flash, even IDE hard drives. None of which existed in the era of the Z80. Soundcards and video cards. USB keyboard and mouse. The list goes on.

Most video options in the retrocomputing scene involve microcontrollers clocked many times faster than the Z80 itself and with more RAM, too. That seems odd but todays' monitors and the digital interfaces needed for them make more “era-correct” solutions prohibitively complex.

This apparent paradox made one approach I found in at least two designs quite appealing:

Build a Z80 computer core as described initially, out of discrete ROM, RAM, … chips. Then connect it to a “virtualized” I/O ecosystem, simulated by a microcontroller. This enables you to use a USB-keyboard for input, SDcard for storage and a SPI-connected LCD display with relative ease.

The whole system would still have a relatively low part-count due to the feature density of the microcontroller, and low cost since most microcontrollers cost less than the Z80 and its memory components these days.

This still begs the question of why use the Z80 at all. If a microcontroller can simulate the whole I/O ecosystem, it can probably do a little computing ‘on the side’ as well and replace the Z80 altogether.

The answer I found for myself to this question can be summed up in one word: “longevity”. The Z80 is easy to understand and being in production after 50 years is testament to its utility. I could use the microcontroller as “bootstrap”. An initial version of a computer that can be built somewhat quickly. The initial version of the working system would serve as a point to jump off of to complete the system and grow it into something permanent, without needing the microcontroller.

Later, when the microcontroller will inevitably go out of production and be replaced by a newer model, the Z80 will probably still be there. Parts could be replaced and the whole tyranny of obsolescence could be avoided.

What does this all have to do with the “progress” mentioned in the title?

Reading the books that I decently did has changed my view on what progress is for me.

I no longer apply the “progress” tag automatically to the latest, newest, shiniest thing that gets thrown onto the market. “Progress” has (again?) gotten a correlation to the question “is it better?”

The latest AMD Threadripper is many orders of magnitude more powerful than a Z80, but my journey from such a machine to a Raspberry Pi as my main computer has shown me that “more powerful” doesn't automatically mean “better”.

I am definitely getting more done on the Raspberry Pi than I did on the Threadripper.

I do procrastinate less (that means “better” for me). I am less distracted by YouTube, Netflix and such. App notification bubbles simply do not exist on my system (again “better” for me). My system uses a lot less electricity (better for the wallet and the planet).

So in that view, the much less powerful system still allows me to do everything I need to get done, gives me a healthier setting and is more eco-friendly. At the same time there are no real downsides — minor inconveniences yes, but no downsides.

Bottom line is this: The less powerful system is progress for me. It is better — for my situation — than the one before it and thus marks progress.

Progress could be described as one more step in the given direction (towards a worthy goal). In that sense the Raspberry Pi system is one such step.

Ever more powerful computers are not automatically “progress”. Think about it: One more step in the given direction will eventually bring you past your goal. From then on any step in the same direction will move you further and further away from that goal.

Is my current Raspberry Pi system the ultimate achievement, have I reached the goal? Of course not.

The Raspberry Pi system — naturally — still has complexities and complications that I have a hard time to control or get rid of. It still runs a modern Linux system. Linux is fantastic, but it is complex and not always intuitive.

So why not look for another step in that direction of lower power, fewer-moving parts computer systems as a form of progress?

This form of progress, like all, will have its end of course. There certainly is such a thing as a too-simplistic computer system for every day use.

But during that long, sleepless night I came to the conclusion that it is hard to foresee where that tipping-point actually is.

Maybe it is already reached when my main computer can no longer use the internet 🤔.

Maybe I learn to live without internet altogether or internet only on my phone. Maybe a Z80 system would show me a way to another step of progress, one that doesn't need computers at all.

Food for thought!

Links

=> Oberdada - It seems we share some thoughts on progress | Z80 on Hackaday.io | Z80 Family official support page | Ben Eater 8 bit computer


=> see all my articles

Proxy Information
Original URL
gemini://laniakea.rodoste.de/journal/2023-04-15-retrocomputing-as-form-of-progress.gmi
Status Code
Success (20)
Meta
text/gemini; lang=en; charset=utf-8
Capsule Response Time
660.615985 milliseconds
Gemini-to-HTML Time
1.114849 milliseconds

This content has been proxied by September (ba2dc).