Writing

Feed Software, technology, sysadmin war stories, and more.

Friday, April 6, 2018

Early days: the VIC-20 Programmer's Reference Guide

Continuing in the theme of "how I got started", a couple of days ago, I wrote about how my first computer was a VIC-20 and it was basically impossible to kill it short of physically hurting it. Even when we initially didn't have a power supply for it, we hit Radio Shack and got a cord that would fit. This was a very bad idea. The machine was designed for 9 VAC, and the straight-through cord jammed 120 VAC directly into it. It didn't die. It did, however, blow its fuse, as you would expect. Much later, after that was replaced and we got the actual power supply, everything was fine.

Original book

Still, that machine and its manual were the very first step. What came next was the VIC-20 Programmer's Reference Guide. I still have the original book, tattered and taped together. Just like the original manual, it isn't in particularly good shape, but I keep it around for nostalgia purposes.

The best part about this original artifact of mine is the price tag showing its origins. Check that out: not only was it purchased at a toy store (for that's how these things worked back then), we obviously got it for a steal: just 97 cents! The recommended price printed on the back is $16.95. Clearly, they weren't moving, and Toys 'R' Us wanted to get rid of them, and I benefited.

97 cents.  Cheap!

There are all sorts of interesting parts to this book. It tells you all of the useful memory locations in a list, in addition to talking about them in prose. This way, you can find things like what location in memory controls the screen's border color, or the background color. You can figure out which locations drive the different parts of the sound chip.

The book actually goes way beyond anything that I could have ever wanted to do with the machine. It covers the 6502 opcodes if you wanted to do assembly hacking, it talks about how many clock cycles each one takes, and all of that other stuff you'd need to know. Then, right before the back cover, there's a giant fold-out with the machine's schematic!

VIC-20 Schematic

[You'll want to click on that to see it full-size.]

Still, the book was too much for me back then. This wasn't necessarily a bad thing, since it meant the only limits were my own desires, but it did lead to some confusion from time to time.

My canonical example for something that went completely over my head at the time 30-something years ago was this one page which showed you how to do a "true note scale using frequency modulation". It was just a program which would throw a bunch of bytes at the right registers at the right time, but apparently it could sound pretty nice.

The author of this segment of the book had a little fun and injected an Easter Egg of sorts. That's the part I never understood. I'd try to type the whole thing in as shown, and would get a "?SYNTAX ERROR" for the first part. Check out this picture of the page to see why.

Manual page 101

Yep, that's right, it's invoking the muse before the music is made. I had no idea what that was back then, and it always kind of bugged me, until years later I could come back and put it all together.

I also occasionally hide goofy things in my writing, so I can't really fault them for that. My only note on the matter now is that maybe it could have had a "REM" in front of it. As it was, having that there with the error clipped out was mighty confusing: why didn't it work on my machine? What did that word mean? Did they just misspell "music"? Was I missing some kind of cartridge?

Do people still put that kind of love and attention into manuals today? Do we even get manuals any more, or are you just dumped into the deep end?

Still, this is how I started: a small (but solid) plastic computer with manuals from the toy store. I think I turned out okay.