Monday, July 13

(Re)Making a ColecoVision

[Leaded Solder] found some ColecoVision game cartridges at a flea market, and like most of us would, thought, “I’ll build a ColecoVision console from scratch to play them!” Well, maybe most of us would think of that, but not actually do it. He did and you can read about the results in great detail since he wrote up two posts, one covering the design and one covering the construction.

The ColecoVision was a game console that famously could be expanded into a nice — for its day — personal computer. It even had a daisy wheel printer in that configuration. However, in either configuration, the game console was the brains of the operation. According to [Leaded Solder] the price of a unit in working order is high even though over 2 million were made because of several design problems that make them less likely to survive the decades. Rather than repair and modify an original unit, it was cheaper and much more educational to build new.

The design goal was to use composite video, a single power supply, and reduce the size of the board, mainly by using surface mount parts where possible. [Leaded Solder] admits he didn’t fully understand how address and data buses worked in a system like this when starting this project, and he documents what he learned and winds up with a pretty succinct summary of bus operation. We’d argue that the statement, “…only one chip on a bus is supposed to be enabled at a time…” is a little misleading, however. Two chips are enabled at a time, one writer and one reader. In addition, it isn’t uncommon to have several devices read at the same time (for example, some CPUs have two copies of each register). But that’s a nitpick, especially in the context of the Z80 CPU used here.

By the time the PCBs arrived, the total price tag was up to just over $68 Canadian. We remember scrambling EPROMS on circuit boards to make layout easier. After all, you don’t care that location 0 and 1 in your EPROM are actually in adjacent cells. You just care that when you ask for one, you get it. The ColecoVision apparently did the same thing with its video and audio chips. The data bus runs in reverse. That is the Z80’s D0 pin connects to D7 and D7 connects to D0. Unfortunately, the original PCB didn’t take that into account for the sound chip, so a new board revision solved that problem.

The posts are pretty blunt about mistakes made and maybe we can all learn a little from reading about them. For example, subtle differences in footprints caused several problems with the first two versions of the board. By the end, there were 6 spins of the board. Luckily, PC boards are cheaper than they used to be.

Even so, there are still some controller issues, but we have no doubt he’ll solve it and tell us about it when he does. If you’ve ever tackled a project of this size, you are probably all too familiar with the process of debugging a new board. But most of us don’t document it to this extent. If you ever wanted to watch over someone’s shoulder doing a new design like this, you’ll want to read these posts.

Maybe before making boards, a breadboard would have helped. The idea of converting a game console into a PC wasn’t just for the ColecoVision and Adam (the ColecoVision’s computer personality). There were some attempts to do the same with the popular Atari 2600.

No comments:

Post a Comment