I’m only up to 1980, that’s pretty amazing considering what’s happened in the story so far. The Altair 8800 made its big splash in the January edition of Popular Electronics (which naturally came out in December). Now it’s 1980, only a half-decade later, and we’ve gone from that barely-there device to things even my 2014 eyes would recognize as actual personal computers. Visicalc is available on the Apple II and is changing the way people think about their data, it would soon find its way to the CBM family of machines. A not-especially-wealthy person could reasonably afford to buy a computer, a good letter-quality printer, and all the storage they could stand (in the form of lotsa floppy disks) and even have several choices and different price points that would meet those criteria. Database programs were starting to be a thing but I’d have to say that until DBASE came along later things were pretty much hit-or-miss and there was no clear tool-of-choice.
Notes On Graphics
That amount of progress is just astonishing. One thing that hadn’t changed too much was processor speed. During most of this time machines ran at about 1Mhz and that would remain the case for some time yet. Another thing is the availability of general purpose hi-res graphics. Now it’s not that we didn’t call things hi-res but Apple II’s notion of hires graphics for instance sported a whopping 280×192 pixels with a not-fully-general color display system (which you can read about elsewhere if you really like). Not-fully-general would be pretty typical for some time. Probably until CGA graphics of the PC, which was still a good 18 months away.
I think there’s a pretty simple reason why this was still hard, If you consider a typical good-quality screen at the time, you get about 40 characters by 25. Not too much later 80 column displays become available (wow is that roomy! No more program wrapping!) but I think 40 columns is more fair at this time. OK 40 columns, typically 8 pixels by 8 pixels in a cell. So 320×200. That’s nearly 64k bits or 8k to store all those pixels. Well for starters 8k is a lot of RAM in 1980 but almost as important we have to read the RAM 60 times a second and that gives us about a 480kB/s bandwidth problem – challenging on a memory bus of the day which is 1Mhz and that memory has to dual port. And that was assuming 1 bit per pixel. To get even 4 colors total (CGA quality) you need 2 bits and 16k — that was pretty much not happening.
On the other hand, downsizing was about to happen in a big way. Err, a small way. If the PET was austere the VIC20 was downright Spartan. At 5k of memory, with only 3.5k available for BASIC you couldn’t fit much code in the thing. But with crazy-double height character mapping you could tile every pixel – at 22×23 you had 506 characters, requiring exactly that many bytes for the storage plus there was a side table of colors for the meaning of the 1 and 0 bits in the main table. Of course there were not quite enough characters to cover the screen like that, but 160 by 160 was possible with 200 double height characters.
VIC20 was wildly popular at $300, not just because of its built in capabilities but because its expansion port accepted a variety of cartridges which could then bring additional capabilities. For starters even a simple game cartridge would have the game in question on ROM so that meant you didn’t need to use any of that precious 3k to store the program. But you could get a whopping 16k cartridge for the thing and have VAST amounts of memory for BASIC programming. The keyboard was totally reasonable – the whole thing looked like a thick-ish keyboard, and there was a custom low-end serial port that was kind of like IEEE488 over serial. And plenty slow. But it worked and it was cheap. Notably VIC20 was the first computer I know with a modem for less than $100. Bucketfulls of those sold as well and Compuserve, The Source, and others suddenly had a huge influx of users. Over a million modems sold.
One of the great things about having a device this inexpensive was that it could be used in a variety of custom applications straight-out-of-the-box instead of deploying custom hardware. In this time at my work we were experimenting with a small breadboard we called the Universal Interface which basically was a 6502 and some standard IO parts for it (a 6522ish thing) plus room for ROM and a breadboard for whatever else we needed and an IEEE488 port that could be repurposed if needed. We’d load it up and it would serve for converting whatever inputs to whatever outputs, usually IEEE488 so a PET could read it. But when space wasn’t a factor, or when video was desired, you could actually deploy a VIC pretty economically, and people did.
Speaking of small computers though, the VIC20 may seem itty bitty to your eyes but it’s downright luxurious compared to the champion of minimalist design – the Sinclair ZX80. This baby featured a swell Z80 processor and sold at $99. (Today I can get a very nice tablet for the same price) It had 1k of memory, and it had very limited video hardware – leaving the heavy lifting to the CPU. At 32×24 characters if you displayed everything you’d only have 384 bytes to work with. Yowsa. In the ZX81 would let your code would run very slowly when displaying video as it could only dedicate cycles to your program during the vertical blank. The ZX80 didn’t even do that, so real time graphics weren’t really an option. But wow, what a slick trick!
So at this point in history, we have the VIC, PET, Apple, TRS80-CoCo which I barely mentioned, ZX80, and maybe some other lesser known ones. We’re 18 months away from the PC and 4 years away from the Mac. By volume VIC20 will dominate, defining home computing for 2 years for many, whilst other offerings are actually pretty much universally superior to an unexpanded VIC. For comparison, something north of 2000 Altair 8800s were sold. A half decade later VIC20 was selling 9000 units a day for about the same price as the 8800 kit.