Page Created: 6/24/2014   Last Modified: 3/17/2016   Last Generated: 2/7/2024

Since my family did not have a lot of money in the 80's when I was growing up, I could not afford to buy things for my computer, so I either had to make them, or buy them used and modify them, since I couldn't even afford to buy "good" used things...

In high school, I could not afford a printer, and one day, a Pascal classmate of mine asked me if I wanted to buy a used IBM PC Jr. "thermal" printer. He had just purchased it mail order, hoping to get it to work on his Tandy "CoCo" (Color Computer). I had a Commodore 64 and he had a CoCo, so we enjoyed early versions of the "flame wars", boasting about which computer was better. Some had Apples IIs, some had Ataris, some had C64s, and some had CoCos.

But we were all allies there, since the class required us to use horrendous TRS-80 Model III computers, black & white, with no bitmap graphics, and no sound. It was rigorous "structured" computing, teaching us slackers discipline, not the lazy interpreted style we were used to... hmm...

Anyway, if I remember correctly, he couldn't get it to work since the interface wouldn't work with his CoCo. Back then, you had to have the correct interface and software. There were no OS "drivers" like there were today. Each piece of software had to have its own driver.

The printer was called "Big Blue" and you could find it discounted in mail order. So I bought it from him used for around $20, then tried to figure out how to connect it to the Commodore64. I knew the C64 had a "software" UART, but that I would need to write my own software and add some electronics to make RS-232 work.

On this quest, I learned that I needed to build a logic level converter to convert 5V TTL of the C64 user port to the higher +- CMOS level needed for the RS-232 standard.

So I built one using the MC1488P and M1489 ICs.

Text printed okay, and I used Fleet System 2, a C64 word processor, to print my high school and college papers for the next several years. The quality of the thermal paper was poor. Thermal paper is that stuff that those gas station receipts are printed on that fade and discolor with age. There is no ink, just a treated paper that responds to heat. Unfortunately it also responds to heat caused by friction, so a quick move of your fingernail will put a dark mark on the paper. You should have seen the look on some of my teachers faces when I handed in my papers on limp, thermal paper... oh, too funny.

So after I would print out my papers in college, I wisened up and photocopied them onto regular paper. That was how I was able to get through at least 3 years of college on the C64, when other people had IBM PC's and expensive printers.

I spent days buried in the printer specs, writing my own bitmap driver software, and was eventually able to print out graphics. I later wrote a program to read the bitmap, and blow it up into a several page poster.

When I later started working and got an Amiga 500, I could not afford a modem, so I modified the RS-232 interface to work in reverse, and allow the Amiga to use my Commodore 64 1200 baud modem (Model 1670), which replaced my earlier overclocked 450 baud Volksmodem. I only had a cardboard box and some peach-colored wall paint, so that became its case. I cut up an old t-shirt to use for the speaker grill. I created a printer port so I could continue to use that old Big Blue printer.

I eventually purchased a used 1200 baud Amiga modem from a kid in the neighborhood, but I still needed that interface one last time.

Years later, I had a lot of Fleet System 2 papers on the C64 that were on aging floppy disks, and so I modified my interface again slightly to create a serial null-modem connection between the C64 and the Amiga by reversing the RX/TX lines. I then uploaded the files from the C64, downloading them to the Amiga. The Amiga could be made to write to MS-DOS single-density 3 1/2 inch floppies, so I eventually moved those papers to MS-DOS and eventually to the PC era, and later to Linux, where I keep them today.

By 2014, I thought I was done with serial communications forever, since most new computers don't even have serial ports anymore, but after working with a new 8-bit AVR microcontroller, I needed to connect its hardware UART to another computer's serial port to view its output. Luckily the RaspberryPi comes with a hardware UART available on its GPIO port which is conveniently at the same logic level as the AVR (3.3 volts), so I didn't need RS-232. Heck, I almost forgot how to use terminal programs, it has been so long. But do not despair, my friend! At 9600 baud, no parity, and 1 stop bit, the AVR said hello to the world.

But... if the need ever arises, I can always fire up the 25-year-old board once more (although I'd have to modify it slightly for the newer 3.3 volt logic).

RS-232... know you well I do.