3 ms·
As I searched for a first computer I hoped to talk my parents into buying for my late-teen self, I read a lot of early computer magazines and visited local stor
by mrandish 1y ago
As I searched for a first computer I hoped to talk my parents into buying for my late-teen self, I read a lot of early computer magazines and visited local stores. I looked first at the Atari 400 and loved the games but, wanting to learn programming too, I just couldn't imagine that membrane keyboard being livable. Then I saw the C64, fell in love and went home from the store clutching the same color brochure linked above. How could I not love the promised 320 x 200 resolution, the sprites, all those colors - but I knew that $600 was too expensive. Ultimately, I had to settle on a Radio Shack Color Computer at around $400.
I loved the 6809-based Coco but, at the time, I felt it was inferior to the C64 and Atari 400/800 because it had no sprites, far fewer colors, lower resolution, lower clock speed, etc. Because I didn't yet understand computer architecture and simply believed the specs in the brochure, it was only much later, during my computer-industry career, that I grew to understand that the Coco, which I'd felt so insecure about, was really pretty ideal for my young self to learn on. The built-in Microsoft Extended Color BASIC was far superior to the ROM BASIC the C64 shipped with. Perhaps more importantly, the comprehensive, illustrated BASIC manuals Radio Shack commissioned are still legendary for being excellent for beginners to self-teach. And, unlike many of its peers, that ROM BASIC had extensive native commands for graphics, sound and music from day 1.
Once I'd written a bunch of graphic games entirely in BASIC, I advanced to learn assembly language because it was the only way to draw more and bigger objects faster. Fortunately, Radio Shack offered a ROM cartridge-based 6809 editor/assembler that was unreasonably good for a cheap home computer. And the Motorola 6809 CPU, being the little brother of the legendary 68000 was really an 8/16-bit CPU with an elegantly orthogonal instruction set which supported advanced addressing modes and many features neither the 6502 nor Z80 had. Things like re-entrant, relocatable, program counter relative code, separate user and system stacks, a multiply instruction and multiple levels of interrupts. Today it's considered the most powerful 8-bit CPU of that era (in fact, Apple originally intended the Macintosh to use the 6809). Radio Shack even offered a multi-tasking, multi-user, Unix-like operating system for their 8-bit, 64K 'toy' home computer.
Of course, back then I didn't know how good I had it since my only experience was with the computer I owned and I still believed the impression I formed from that beautiful C64 brochure. It wasn't until the mid and late 90s when there were piles of C64s and Ataris at thrift stores for $5 and $10 that I really understood that the C64's 320x200 resolution and 256 colors weren't all available at the same time, at least for regular users (short of advanced programmer tricks and esoteric demo scene hacks far beyond a beginning coder). Once the computers I'd lusted after were nearly free (or actually free when people just gave them to me vs throwing them out), I managed to acquire ALL of the widely available 8-bit and 16-bit computers I'd never been able to afford in the 80s and actually play with them.
Only then did I understand a 0.89 Mhz 6809 was two to three times faster than a 1 Mhz 6502 and that I'd 'grown up' in programming understanding interrupt driven multi-tasking, managing multiple stacks and using index register indirection, which made pointers feel natural when I later learned C on 68000-based computers. Even the lack of hardware sprites in my 'poor Coco' forced me to figure out software sprites using bit masks and XOR in assembler - and I had a blazingly fast CPU to do it with. Even the higher resolution and colors of the C64 and Atari didn't turn out to actually be that much higher than my Coco. Setting aside the amazing tricks demo scene coders eventually figured out on all these machines, in practice, as a beginning assembly language game coder back then I would probably have only used 3-color sprites on a background with an effective 160 x 192 resolution background. My Coco had four colors (although from a more limited palette) at an effective resolution of 128 x 192 and, being entirely software-based, I could do anything with those pixels that I could figure out how to CPU blit in one frame. With no hardware graphics to rely on, work around or trick, it was always just my code and the unforgiving pace of the CRT beam. This kept me focused from day 1 on cycle-counting performance and intense code optimization, which made my practical experience with real-time graphics more Apple II-like - except with 2 to 3 times more CPU power to throw at it. Sure, I didn't have the hardware GFX I'd lusted after in that brochure but those capabilities weren't quite as accessible to novices as I'd assumed - and what I got instead had some pretty sizable advantages I didn't appreciate at the time in shaping and preparing the programmer I would later become.
To be clear, I'm not being critical of the C64, today I revere and respect all of these classic machines. They're each great in their own unique way, and each one represents a different vision of what personal computing could be. That's a big part of what I miss about 80s home computing and the reason I've collected over a hundred different models of non-Intel 8-bit and 16-bit home computers over the years (all the commonly available Apple, Atari, Commodore, Sinclair, Amstrad, Amiga machines a few dozen more rare 8-bits from around the world). It's just ironic how my teen self misunderstood the specs in that brochure and how it led to an undeserved inferiority complex which existed only in my head.
- timknauf 1y agoThanks for taking the time to write that! I really enjoyed hearing about your journey, and I learned a fair bit about the Coco too, which wasn’t really known in my part of the world. Sounds like a great little machine, actually!
- mrandish 1y ago> Sounds like a great little machine, actually! Yes, it was quite decent and attracted a strong community of advanced hobbyists who were attracted by the 6809 CPU's power. The Coco had quite a lot of third-party hardware upgrades made by hobbyist garage companies and by leveraging these it could be inexpensively upgraded to quite a nice system, much like the Apple II's expansion capability - except the Coco had no internal slots so we had to solder wires to chip pins (another good learning lesson :-)). Radio Shack wasn't really a full computer company like Atari, Commodore, Apple, Sinclair, etc. They were primarily an electronics retailer who did their own manufacturing to drive down costs but only dabbled in original computer design. While they did a few somewhat unique designs like the Model 1, 2, 3, 4 series of 6502 machines, they tended to stick close to designs based on off-the-shelf chip manufacturer parts and didn't often do custom chips. Some of their computers were even private label rebrands of other manufacturer's computers, like the Model 100/200 and all the Pocket Computers. Because of this, Radio Shack's Color Computer was a straight off-the-shelf implementation of Motorola's 6809 system reference design - and Motorola had no cool graphics hardware support in their 6847 video chip. However, the upside of no GFX hardware was all that money went to the CPU which was two to three times more expensive than the 6502 or Z80. In fact, Woz wanted to use the 6809's earlier ancestor the 6800 in the Apple I but they were far too expensive at the time. Many don't know that most of the team that created the 6502 actually worked at Motorola designing the 6800 but were frustrated that when visiting customers all they heard was "Great chip, way too expensive" so they left and founded MOSTEK to create a cheaper, less powerful 6800 clone. Their first CPU, the 6501, was actually compatible with the 6800 but Motorola sued them so they changed it enough to be incompatible and called it the 6502. Due in part to the lawsuit sapping their resources, MOSTEK started running out of money before completing the 6502 and that's how Commodore was able to buy their own chip company at a good discount. The UK had the very similar Dragon 32 and 64 computers (and I have both!). They had the same hardware design but included a hardware serial port chip instead of a software bit-banger port. Software was mostly compatible between the Coco and Dragons as they used the same ROM-based Extended Color BASIC licensed from Microsoft. Dragons were also sold in Spain for a while and very briefly in the US by another company Dragon licensed. I think there was also a Coco-alike in Australia but can't recall the name. I don't think of these systems as Coco clones because they were all based on the same Motorola reference design and Microsoft ROM BASIC, which Motorola created to drive sales of their 6809 chip family (6883 system controller, 6847 display chip and 6821 UART).