In 1978, there were no personal computers. The Apple I was just a dot on the horizon. People didn’t roll out of bed and check their email. Porn was something you bought at the local corner store. And, video games cost a dime. But, that was all to change.
I loved computers from the start. When I bought my second computer, it was an ELF II. Most kids are into model building, well, the ELF II was an electronic computer in kit form: a nerd’s (I had yet to earn my geekhood) toy. So, with my trusty soldering iron in hand, I put the thing together according to the instructions.
The 20x16 inch motherboard had a hex keypad in the lower left-hand corner, a four digit LED display above it and a pause/run switch plus reset button beside it. The expansion slots ran across the top of the motherboard, each one oriented vertically. The CPU was just above the LED display. And the video controller chip was to the right of the expansion slots. There were lots of TTL chips that did everything from timing to buffering scattered here and there. Two wooden wedges supported the motherboard and made it slope forward. Eventually, I replaced them with a blue medal case with a Plexiglas cover for the expansion slots but, at first, it sat there all black and silver and brown with all its parts proudly displayed.
It was an interest in electronics that lead me to computers but I found my passion when I actually started programming. You see, I quickly discovered that it was in computer programming that ultimate power lay. I would fantasize about a world filled with computer controlling every aspect of life. And, I alone held the key: for I was the computer programmer. The first in a new breed of super humans that could rule the world from a keyboard.
Programming my ELF II was not an easy thing to do. It took lots of time and lots of paper. First, design an algorithm by scribbling diagrams with lots of arrows in them. Then, convert it in to RCA 1802 assembly language. Then, lookup each line of assembly and write out the hex op codes. Finally, type in the codes on the hex keypad. Press the reset button and turn on the run switch and prayed that it worked. Debugging was a exercise in patience. You had to step through the code one op code at time using the meager feedback that the LED display would offer. Furthermore, there was no ROM bios. You had to do everything for yourself. From programming the video controller to writing a bootstrap loader for the cassette tape I/O. Everything! So much for world domination, I didn’t even have a video monitor yet.
I eventually got a monitor from a Ham buddy of my dad’s. He converted an old 9 inch TV into a video monitor by ripping the case off and crudely attaching a plug to the video signal input somewhere in the guts of the thing then putting the whole thing in a white coloured, oversized, laminated wooden box. I think it cost $10 and weighed 25 pounds.
Now it was time to buy a I/O expansion board and a light pen. The light pen was kind of cool but it didn’t work very well. It did detect light but to tell where it was pointing on the monitor you had to program the video controller to flash the monitor on and off region by region. The resolution of the light pen was effectively one inch by one inch. And, the computer ran so slow that it took a minute just to locate where the light pen was pointing.
The more useful I/O feature was the tape interface. I could load and save programs to cassette tape. I even bought some software from the manufacture of the ELF II but it required more than the 256 bytes of memory that was on the motherboard and a keyboard. So, I bought 4K bytes of static RAM, a whole board of 1Kx1 chips that fit into the expansion slot making the unit about 12 inches tall. And, I bought and put together a keyboard. The most useful software was the text editor and one pass assembler. Now I could really start to program like a pro.
First, you queued up the tape to the start of the text editor program. Then you started the tape load routine by entering the address on the hex keypad. The tape load routine was in the ROM bios which came with the I/O expansion board saving hours of typing codes by hand on the hex pad. Press play and watch the hex display count up. When the display stopped flashing, the program was loaded and you could set the address to the program and run it. Now, you could use the keyboard and monitor like a real text editor to enter your assembly language program. The code you typed in was stored in RAM and to save it you had to get a blank tape ready in the cassette recorder then press record and tell the text editor to write the data to tape. When the hex display stopped flashing, you were done.
Running the assembler was tricky. You needed two cassette players. (The second one I borrowed from my grandparents.) One to read the source program and another to write out the object code. But, when you were finished you had a brand new program. Surely this one will take over the world.
The reality of it is: the world is a big and complicated place. Even now, with all the computers interconnected through the Internet, running dish washers and space shuttles, no one person can control it all. I struggle every day just to learn some small thing that will make my programs a little bit better. I have become disillusioned by the mundane existence that has become my life. The dream is real, computers are running the world. But, I have lost control. I can see though the eyes of a child the possibility of one man making a difference but that child is silenced by the scream that I am just one pathetic loser of a man.
But, all is not lost. Every time I hear of another DoS attack, I smile a private smile that some hacker out there has lost his virginity and has rekindled the dream that yes, one person can make a difference but probably shouldn’t.
A parting note to the would be hackers of the next generation: keep the dream alive for a long as you can, for some day soon, you’ll wake up and find out that you’ve grown too old to be screwing around and have to do something with your life.