Following are images to accompany my World of Commodore podcast episode 6, an introduction to C64 OS which can be found at Hacker Public Radio.
This is the second part of a series of blog posts that illustrate the reasons why I use open source software today. In the first part, I discussed my introduction to the microcomputer revolution, the problems I perceived in it, and my solutions to those problems. In this part, I discuss my journey into the world of 16 bit computers, the mistakes I made, and what I learned from them.
Part II: The 16 bit revolution
By the time 1987 came around, the 16 bit computer revolution was well under way. I became aware of the limitations of my Commodore 64, and was disappointed that GEOS didn’t work with my MPS 802 printer. I had already been exploring these 16 bit marvels on my own. My first experience was with the Apple Macintosh. I got a ride into town with my dad and went to visit a high end computer shop. When I asked to see this computer, I was lead to a special room in the back, as they didn’t want the Macintosh to be shown next to other computers. When I saw it, my immediate reaction was to wonder if it was a joke. Colour graphics were very common with nearly every computer by this time, but the Mac had no colour. The 9” black and white display showed an underwhelming resolution of 512×342 pixels. Sure, this was slightly better than the Commodore 64’s 320×200, but consider that the Commodore 128 could do 640×200, and EGA, the new standard for PC’s, could do 640×350. The price, at over $2500, was crazy considering it only had 128k of RAM, the same as a $300 Commodore 128. At around the same time, I got to play with an Amiga 1000. This had the same memory as the Macintosh, but had a better GUI with 4,096 different colours to choose from, higher resolution (up to 640×400), and cost a good $1,000 less than the Mac; a savings that would buy a colour monitor with stereo speakers and still have cash left to buy software. Alas, this price was still a bit much for me, and then the salesman, seeing me play around the preferences to see all these colours, started yelling at me and chased me out of the store, which I felt was over the top and completely uncalled for.
I wanted to upgrade to something more powerful with a full 80 column display. The Commodore 128 seemed like an obvious choice; it would open the door to the world of CP/M software, and still be compatible with all of my existing hardware and software. I started saving my money for this upgrade, and when I was ready to buy my own Commodore 128, the Amiga 500 came out. I did the math. If I sold my entire Commodore 64 system and added in the cash I had been saving for the Commodore 128, I could afford to buy an Amiga 500. Even though the Amiga 500 cost more than a 128, it came with a modern disk drive built in, so in reality it didn’t cost that much more; an extra cost justified by having 4 times the memory and 4-8 times the processing speed. This meant that I had to start over from scratch, but I was ready to turn over a new leaf. With high resolution graphics of 640×400, 4,096 different colours, 4 channel stereo sound, 512k of RAM, custom chips with their own processing power, a graphical user interface with a command line, and a truly multitasking operating system, the Amiga 500 was the best value second to none, and I was confident that it would easily outlast the Commodore 128, and reasoned that I would get on that platform early and enjoy the benefits of understanding a platform that would undoubtedly be the future of computers. I was certain that Amiga would take over the entire industry, crushing Apple and leaving the PC clones in its dust. I would put my software pirating days behind me; moving forward, all of my software would be legit in order to support the Amiga community of developers.
The very first software package I bought was TextCraft Plus, which was a word processor, so it followed logically that my next major purchase was a printer. I was so glad that I wasn’t restricted to Commodore peripherals, and bought an Epson LX-810 printer on layaway, dutifully making monthly payments until it was mine. A 9 pin dot matrix, this printer outclassed every Commodore printer available at a better price, and being based on the open architecture of the parallel port, could be used on any other computer that used this interface. I actually used this printer well into the late 90’s. It was solid, reliable, and the ribbons were cheap and lasted a long time. For Christmas, my parents bought me the RAM expansion with real time clock, which brought me to a full megabyte of RAM. My next peripheral purchase was a generic 2400 baud Hayes-compatible modem, which I purchased through mail order because it was the best price. That also turned out to be a very reliable piece of hardware that was also designed with open standards, and so could also be used on any computer with a standard serial port. The lessons I learned were that: 1) Open standards in hardware are an inevitability in the computer industry, and 2) Open standards in hardware meant that I wasn’t restricted when it came time to upgrade my computer. Besides the joysticks, parallel port, serial port, and audio outputs, everything else on the Amiga was proprietary, which would eventually come back to haunt me.
When it came to games and software, I was going to make up for my “Dirty” past. I started with a Sega multi-game value pack, which included Out Run, Thunder Blade, Shinobi, After Burner, and Alien Syndrome. I was very disappointed that these games were nowhere near as good as those on the Sega Genesis, and I knew they were well below what the Amiga was capable of. Undeterred, I bought Amiga versions of my arcade favourites, including Super Hang On, Space Harrier, and Double Dragon. When I found a game that I really liked from my Commodore 64 which I had pirated, I bought the legitimate version for the Amiga, including Bard’s Tale and Bard’s Tale II. When a game was critically acclaimed, I bought those too, including It Came From The Desert and Shadow of the Beast. Having enjoyed playing Dungeons and Dragons in my youth, I bought Heroes of the Lance. When it came to applications, I wanted to try my hand at desktop publishing and so I bought PageSetter. For a spreadsheet, I bought MaxiPlan. I switched from buying magazines to magazine-on-a-disk, with JumpDisk being my disk of choice. Every single piece of software in my collection was legitimately purchased.
I was more than just an Amiga owner, I was an advocate for the platform. When our next door neighbour wanted to buy a new computer, he came to me for advice. I advised him that the Amiga 500 was the best bang for the buck, explaining that it was effectively an Amiga 2000 without the expansion ports and better than anything in or above its price range, so he went out and bought himself an Amiga 500. A few months later, I found out that he had given it to his daughter, and bought a PC clone to replace the Amiga. It turned out that he needed to run a specific piece of software for his real estate business in order to access the MLS listings, and this software was not available on the Amiga platform. I was incredulous; how could a company be so short-sighted as to not make their software available for the Amiga? Then I demonstrated my 500 system to a co-worker who was nearing retirement and was impressed with how far computers had come since the days of his Tandy. He also ended up buying a PC, because he wanted to play Microsoft’s latest Flight Simulator 4.0. Of course, the Amiga had flight simulators, but not this one, and the PC had all the realistic flight control hardware to go with it. I failed to recognize the open architecture of the PC platform made it more viable for developers of unique software and hardware with a limited market appeal.
Eventually, I upgraded to a 14.4k USRobotics Sportster fax modem. It came with both terminal and fax software on what was likely my very first high density floppy disk, but that was for the PC only. After doing some research, I found a fax program for the Amiga, but it required an upgrade to Workbench 2.0 and a memory upgrade beyond 1 megabyte, and was not free. Meanwhile, the fax software that came with the modem, QuickLink II, only required DOS and 640k of memory. It didn’t even need a VGA card. Another serious problem I encountered was when I realized I needed a hard drive so I could run a PC emulator at a reasonable speed to use some of my course software. Unfortunately, my Amiga required an Amiga-specific controller that, even used, would cost at least $200. That would have provided me with the fast SCSI bus and a means to upgrade my memory, but adding in the cost of the memory and hard drive put this well out of my student budget. I considered upgrading to the Amiga 1200, which had built-in IDE support, 2 megabytes of RAM, and ran at 14 Mhz, but I couldn’t get around the fact that I could get a full PC with superior VGA graphics, a hard drive, twice the memory, and a faster processor (‘386SX-25) for the same price or less. It was bothering me that Commodore was no longer competitive with features or price; they were still using 8 bit sound when PC’s had moved on to 16 bit SoundBlaster’s, and the PC’s SVGA specs were more advanced than the “New” AGA chipset, which was still 16 bit and already out of date. Then the unthinkable happened: Commodore went bankrupt.
Being connected to the world through FidoNet provided me with insight to information and ideas beyond the borders of my city, even moreso than the entire College experience. One of the things I discovered in FidoNet was Minix. Minix was a free Unix-compatible operating system originally programmed to run on the IBM PC and clones, and because it was designed for education, the source code was freely made available. Minix 1.5 was ported to the Amiga, Atari ST, and Macintosh computers around 1991. The concept that this powerful Unix-like operating system could run on any platform from any manufacturer was very appealing to me, so I downloaded and played with it. Unfortunately, my program wasn’t teaching Unix or Minix, it was all based on DOS and mainframe systems, and I really didn’t have time to learn something so radically new, and it didn’t run the applications I needed to run, but the seed was planted. The seed of this operating system that could be ported to any computer platform, eliminating the barriers between them and giving ownership of that OS to the people who own the computer they bought was extremely appealing, and it lived in the back of my mind. You could say this was the moment when I started thinking about open source operating systems.
Commodore’s bankruptcy made my decision real easy. I had been researching prices on the buy and sell forums on the local bulletin boards, and reasoned that I could build a low-end DOS PC from used parts with monitor, hard drive, and keyboard for the same $200 or so it would cost me to buy a used hard drive and controller for my Amiga 500. I already had fax and terminal software for the PC, as well as the compilers and applications I needed for my course, which also included DOS. I wasn’t going to let go of Amiga just yet; I would leave that set up in my livingroom for fun and games. The idea that I could install Minix on this PC at some future time was appealing, though I wasn’t there yet.
My first ever PC build was as follows: An Epson Equity III motherboard and case with a ‘286 processor clocked at 12 Mhz and 640k of RAM. I got a used a 30GB IDE hard drive for cheap, as well as an EGA graphics card and an orange monochrome EGA monitor. The multi I/O card and 3.5” high density floppy drive were new, as well as the 101 key keyboard. I didn’t bother with a sound card, as the built-in PC speaker did what I needed. I stayed on budget, and couldn’t help but feel at first that this was a huge step down from my Amiga. To my surprise, nothing could have been further from the truth.
I connected my fax modem and printer to my PC, and tried out the free QuickLink II terminal software that came with the modem. It didn’t take me long to figure out the keyboard shortcuts, and I was surprised at the number of features and the quality of QuickLink II; easily heads and shoulders above JR-COMM or Terminus. My orange monochrome screen could display a solid, flicker free 80 columns and 43 lines of text without causing strain or fatigue, whereas the Amiga’s screen would flicker noticeably when trying to accomplish this. I was shocked when I found out that my PC could push my modem beyond 14.4k, all the way to a consistent 19.2k when my Amiga struggled to get close to 14.4k. Eventually, I moved on to Telix, and downloaded a freeware offline mail reader that was also well beyond Q-Blue on the Amiga for features. I used the PC for all of my BBSing, writing, budgeting, school work, and eventually even gaming; I found that Commander Keen was actually a lot of fun even in monochrome with a PC speaker. My Amiga collected dust, and I eventually packed it away, though I could never part with it.
All of the thousands of dollars I had spent on Amiga software was now useless; I couldn’t run those programs or even read the disks on anything else. I could have formatted the disks to use in my PC, but PC’s were using high density floppies while my Amiga used older low density disks, so that made little sense. The only things that continued to be useful, my printer and modem, were of open architecture design. Nobody could port the Amiga OS to the PC platform because it was proprietary with the rights being fought over by those whom Commodore owed money to. Nor could I go to the publishers and exchange my Amiga software for PC software, as programs like Textcraft Plus weren’t even available on the PC. I learned that, no matter how great a company can be, as Commodore was in 1987, a change in leadership can send it in a completely different direction that’s not in my best interest. With the PC, even the biggest companies can go bankrupt and the platform will continue; to the best of my knowledge, at the time, there were at least four different x86 processor manufacturers (Intel, Cyrix, AMD, and IBM), at least three companies selling DOS (DR-DOS by Digital Research, MS-DOS by Microsoft, and PC-DOS by IBM), and countless companies making compatible video cards, sound cards, drives, controllers, memory chips, BIOS, motherboards, and the like. While still not technically open source, if the company that built a PC went bankrupt, owners could still upgrade it and easily migrate their software collection to a new PC knowing it will work. All of this was possible because of open standards, which turned out to be the greatest strength of that platform. The myth that PC was Intel, Microsoft, and IBM was destroyed. Today, we have FreeDOS, which is open source; as well, Microsoft has made MS-DOS open source. Surprisingly, the open source community has even ported the Amiga operating system as AROS.
I had learned so much over my seven years with the Amiga, it’s hard to know where to start. However, I do think my first lesson was to stay with open architecture hardware. This is a primary reason why I won’t buy a Macintosh as my primary computer. I learned that, even if you buy software, you don’t really own it, just a right to use it, and therefore it has no intrinsic value. I found this most disturbing, after coming from an era where I could buy and re-sell record albums and Atari cartridges. I was not alone with my concerns regarding computer software at this time, as 1985-1987 saw the birth of the Gnu Manifesto. I learned that people have varying interests, hobbies, and career objectives that can go beyond the latest arcade hits, spreadsheets, word processors, databases, and terminal emulators, and often the latest hot-shot proprietary computer cannot deliver the same experience as a widely adopted open architecture system. I learned that things are not always what they seem; that which appears boring could actually be fun and exiting, and that which looks fun and exciting can actually be quite boring. I re-learned something I knew from my Commodore 64 days; that a technically superior computer can be put to shame with a technically inferior one that has superior software. The biggest thing I learned was that my relationship with software was personal; that I had invested time and effort to find out about a particular OS or application or game, learned how to use it to accomplish specific tasks and goals, and that the things I created were specifically tied to whatever operating system and application I used to create. Open source would provide me and others like me with the means of not just owning the hardware, but also the software that runs within it, free from the greed of software profiteers.
It would be some time before I seriously tried Linux, as I had a big, wonderful world to explore in the world of PC’s…but that, my friends, is a story for part 3 of this series.
I have been asked by a few people, “Why do you use Linux? Why use open source?” I could come up with some short answers to illustrate what makes it superior, but this doesn’t answer the real question; that is, what is it that lead me to this world of free open source software? I decided that the answer to that wasn’t so simple, that my lifetime of growing up in the computer revolution presented me with unique lessons and experiences that inform my choices today. Some of these lessons might be valuable to someone who didn’t have the opportunity to live through the microcomputer revolution, so I decided to write a series of blog posts about these experiences so that you can understand what’s at stake.
Part 1: The 8 bit Microcomputer revolution
I was born at the very beginning of the microcomputer revolution. My favourite television show was the Six Million Dollar Man, which was sometimes barely watchable through the static as I struggled to tune the antenna to get a picture on our black and white television set. Computers were the rising superstar of the era, the media of the day made no effort to hide this fact, and I was all in. The problem was, computers were expensive; very expensive. I was born into a working class family with three other siblings, and while my parents made enough to pay the bills and keep food on the table, hand-me-down clothing from my older cousins made up much of my wardrobe. We had a big blue electric typewriter that worked fine for writing essays, and my father had bought a digital calculator, so there was no real justification for spending money on a new “Home Computer.” However, I saw something else in these new marvels of modern science; I saw a future world where computers would become a commonplace necessity, and those who understood how to use and program computers would be at a unique advantage. I didn’t want to be left out.
I was so desperate to learn about computers, I stopped spending my paper route money on comic books and instead started buying computer magazines. My favourite was Compute! Magazine. I would read that cover to cover, often starting from the back where I could read the source code of the programs they used to publish. Some programs were utilities, some were games. On paper, I had already accumulated a library of computer software for a variety of platforms, which made me feel good. I thought I really wanted the Atari 800, but that was very expensive, so I reasoned I might be just as happy with an Atari 400. I had absolutely no interest in the Apple II, as I thought it was terribly overpriced compared to the Atari and Commodore computers. I was so desperate to be part of this revolution, I bought an Odyssey video game console for $5 at a yard sale. I had more fun fiddling with my digital watch than I did playing that Odyssey. What a disappointment that turned out to be, so I rallied the troops and got my siblings to help me in grinding down my parents to get us an Atari 2600, and then my father came through with a used system that came with 30 or so games and the joysticks and paddle controllers. This was in the early 80’s, around ‘81 or so, and people were selling their Atari consoles to move on to the Coleco Vision or a home computer.
The Atari 2600 really rocked our world. By this time, arcade video games were fairly common, and we would often play Omega Race or Moon Patrol at the local arena. Computers were also trickling into my school in the form of PET’s. I still wanted a computer very badly, but the Atari 2600 would keep me pacified for a little while, and gave us the practice that would make our quarters last a little longer at the arena. I would stop buying computer magazines so that I could afford to buy game cartridges for the Atari. The game cartridges for the Atari cost between $20-$30 each. This made sense, as each cartridge had a computer chip inside of it, and computer chips were expensive. Sometimes I bought a game, and it became my favourite; other times, the game was complete crap. There was no way of knowing beforehand, and I started to think about what a waste it was. At least with a computer, the tape that a game or program was recorded on could be re-used for something useful, and bad games could be erased. I reasoned that games on a cassette tape or floppy disk ought to be the same price or cheaper than cartridges for the Atari 2600, since magnetic media was not in short supply and also was not as expensive as computer chips. On the other hand, Atari 2600 game cartridges were easy to exchange with friends in order to try out different games.
The Commodore PET’s started showing up in my school, but very slowly. I was immediately drawn to their sleek white angular design. Unfortunately, the school policy was that these computers were to be used only if a student was special ed, or if they were “Smart” enough to already know how to use it, leaving the rest of us to fight over lunch hour scraps for two PET computers at the back of our classroom. This meant that the rich farmer kids who already had one of these computers at home got to spend even more time on them at school, and the kids who probably should have been taught a skilled trade equivalent to their mental ability enjoyed endless hours of frustration. This is no slight against skilled trades nor to students enrolled in the “Special Ed” class, I believe both skilled trades and so-called “Special Ed” students have been stigmatized by our society, and ought to be collectively regarded with much greater respect. I consider it a flaw of the public education system that my interest in computers was not recognized by my teachers at the time as an opportunity to guide me towards an appropriate career path, but then again, what did they care? I knew my future had to be up to me.
At this time in my life, I was listening to music on my made-in-Japan Sanyo portable, which I was made fun of having since it wasn’t a “Sony” Walkman, but was still my favourite Christmas present of all time. I had learned that brand mattered more to people who consider themselves “Influential” than did performance or value, and I learned that I did not want to become an unthinking brand snob. I did manage to get some time on the Commodore PETs in my school, and I figured out that I could save the programs I wrote to the B side of a mix tape that I was working on filling the A side with music from the radio. I was working on this beautiful program I called “Friend” which would ask me my name and say nice things to me until I was told by my teacher that students were not allowed to put in our own tapes into the computer tape drives. This was an injustice beyond the pale. Not only was my time on these computers severely limited by the fact that I was neither special nor wealthy, I couldn’t even save my progress in any programs I wrote. I did notice that the prices of the Vic 20 were coming down, and there was a real battle between the Vic 20 and the Timex Sinclair ZX81. My father nearly bought the ZX81 for me for Christmas, but then suddenly the price of the Vic 20 dropped, and the local computer store had a great deal on a bundle that included the cassette drive and a pack of 20 games.
And so it was that my very first computer was the Commodore Vic 20. It was a remarkable computer for the price, given that it had a full keyboard and a wide variety of ports allowing for connectivity to disk drives, modems, printers, monitors, and memory expansion to turn it into a “Real” modern computer of the day. The Vic 20 was a very special computer from a very special company. Unlike certain other computer manufacturers, Commodore was making computers for the masses, not the classes. Even though the Timex Sinclair was also a computer for the masses not the classes, Commodore went that extra mile with a real keyboard, colour graphics, and better sound. When you turned on a Commodore Vic 20, you knew right away that it was unconditionally yours. There were no terms of service, no copyright notices; straight away, it told you what it was, how much free memory it had, and that it was literally and unconditionally ready for your commands; even if your command resulted in a “?Syntax Error,” you knew it was the computer telling you that it’s vocabulary was limited and so you had to be precise in telling it what to do. Anyone could buy one of these computers, program in a game or utility, and then sell that game or utility, which created an entirely new industry. No longer were computers in the domain of the elite, and while my Apple II friends would look down their nose at my Vic 20, with only 3.5k of RAM available, I was learning. I learned how to POKE and PEEK memory locations, how to LOAD and SAVE programs, how to generate random numbers and use string and numeric variables, and I even got my Vic 20 to make sound effects, play songs, and create graphics. I was able to buy memory expansion cartridges fairly cheap at local yard sales as people were already moving on to the Commodore 64, which opened up new features in my Vic 20 like high resolution graphics.
Let’s consider the philosophical nature of software at this time. For $3.25, I could buy a magazine that came with programs that could be typed in. There was no copyright in that source code in the early days, though later Compute! Magazine would insert their copyright. I could enter the program as is, but I would often add my own things to personalize those programs. I could take parts of those programs to use in my own new creations. I could meet up with friends, and we could exchange programs. It was an open culture of learning and discovery, of helping each other out. I had my Vic, I had my tape drive, and I had infinite possibilities. Each magazine I bought was a new opportunity to learn and discover. I could dream up an idea, and turn it into reality. The Commodore Vic 20, and later the Commodore 64, were the great equalizers that could empower anyone who bought them.
The term “Open Source” licensing did not yet exist in my vocabulary, though the concept behind the idea was already in place. Quite often, we would be able to find “Public Domain” software collections on disks, alongside “Shareware” which was based on a “Try before you buy” model. Computer user groups exploded in popularity in the 1980’s, and most were based on a monthly serving of the latest public domain and shareware programs.
Eventually, the peer pressure got the better of me and I begged for a Commodore 64, which was another Christmas gift after a significant drop in price. I programmed in my first word processor and saved it to a cassette tape; this was the ever-popular “Speedscript” published by Compute! Magazine. I did buy commercial software and games; for example, I later bought GEOS (Graphic Environment Operating System) and marveled that my Commodore 64 could provide the same kind of interface that was selling Macintosh computers. GEOS was not open source, but it did demonstrate the power and utility of an “Alternative” operating system. Eventually, this “Alternative” ended up being shipped with Commodore 64’s, as it helped to make the 8 bit Commodore 64 relevant in a world that was being taken over by 16 bit graphical computers, a revolution where every computer came out with a GUI, and Apple was trying to sue them all. As far as I was concerned, Apple was stifling innovation. The “Desktop Metaphor” was something that had been discussed for over a decade before the introduction of the Macintosh, and to me it was obvious that the Macintosh was a product rushed to market to beat out competitors so Apple could “Sue” them instead of making a better product, as the Mac didn’t even support colour graphics (something every other GUI did, even GEOS on the Commodore 64).
One of the biggest controversies I was exposed to was that of software piracy, which was rampant on the Commodore 64. The concept from the publisher’s perspective was that, by making a copy of their program or game, I would be “Stealing” it. In my young mind, I thought that if I legally purchased a floppy disk or tape, and my friend came over and we made copies of each other’s programs and games, we were not stealing anything. We were doing this with music all the time; I would visit my friend with a collection of records and some blank cassette tapes, and we would take turns recording each other’s albums. I would often record music from the radio. It was a simple matter of economics; we could expand each other’s library of music and computer software beyond what we were able to afford, but this didn’t stop us from paying for music or software. To put things into perspective, we could buy a new vinyl LP or cassette tape of the latest music for around $10. A typical cartridge for the Atari 2600 sold for about twice that, with the justification being that the microchip on the cartridge was more expensive than the vinyl used to make a record or the magnetic media to make a cassette tape. Yet many of the floppy disk based games for the Commodore 64 sold for $40 and up. Disks were magnetic media, like cassette tapes, and many of those games did not even fill the capacity of these low density disks. It was quite common for someone who had “Cracked” a particular game to have it on a disk alongside many other “Cracked” games – and by cracked, I mean the code used on the disk or in the game that prevented it from being easily copied was defeated.To be clear, there was no way my 14 year old self could afford to pay $40 for a game; it was a struggle just to get a computer, and that only after the prices had dropped significantly, so the game developers certainly weren’t losing money with the games I had copied from my friends. It would be years before I got through high school, went to college, and got a job where I could afford such things, and by then, all of this would be obsolete.
This concludes the first chapter in my own history that has lead me to use “Open Source” software today. During the 8 bit revolution, computers became affordable to everyone. The likes of the Commodore 64 drew the ire of Apple and their fans, as this was a computer that was technically superior to the Apple II at a fraction of the price. The open architecture of the clone PC’s was in its infancy, as was the concept of the GNU open source license. I could see that software profiteers aimed to “Divide and Conquer” computer enthusiasts, and I was not the only one to recognize this, as 1985 marked the introduction of the GNU Manifesto. In my next installment, I will explore my own missteps in the 16 bit revolution before finally discovering the true open source revolution.