8-bit nostalgia

Share on:

8-bit:

Back in the 70s and 80s we had a lot of fun with 8-bit machines. You could buy them for the cost of a used car and run them at home using your television as the screen. There were of course variations on this theme for years, but most people of my generation first experienced computers in this way from a limited number of options, and for many of us we loved it.

I personally started with the Sinclair line. Most people that did started with the Timex Sinclair, but I go back a little before that. We couldn’t really afford the more advanced Apple or Atari options at the time and the $200 ZX80 was almost too good to be true. We had one and the the shortcuts to make that thing work were almost more confusing than informative.

Sinclair ZX80, Daniel Ryde, Skövde from Wikipedia

It overheated and Sinclair was nice enough to replace it with a ZX81 (what was later rebranded as the Timex Sinclair). Mine in it’s current state is pictured at the top. I learned a lot using this machine and it hooked me on computers for many decades.

I delivered the Washington Post for many years and used the money to buy an Atari 800 a few years later. This machine was much more capable. While I played games on it I also learned assembly language and started to understand the structure of the CPU, RAM and bus. One of my favorite computer books is still Rodnay Zaks', Programming the 6502 for how clear it was in making a dry and complex subject for a uninformed teenager.

Atari 800, Evan Amos from Wikipedia

I of course migrated through the 16 bit (Atari ST and IBM PC), 32 bit (386, 486, Pentium, etc) and arrived at 64 bit (first with a Dec Alpha, but almost everything over $25 is today) class machines. Your are almost certainly reading this on a 64 bit machine. They are common place and we take them for granted, but they are also too complex to get your head around. That makes a lot of people nostalgic for those 8-bit machines of yore.

Nostalgia

A 6502 only had roughly 3500 transistors in it. The Z80 had roughly 8500. While most people didn’t know the chips at that level, the number of gates were small and the operational units were rather simple. You could understand the whole CPU from the point of view of an instruction, registers and bus in your head. You could slap together a Z80 machine with a couple chips and wire wrap tool in a weekend or two.

I often want to go back to something that I can wrap my head around. Our technology today is a wonder, but even for simple microcontrollers we are getting manuals that are 1000+ pages. This is a lot of what drives nostalgia beyond just remembering the good old days. We see it in languages and OSs occasionally also.

The good

I think remembering these simpler days is good to keep us grounded and maybe head off some complexity in future designs. Knowing that things can be simpler and having an emotional attachment to that can benefit future designs. That is a good thing.

The people that recreate some of the 8 bit machines in FPGAs or discrete components are spending their time preserving the past and creating learning opportunities for themselves and maybe a few others. That has value, although I’ll be honest I would not spend my time doing it as an homage to the past.

Keeping the machines operating is also a worthwhile endeavor, and one that is going to be more important as we move forward in time. A lot of our 8 bit computing history is on the verge of being lost. We can thank places like The Computer History Museum (although I think they have lost a lot of direction since moving to the valley) and The System Source Computer Museum (a national treasure that needs to be formally curated and preserved) for preserving a lot of this.

The bad

Now we get to what drove me to write this blog post today. For a number of years I have been seeing 8-bit projects that bother me. In the last 24 hours I have seen 2 pop up on my screen and it was too much.

This is where people use some modern technology to breath new life into one of these old machines. The problem is that the new technology, like a Raspberry pi is hundreds of times more powerful. WTF are these people doing?!?

Last night I was looking into bare metal programming on the Raspberry pi (another cool topic for another day) and I ran across someone that was adding 3D to an Atari 800XL. The title alone piqued my interest so I clicked. This gentleman had done quite a bit of decent engineering to build an interface between a 6502 bus and a Raspberry pi’s GPIO lines.

If you watch the video you can see where he wrote some Atari Basic that just reads a file and pushes it out as a 3D model to the Raspberry pi, and then takes paddle inputs and sends them to the pi through the I/O addresses. The results are an Atari 800XL that loads a 3D environment from disk and then controls location of the view through a game paddle. Cool, but not really.

The Atari is doing nothing more than reading a file and uploading it to the pi and then switching to reading paddle inputs and tickling the GPIO lines of the pi through the memory mapped I/O on the 6502. This isn’t adding 3D to an Atari 800XL, it’s more like shackling a pi to a 40 year old machine. He has turned his Atari 800XL into a functional equivalent of a USB hub with a keyboard and paddle built in. Why?

The pi is so much more powerful than the Atari that it can emulate memory mapped I/O on the Atari with GPIO. If you don’t realize how insane that is, let’s leave it at smashing a fly with a 5 pound sledge. Sure you can do it, but why would you? Maybe this guy really likes the keyboard and form factor of the Atari 800 (keyboards did have a better feel back then unless you pay a lot today). He could have gutted the insides of the machine and put a pi in there that emulated the Atari faster than the Atari ran. What he is doing is great engineering towards a set of broken requirements.

I could take my old ZX81 and have a pi act like the 16K RAM upgrade, provide 3D color output, Internet connection and storage like there is no tomorrow (how many cassette programs can I store on a $10 MicroSD card? I’m guessing literally all of them.). That would preserve more functionality of the ZX81 than that guy preserved of the Atari 800XL. What would I get out of it? Maybe some emotional rush of nostalgia, but it wouldn’t last long. Soon after I think I would be sad about what I could have done instead. Time is a mighty valuable currency.