Author Archives: Allen Huffman

About Allen Huffman

Co-founder of Sub-Etha Software.

Yo ho, yo ho, a (video) pirate’s life for me…

The following is a reprint of an article I originally wrote around November 11, 2002 at 4:17:20 a.m. CST. Apparently.

From: Allen Huffman

Date: November 11, 2002 4:17:20 AM CST

Subject: Yo ho, yo ho, a (video) pirate’s life for me…

The 1990s.  You remember them, don’t you?  It was a time of amazing things such as the mainstream birth of “alternative” music. Records were being phased out with CDs in long boxes taking over. You remember long boxes, don’t you?  Blockbuster Video was gearing up to be the first movie rental store that would never be missing a title you wanted thanks to VideoCDs.  You remember VideoCDs, don’t you?

Ah yes, VideoCDs. If you are in Asia, you probably know exactly what a VideoCD is.  You may even have a collection of all the latest blockbuster movies in this format. But if you live in America, you may have only heard of VCDs from spam junk mail offering software to let you copy any DVD down to a CD.  A movie on a CD?  It’s true, honest, even if the spam offer isn’t.  Thanks to video piracy, a whole new generation is discovering the video format that could have (and probably should have) changed the way we watch movies.

Imagine this.  It’s the 1990s, and LPs have given way to a new digital format for audio: the CD.  A tiny disc is capable of storing an hour or more of excellent quality audio without any scratches, pops, wow or flutter. Die hard audio enthusiasts are about the only people not embracing this new format. Soon the expression “you sound like a broken record” is meaningless to an entire generation raised on digital audio.  Soon this technology was being applied to computers, allowing you to store entire encyclopedias on one disc!  Amazing. And, of course, we understood this was a read only format.  Writing your own CD was total fantasy. And besides, who in the world had 600 megabytes of stuff to store on one? Hard drives weren’t even that big yet!

Speaking of… Early multimedia computers were hardly impressive. One early attempt to bring multimedia to the masses was a machine made by Phillips called CD-i which stood for Compact Disc Interactive. Just as the audio CD had a standard (“red book”), so did CD-i.  The goal was to create a line of players that allowed you to insert a disc that contained multimedia — without needing a computer. The CD-i player shipped with an encyclopedia, and many games were available.  A player was about $1000 at first, and that still made it far cheaper than a home computer with CD multimedia support.  Sadly, CD-i never took off.  No one wanted a stand alone box to play games on CDs with. Imagine that.

Anyway, one of the CD-i standards is still found today — the Kodak Picture CD (back then under a slightly different name).  You could take a roll of film in for developing and get back a CD containing high resolution scans of your pictures. Over a decade later, this idea is actually starting to take off even though low cost digital cameras and scanners have greatly reduced market potential. But Picture CD not the important format — the important one was VideoCD: the VHS killer.

VideoCD would require a special hardware cartridge to be plugged in to the CD-i player.  This hardware allowed you to play up to 70 minutes of VHS-quality video from a standard CD.  (The cartridge handled something known as MPEG-1 video. Today almost everyone has heard of MPEG formats such as MP3s as well as DVD which uses MPEG-2.)  In a way, VideoCD is the father of DVD.  The DVD disc you see today has over 4 gigabytes of MPEG-2 video, while a VideoCD movie usually shipped on two discs with each holding up to 70 minutes of MPEG-1. But I digress.

A small selection of movies was available in VideoCD format in America.  Even as recently as 1996 you could still buy movies on VideoCD at Best Buy (as well as CD-i titles) but today the format is almost completely forgotten in America.  Why?  Because the thought of playing a movie on a CD was just silly.  Who wants that?  Ironically, a decade later a much more expensive technology (with “much better” rather than just “same or better” quality as VHS) did win the hearts of millions as DVDs became the fastest growing standard ever.  (Happy 5th birthday, DVD format!)

So was VideoCD just too early?  I think so.  Why did you mention Blockbuster at the start of this musing?  I was just about to get to that. Here is the part that makes me sad, folks. We lost out, big time, by VCD not taking off in America.  If consumers had embraced the format, we could have seen dedicated VCD players in the sub-$100 format long before low grade VCRs (with many more moving parts) ever made it there. Movies would have had instant access like an audio CD, and would never degrade.  And, here’s the fun part, companies like Blockbuster were talking about adding a satellite receiver to let them download and write (today we call it “burning”) your favorite movie to a VideoCD so you could rent any title you want. (Note: Later Blockbuster did experiment with making rental video games on programmable cartridges available this way.)

Long before the thought of high speed broadband internet access (and downloading illegal copies of the latest theatrical release) was even imagined, the rental industry had already found a way to embrace a new technology and make money off of it.  It was perfect.  Better than VHS quality, never needed cleaning, cheaper players (eventually) and movies that would cost less to produce than VHS (just look at the price of a blank CD today versus even the cheapest blank video tapes).  A missed opportunity.

So here I sit, wading through tons of junk mail and always finding an offer to “copy any DVD to CD” somewhere in the stack. The pirates have discovered a way to use something everyone else has forgotten. It seems it always works this way. After all, it was the pornography industry that had the most to do with the success of VHS in the first place, so I guess I shouldn’t be surprised.

The next time you sit down to enjoy the latest blockbuster movie on DVD, pause for a moment as you realize you could have been doing this a decade ago. The next time you go to rent your favorite title and it’s out of stock, think about the video store that could have been if only CD writers had existed and pirates were making use of the them to make the format popular…

Speaking of popular, you realize that CDs are now older than most cars, right? Twenty years is a very long time for any technology, so soon, when talking about how you used to rip tunes from CD, you may find yourself asking:

“You remember CDs, don’t you?”

Would you run modern OS-9 on a Raspberry Pi?

Today, Microware posted a survey on their Facebook group asking which model(s) of Raspberry Pi you’d be interested in running OS-9 on.

If interested, and you are on Facebook, drop by the group and respond to the survey:

I don’t know many details, but it seems that buying the hardware and OS-9 license should cost much less than what we paid to get it on a CoCo back in the day ;-)

Modern monitors that work with the CoCo 3!?!

In the 1980s and 1990s, there were many computers made that used a 15Khz analog RGB signal. These included the CoCo 3, Commodore Amiga, Atari ST, etc. There were a number of monitors to choose from to use on the CoCo 3, with one of the most popular being the Magnovox (remember them?) 8CM515. It supported RGB-A but also had composite audio/video so you could get the old CoCo 1/2 artifact colors when needed.

I thought the days of 15Khz was long gone. We have had a few solutions for hooking up a monitor to the CoCo 3, including an FPGA project, Cloud-9’s VGA converter, and the Switch-a-roo cable with a SCART converter box.

But Alexandre Souza on Facebook let me know they use all kinds of LCD monitors in Brazil, and pointed me to this list of modern monitors that still support 15Khz analog RGB:

One of the highly recommended monitors on the list is on Amazon for $139. It might take just as a cable to make it work with the CoCo, or possibly a bit of signal inversion (just like the old days).

Anyone know more on this?

OS-9 Lives!

Lately, I have been “playing” with the current version of Microware’s OS-9 realtime operating system. It is still very familiar to what I last knew when I left RadiSys/Microware in 2007, but with many interesting updates.

It took me a bit to remember how to use Ultra-C (Microware’s strict-ANSI compiler) and native operating system calls:

OS-9 says “Hello, world!”

After doing the initial test using printf(), I decided to bypass the standard I/O library and see how much smaller the code would be. (From 12K to 2K, for those asking.) Nice. Though I’m still not sure why C produces such big code for such simple things ;-) Shouldn’t this just load a few registers and jump to an OS hook?

But I digress.

I expect I’ll start posting articles about OS-9, including high-level overviews of its architecture and things that make it unique. There are lots of things it offers that Linux doesn’t, though obviously, Linux wins hands-down when it comes to system support and full blown apps.

I ask of you: Should I post my OS-9 articles here, or should I split them out and make a blog on my old site? Or maybe I just get rid of that site and archive those pages here, then point that domain to Sub-Etha Software?


Chauvet DMX-RT compatible microSD cards and benchmarks.

In my previous DMX-RT post, I listed some of the problems I’d encountered. Today, I’m going to solve one of them.

I went through four DMX-RT units before I got one that worked. The first one was “dead on arrival” (no menu). The second one worked fine for a while (using a Kingston Class 10 MicroSD card), then died. The third had problems accessing any MicroSD card I gave it (reporting “no F”). Finally, the fourth unit appeared to work as expected, though I would find the loops would stop playing every now and then.

I exchanged numerous e-mails with Chauvet technical support during all of this, and wanted to pass along their recommendation about which MicroSD cards they “know” work in the unit. I tried Kingston, Sandisk, and a few others, but here is one they use:

I would hope that the 16GB Ultra PLUS would also work, but I wanted to get exactly what support was using to test my DMX-RT out. I let it run a loop overnight and it was still looping the next morning.

There is also a step up from this card — SanDisk Extreme PLUS — which is supposed to be a bit faster. I picked one of those up as well and ran some benchmarks.

First, here is the Kingston Class 10 Canvas Select card I was trying to use:

  • Kingston Canvas Select 16GB via Amazon (affiliate link). These are high rated and cheap ($3.54 as of this writing, as an add-on item). I have several of these I am using in Raspberry Pis with no issue.

In the above AJA System Test benchmark, nonie that the write speed (the blue line) jumps around. This could be a problem when recording DMX streams. The read speed seems okay, but dropped off at the end. Maybe this is why my unit would stop looping when using this card?

I also had an older SanDisk card that I tried:

  • SanDisk Ultra 32GB (not the PLUS model)

Notice that the read speed is only a bit faster than the Kingston, but the writes are a bit more flaky. I did not have success using this card in the DMX-RT.

  • SanDisk Ultra PLUS 32 GB – This is the card suggested by Chauvet for me to use.

Write speed is a bit faster, but read was a bit slower than the normal ULTRA and had performance dropouts. Interesting, considering this card seems to work fine.

  • SanDisk Extreme PLUS 32GB – This one I just tried for fun. It’s only a few dollars more, and it claims to be faster.

Wow! Look at those write speeds. They may be jittery, but they are fast. Read speeds were only a tad faster than the older Ultra card I had.

I don’t really know if any of this is useful. I’m happy just buying the card that Chauvet suggests, but I thought it might be fun to look at the others I tried to see if I could spot why they failed. (I do not have benchmarks for a few cards that seemed to die on me during the testing process.)

Coming up next will be a video showing off the Halloween project I am using the DMX-RT for.

Until then…

FOR SALE: Ken-Ton SCSI Interfaces and RS-232 Dual Comm Paks

I have three Ken-Ton auctions going now:

  1. Ken-Ton SCSI Interface with ROM socket, EEPROM of RGB-DOS and cable:
  2. Ken-Ton SCSI Interface (only):
  3. Ken-Ton RS-232 Dual Comm Pak (two RS-232 device):

I may also be selling my SuperIDE interface, though I am currently using it just as a realtime clock. I need to find another clock solution before I let that one go.

Chauvet DJ DMX-RT problems

When I do extensive searching on some topic, and can’t come up with any satisfactory results, I will often do a blog post with the results of my research. This helps it at least get indexed by the search engines for others following the same path.

You may disregard this post, unless you came here through such a search.

The Chauvet DJ DMX-RT DMX recorder/playback device is a cool little gadget.

I have been having problems with the units I have received. Here are some search terms:

  • DMX-RT locks up with yellow LED with no SD card inserted.
  • DMX-RT lockup on RECORD or RUN playback.
  • DMX-RT says “no F” when trying to RUN.
  • DMX-RT Err 5.
  • DMX-RT problems.
  • DMX-RT compatible microSD / SD cards.

Feel free to comment if you came here after searching for any of these terms.

We now return you to your normally scheduled programming…

CoCoPilot DELUXE: CoCoWiFi + SirSound + DriveWire + CoCoPi + More


  • 2019-05-10: Added a link to CoCoWiFi article, and uppercased DELUXE.

TLDNR: See the video at the end.

In 2015, Sub-Etha Software rocked the retro world with the announcement of CoCoPilot. (And by “announced” I mean “posted a blog article about how to install DriveWire on a Raspberry Pi. And by “rocked” I mean “posted a block article about how to install DriveWire on a Raspberry Pi.)

SirSound and CoCoWiFi product flyer.

In 2017, Sub-Etha Software raised the bar again by announcing SirSound, the serial port multi-voice sound “card” for the CoCo. (And by “raised the bar” I mean “posted another blog article”.)

In early 2018, Sub-Etha Software released details on CoCoWiFi, and showed you how to build your own for under $10 instead of waiting for Sub-Etha Software to actually manufacture them. (And by “released details” I mean “posted yet another blog article”.)

PreciousPak concept artwork.

In late 2018, Sub-Etha Software shocked the CoCo Community with the proposal to end all proposals: PreciousPak. (And by “shocked” I mean “posted a block article about something I think would be really cool but don’t have the hardware skills necessary to make happen so I hope someone else will do the work for me, please and thank you”.)

And now, in 2019, Sub-Etha Software is proud to announce…


CoCoPilot DELUXE is the result of dozens of man-minutes of thought on the subject of “what should I do with all the Raspberry Pi stuff I have on my desk?”

Much like how PreciousPak solves all our problems when it came to CoCo cartridge add-ons, CoCoPilot DELUXE strives to solve all our problems when it comes to CoCo bitbanger serial port add-ons. (And by “solves all our problems” I mean “wouldn’t this be fun to play with?”)

With CoCoPilot DELUXE plugged in to your CoCo’s built-in Serial I/O port, you will have:

  • WiFi Modem – Use any existing CoCo terminal program, and be able to telnet, ftp, etc. to internet servers just as easily as you used to call in to dial-up BBSes in the 1980s.
  • SirSound – Use the simple BASIC “PLAY” command strings that you already know and love, except add a “#-2,” and change PLAY to PRINT, and then you can play multi-voice background music while your BASIC program does other things.
  • DriveWire Server – Use NitrOS-9, SDC-DOS or the special DriveWire version of HDB-DOS to access virtual floppies over the serial port. Under NitrOS-9, you also have access to other DriveWire features such as virtual printing, virtual MIDI, and virtual reality. Except maybe not that last one.
  • Print to PDF – Print from any CoCo program (including graphics programs such as CoCoMax, ColorMax, Max-10 and Max Headroom) and have the dot matrix output be rendered as a PDF file you can then print on a modem printer. It can even print the old green bars and fake tear-off strips with the holes in it, just like the olden days!
  • CoCoPi Emulation – This portable device can also be expanded with an option USB keyboard, USB mouse, and HDMI monitor to act as a virtual CoCo running various Color Computer emulation programs.
  • …and more!

In this list, there are a few “new” things we can’t currently do. Printing from CoCoMAX 3, Tandy Home Publisher or any other graphical print software is not currently possible (is it?). A new layer would be written to interpret common printer “driver” codes (Tandy, IBM, Epson, etc.) — including color — and render the incoming data to an image that represents all the dots the printer would have printed. (Heck, we could even emulate the old plotter printer thing.)

SirSound could work the same as the hardware SirSound (API compatibility), but could be expanded to do more voices, and use better sounds. The Pi has simple libraries that can product multi-voice music.

WiFi Modem would be similar to the CoCoWiFi (Zimodem) project, but the “AT” Hayes Smartmodem commands would be different since we’d just use one of the many “serial to network” programs/scripts readily available.

All we need is a bunch of software, an RS-232 interface for the Pi, and some switches to select which mode you want the CoCoPilot DELUXE to be in.


CoCoWiFi fork of ZiModem updated to current 3.5 build.


  • 2019-05-03: I’ve had a report of my build not allowing you to type. I have seen this before, and am investigating this. Anyone else having issues? Also, I missed something in my merge which may have affected over-the-air updates (AT&U). I am pushing out a new build. Also, added a screen shot showing 3.5. Also, note about no ESP32 build.
  • 2019-05-04: I started over with Bo’s unmodified source code, then did my changes to zimodem.ino and zcommand.ino. I am still seeing the issue where, via USB serial connection, I can’t type of my TTL-to-RS232 adapter is hooked up. Without it, it works fine. I need to do some testing via the CoCo with it’s bitbanger and RS-232 Pac ports to see what behavior I get. In the meantime, I appreciate your feedback.

Yesterday I updated my fork of Bo Zimmerman’s ZiModem. My custom fork is 100% his code, with only some configurations changed to make it default to standard RS-232 signals instead of inverted like the Commodore uses. (Basically, it’s what his “Guru modem” firmware defaults to, and the over-the-air update changed to point to builds on my service. Guru modem only builds for ESP32, so eventually I just need to figure out how to modify the project so it builds Guru modem for ESP8266, I think.)

NOTE: I only built for the NodeMCU-12E ESP8266 module and the generic ESP8266 (whatever that is) module. I did not have ESP32 libraries installed so there is no build for that currently.

If you want to pull the source code and build it directly through the Arduino IDE, you can find my fork here:

The binaries I built are located here:

I also wrote up some instructions for updating that firmware from a PC, Mac or Linux machine without having to build it with the Arduino IDE. (I had to use these steps myself, since I couldn’t remember how it worked.)

NOTE: If you have the ESP8266 wired up to a TTL-to-RS232 adapter, you may find that firmware updates will not work. On my device (using the full-signal TTL adapter and a NodeMCU ESP8266), I had to unplug the 3.3V power wire that goes from ESP8266 pin to the TTL-to-RS232 board. That was enough to make firmware updates work. I’m still not sure why having the TTL adapter hooked up affects loading firmware over USB, but apparently it does.

A final option is to use the ZiModem built-in over-the-air update capability, which we haven’t gotten to test yet since this is the first time I’ve updated firmware for the CoCoWiFi fork. That is done through the command:


That should grab the latest build on my server. I believe it reads a .txt file from my server to get the version number and builds the filename out of that, then downloads that filename. You can also specify the version manually. Currently, there is a 3.4 build and a 3.5 build available on my site.


Please let me know if this works for you. You should see the startup banner (1200 baud) show 3.5:

ZiModem (CoCoWiFi config) 3.5

Original instructions on this WiFi modem for $10 can be found here:

Good luck!