My boys love 1986 computing

Yesterday, Jacob (age 8) asked to help me put together a 30-year-old computer from parts in my basement. Meanwhile, Oliver (age 5) asked Laura to help him learn cursive. Somehow, this doesn’t seem odd for a Saturday at our place.

Let me tell you how this came about.

I’ve had a project going on for a while now to load data from old floppies. It’s been fun, and had a surprise twist the other day: my parents gave me an old TRS-80 Color Computer II (aka “CoCo 2”). It was, in fact, my first computer, one they got for me when I was in Kindergarten. It is nearly 30 years old.

I have been musing lately about the great disservice Apple did the world by making computers easy to learn — namely the fact that few people ever bother to learn about them. Who bothers to learn about them when, on the iPhone for instance, the case is sealed shut, the lifespan is 1 or 2 years for many purchasers, and the platform is closed in lots of ways?

I had forgotten how finicky computers used to be. But after some days struggling with IDE incompatibilities, booting issues, etc., when I actually managed to get data off a machine that had last booted in 1999, I had quite the sense of accomplishment, which I rarely have lately. I did something that was hard to do in a world where most of the interfaces don’t work with equipment that old (even if nominally they are supposed to.)

The CoCo is one of those computers normally used with a floppy drive or cassette recorder to store programs. You type DIR, and you feel the clack of the drive heads through the desk. You type CLOAD and you hear the relay click closed to turn on the tape motor. You wiggle cables around until they make contact just right. You power-cycle for the times when the reset button doesn’t quite do the job. The details of how it works aren’t abstracted away by innumerable layers of controllers, interfaces, operating system modules, etc. It’s all right there, literally vibrating your desk.

So I thought this could be a great opportunity for Jacob to learn a few more computing concepts, such as the difference between mass storage and RAM, plus a great way to encourage him to practice critical thinking. So we trekked down to the basement and came up with handfulls of parts. We brought up the computer, some joysticks, all sorts of tangled cables. We needed adapters, an old TV. Jacob helped me hook everything up, and then the moment of truth: success! A green BASIC screen!

I added more parts, but struck out when I tried to connect the floppy drive. The thing just wouldn’t start up right whenever the floppy controller cartridge was installed. I cleaned the cartridge. I took it apart, scrubbed the contacts, even did a re-seat of the chips. No dice.

So I fired up my CoCo emulator (xroar), and virtually “saved” some programs to cassette (a .wav file). I then burned those .wav files to an audio CD, brought up an old CD player from the basement, connected the “cassette in” plug to the CD player’s headphone jack, and presto — instant programs. (Well, almost. It takes a couple of minutes to load a program from audio codes.)

The picture above is Oliver cackling at one of the very simplest BASIC programs there is: “number find.” The computer picks a random number between 1 and 2000, and asks the user to guess it, giving a “too low” or “too high” clue with each incorrect guess. Oliver delighted in giving invalid input (way too high numbers, or things that weren’t numbers at all) and cackled at the sarcastic error messages built into the program. During Jacob’s turn, he got very serious about it, and is probably going to be learning about how to calculate halfway points before too long.

But imagine my pride when this morning, Jacob found the new CD I had made last night (correcting a couple recordings), found my one-line instruction on just part of how to load a program, and correctly figured out by himself all the steps to do in order (type CLOAD on the CoCo, advance the CD to the proper track, press play on the player, wait for it to load on the CoCo, then type RUN).

I ordered a replacement floppy controller off eBay tonight, and paid $5 for a coax adapter that should fix some video quality issues. I rescued some 5.25″ floppies from my trash can from another project, so they should have plenty of tools for exploration.

It is so much easier for them to learn how a disk drive works, and even what the heck a track is, when you can look at a floppy drive with the cover off and see the heads move. There are other things we can do with more modern equipment — Jacob has shown a lot of interest in Arduino projects — but I have so far drawn a blank on ways to really let kids discover how a modern PC (let alone a modern phone or tablet) works.

I am often asked about the role of the computer in the lives, given that my hobby and profession involves computers. The answer: less than that of most of their peers. I look for opportunities for them to learn by doing, discovering, playing, or imagining. I make no presumption that they will develop the passion for computers that I did. What I want is for them to have the curiosity and drive to learn everything there is to know about whatever they do develop a passion for, so they will be great at it.

Aside from playing games, there’s no point to these old computers. Why bother with OS/9 anyway? I don’t understand the “tinkerer” crowd. The coco is useless for modern needs anyway, it’s just a game machine. Move on people.

I applaud your interest in getting your kids involved in UNDERSTANDING how computers work. I purchased a KANO Raspberry Pi for my grandkids to learn on. I had each of them read the assembly instructions to me and we found the parts and built it up. Only a matter of a few minutes, but the instructions were great for kids that age (6+).

Learning by unguided exploration is the main benefit of exposing children to older technology in my opinion. Modern user experiences are so refined that most devices / SW require little critical thought to engage with. Perfect for consumers, not so great for developing curiosity in young kids. Our boys – 11, 8 and 4 – can grab any of our devices or apps and be proficient in seconds. But when I plugged in my old Apple IIe, they were fixated on figuring out what it was and what it was “supposed” to do. Watching them stubble through Basic without any online tutorials, quick start guides or on-boarding flows (just like I did) was incredible. Just watching their reaction to the sounds the computer and drives made was priceless. Of course, it only took a few minutes for one to grab an iPad and search for “learn Basic”…

In my case it was a Sinclair ZX81 and I still remember typing basic on that membrane keyboard and fiddling with the cassette.

My son uses a ~6 year old computer with a Linux distro installed on it. He is starting to learn python, and has a reasonable understanding what is volatile ram and what is persistent. He has seen the inside of the chassis but isn’t terribly interested in it yet.

Which is reminiscent of my father showing me as he worked on our car in the driveway. Sure, I understood where the engine was and what the transmission and brakes do, that there was something called a “timing gun” for adjusting the belts (and that this belt thing was sure to make my father curse). But I never went farther than that, have never done similar work on my car and am never likely to.

Had the Internet existed in the 1970s my father would have been writing blog articles about how these new import cars were cramming so much under the hood that you can’t get in there and fix things yourself anymore. And how his son wasn’t learning critical skills in auto maintenance.

My dad had one and a couple of years ago I got it from him. How did you install Linux on it? It has an RF output and I can’t find anything that will convert it into a modern signal. I thought it might be a fun arduino project to convert that data over.

You should see the rest of my blog ;-) I meant that “I rarely have that working on modern hardware.” I’ve been taking up RC planes. Getting some sense of accomplishment on a decent landing with them ;-)