Retro Adventures: the 6809: the Hardware

Back in the mist of time, in the primordial swamps of tech, (AKA the 70s and 80s), I did embedded programming for a living. I learned to love the 8080, 8085, Z80 and even, grudgingly, the 6502. But there was a siren call I never answered: the Motorola 6809. It looked like a minicomputer: reasonable 16 bit ops, general purpose index registers including a spare stack pointer, even multiply (well, 8 x 8 bits but still.) But I could never justify the expense of building a system around it so I never got to play with one.

Grant’s Six Chip 6809 Computer

Then a few years ago I had a health issue that resulted in a few months of resting and relaxing, and boredom. While browsing the Net I ran across this article:

Grant’s 6-chip 6809 computer

A six chip 6809 computer. No video or keyboard support. Just 32KB RAM, 16KB EPROM and a serial port. A perfect minimal machine to learn the 6809. A quick pass through Ali Express and I realized I could get all the chips I needed for about $20(US). Actually I could get enough for about five of them. In the end I left off the RS232 chip and just used an FTDI cable. And since I had a 32KB EPROM on hand I added a bank-select jumper for two 16KB banks.

Assembly went surprisingly easily. I did have to cobble up an EPROM programmer from an ESP8266 board, which I will hopefully document later. But it worked and I burned a version of BASIC to play with. Then the real fun started. I rewrote my old Z80 debugger (Demon) for the 6809, got a FORTH-like language running (Alf) and implemented a minimal LISP (Syl) to get a feel for how well the 6809 handles things. It handles them VERY well as it turns out. I love writing code for it as I seem to spend less time fighting the architecture to do what I want than on x80 CPUs.

But I wanted more and started looking for hardware that supported at least memory mapped video and a keyboard. And that’s how I landed on the venerable Radio Shack Color Computer 2.

The CoCo 2

I was actually hunting for a CoCo 3 because it supports a lot more banked-switched memory and has other improvements. But at VCF East I found a boxed CoCo 2 for $70 and took a chance. It worked albeit with VHF RF output to a TV rather than composite (if anyone has a lead on where I can get a composite card [type A?, the vertical mount one] please let me know.) The built-in BASIC runs fine and I even managed to download a few “cassette” based apps I found on The TRS-80 Color Computer Archive using my laptop. Next step was obviously to start working on my own apps including porting Demon, Alf and Syl to the CoCo.

I was considering making a SD or CF card cartridge for storage but wouldn’t it be cool to be able to download apps via the cassette port without needing another actual computer? Thus was born CoCoCass, an ESP32 based gadget that lets you load and save BASIC and machine language programs like it was the 80s: very, very slowly. But it should work on any CoCo without hardware modification needed. I’ll post the details of that here sometime soon.

Which is basically where things stand today.

A Small Matter of Programming

Since the hardware is settled, at least for now, next step is writing some code. At the moment I have Demon running pretty well on the CoCo, including cassette load and save commands. Next will probably be packaging up my basic I/O (display, keyboard, cassette) so I can use them in Alf and Syl. After than maybe add CoCo specific graphics support?

So that’s installment 1 of N of my Retro-computing Adventures on the 6809. Feel free to prod me if you have any questions or if you suspect I’ve gotten distracted and stopped posting again.

Dave

Next: the CoCo 2

Comments are closed.