In the beginning Bushnell created Computer Space and Pong. And the home game industry was without business, and void, and Magnavox overlays were upon the TV. And Bushnell said let there be Home Pong: and there was Home Pong. And Bushnell saw Home Pong and saw that it was good. And Bushnell said, Let there be cartridges plugged into the console, and let them increase the games upon the console. And Atari released the Video Computer System, and saw that it was good– wait, aren’t we forgetting someone?
Jumping right in
Atari’s Atari 2600, initially known as the Video Computer System, is generally attributed as the first popular home gaming system to use interchangeable ROM cartridges. Previous systems were generally based around a single game, and generally even if they weren’t, like Magnavox’s Odyssey, the cartridges only changed around circuits already in the system. The Connecticut Leather Company’s Telstar Arcade followed the opposite extreme: it used cartridges, but they had the entire game unit on the cartridge.
But it’s no secret that there was another. Nearly a full year before Atari’s September 1977 release of the 2600, the Fairchild Channel F, initially known as the Video Entertainment System, was released, in November 1976. Fairchild of course was no stranger to electronics; if not known for the Channel F, the company is probably best known for the 1957 formation of Fairchild Semiconductor; the company funded the “traitorous eight” to leave Shockley Semiconductor, starting Fairchild Semiconductor. Fairchild commercialized putting integrated circuits on silicon, and then commercialized the MOSFET.
Of course, the Channel F isn’t known just for being the first ROM cartridge-based game console. It’s also known for the involvement of Jerry Lawson, the famous African-American engineer who was a member of the Homebrew Computer Club (which also spawned the Apple ][) and probably created the first microprocessor-driven arcade game. (using a Fairchild CPU, of course) So with Lawson and Fairchild’s history, it has a very impressive pedigree.
The history of the Channel F is fairly well-documented. So instead, I want to focus on the console not as a historical artifact, but as a piece of technology. How did Fairchild deal with the problems of creating a microprocessor-based game console in an era where most arcade games didn’t even use them? How does it differ from the competition?
Commanded by Graphics
The purpose of a game console is to draw pretty pictures on screen. Sure, it also needs to take player input, and probably make some beeps and boops, but it’s all about the graphics. Even today game consoles that aren’t from Nintendo are usually judged by their GPUs; this early in the market, the game consoles were generally 100% dictated by their graphics.
The troubles of creating a game console in the 1970s should not be understated.
- You must support CRT televisions; analog devices that demand an image be drawn at 60Hz in North America, with a precise line-frequency of ~15kHz; approximately 240 lines per field. You can not drop this framerate. You can not draw fewer lines.
- RAM is incredibly expensive.
- Everything is expensive. Chips, too, are expensive. Having pins on your chips is expensive. Looking at your chips is expensive.
- Your processors are limited in speed and unlikely to be able to go faster than 1-2MHz.
- Everything must be thoroughly shielded. The FCC requirements are very strict.
- People don’t plug things into their televisions. You have to trick the TV into thinking you’re an antenna; there’s no composite jack even.
Tradeoffs must be made. Atari’s tradeoffs, “racing the beam”, are pretty famous: the programmer must draw the screen one line at a time. The video chip of the 2600, the TIA, can only hold one line’s worth of state, and you must constantly update it, and with only a 1.19MHz CPU, you must carefully time your updates in line as the television draws the screen. That’s a quick summary– this isn’t a blog post about the Atari 2600. Oddly, I don’t have one?
This is a blog post about the Fairchild Channel F. So let’s dig into that baby.
Back to the future?
On computers today, 2D graphics still follow trends set by IBM’s Video Graphics Array (VGA). On VGA, a 640x480 graphics mode existed with a 16 color palette. 26 = 24, so each pixel has four bits, or half a byte. That’s 153,600 bytes, or 150 kiB, plus a tiny bit more for the palette. That’s not, like, nothing, but on business computers of 1987 it wasn’t a huge expense. On a more modern computer, you might have a 1920x1080 screen, and instead of 16 colors, you may have 16,777,216 colors. (224, or 3 bytes) Now that’s 6075 kiB, or less than 6MiB. Modern developers generally call that nothing. Even 4K and HDR don’t increase that too much.
The key thing to note, though, is that that grid is all you get. There are no tiles or sprites; those are just artifacts that exist on older systems to let you get more complex graphics with less video memory. If you have the video memory, and your CPU is fast enough, you can ignore all that. Older systems couldn’t spare the cost of the RAM.
Surprisingly, the modern method is pretty much how the Fairchild Channel F works.
What’s the tradeoff? Well, with its 1.17MHz CPU, the Atari 2600 can access a resolution of 160 pixels across (though the playfield can only be expanded in units of four), and 192 visible lines. With its 2kiB of VRAM, the Fairchild Channel F has a resolution of 102x58. (Actually, 128x64, but this is the visible area)
102x58 is not a high resolution. Let’s take a screenshot from Aspect Star “N”, which as a Famicom game, has a resolution of 256 pixels wide, and then resize it to 320x240 in both cases, as a first-order approximation of 4:3. (This isn’t perfect)
Of course, we haven’t limited the screen enough just yet. Two bits are expended for each pixel, which gives you 22 = 4 colors. Some of that extra VRAM outside of the visible range is used to determine the background color. There are four possible background colors: black, light grey, light green, and light blue. If your background is black, all other colors are white. Otherwise, your color choices are red, green, and blue. So let’s take a look at what Aspect Star “F” might look like, but remember that this is a hypothetical. I’m not making this. I’m not!
That actually doesn’t look awful! Of course, in the real world, I’d want more of a grid to draw the map in, and you can see I’ve sacrificed some features like the colorblind-friendly aspect markers. But what this does show is just how limited this console can be.
I don’t just want to focus on limitations, though. After all, this grid has some big advantages.
- Coding is easier. Atari notoriously didn’t care about their developers; this is what led to Activision’s formation. (On the other hand, Jerry Lawson would later leave Fairchild to go make 2600 games, so don’t overstate this one)
- Timing is less strict. You can be a little late and your game will just run slower; on the 2600, being too late could be enough to make the screen lose sync.
- You can do text! Text on the 2600 is an absolute nightmare. On the Channel F, it’s as easy as anything else.
That last one proved to be the niches in the market the Channel F could hang out in once the 2600 was released; educational software, and card games. Both of which weren’t well-suited to the 2600’s code-intensive answer to higher-resolution graphics.
Let’s dig in
But now that we’ve taken a look at what the system is capable of, now let’s crack this baby open. But first, admire the outside.
This is a Fairchild Channel F System II; a redesign from 1979. The redesign was marketed by Zircon International, as Fairchild was acquired by oil services firm Schlumberger Limited that same year, but the console is still branded a Fairchild throughout. Zircon did manage to sneak their name on the back of the cartridges they made, though.
If you’re curious, that address was part of a vacant office building in August 2019, if Google Maps is to be believed. Your business could rent the home of the Channel F!
Once you strip off the plastic cover of the Channel F, you find that the whole thing is encased in a metal RF shield, except for the power supply– the power supply shares a PCB with the buttons on the front. This is why the power supply is hardwired into the system; Fairchild/Zircon (Zirchild?) evidently wanted to keep the AC power frequencies out of the box. (the exterior brick only drops the voltage, it does not rectify it)
Surprisingly, there’s no solder mask on the main PCB. For a device from 1979, this is pretty weird; the board is also listed as Fairchild, so I guess perhaps this PCB was designed in house before the Zircon buyout? Look at that ground plane! We can also see the RF video output and the two controller ports at the back. They’re DB9, but not Atari standard.
What are the chips we see? The F3850 is the core unit of the Fairchild F8 CPU. Since this is a later System II model, the FCM 9101 and FCM9102 chips consolidate logic that was in several chips on the original, and then you see four dynamic RAM chips that provide the video RAM; it s a very simple board, though not quite as simple as the three-chip 2600.
What’s the deal with the Fairchild F8?
This is a “Videocart” for the Channel F. They’re modeled to look like 8-track tapes, and they hide their internals behind a spring-loaded plastic cover. Be careful when taking them apart, they’re a huge pain to put back. Note the number; this was early enough in the cartridge game industry that Fairchild took for granted they would make all cartridges, so of course they could number them as well. Nobody ever made third-party Channel F games.
Unfortunately, once we open it up, we don’t find very much– the two main chips aren’t labeled, and yet again we have no solder mask, exposing the bare metal. I did find a dead spider in this cartridge, though. Rest in peace.
So, what’s the deal with these cartridges? For that, we’ll turn to the VES Wiki, which has been an invaluable resource here. The Channel F is exceedingly well-documented thanks to enthusiasts like this.
As you’d expect for an 8-bit CPU, you have 8 data bits, D0-D7. PHI is just the system clock, R/W tells whether you’re writing. INTRQ’ is just an interrupt request; the pinout says this is infrequently used and I believe it, since interrupts aren’t mentioned on the VES Wiki very often.
But what’s missing is the address bus. On a typical ROM cartridge, you have an address bus, which tells the memory chips which address to collect data from. For example, on the Atari 2600, you have 13 address pins; in fact, the 13 address pins are what differ the 6507 CPU used in the Atari 2600, with the more common 6502 CPU– that one has 16 address pins. Pins are expensive; wire bonding, connecting the pins to the die, is much more intensive than simply adding more logic. So you can definitely save money this way. The tradeoff is, the 2600 can only access 8kiB of memory space, while the 6502 can access 64kiB.
But the Fairchild doesn’t have an address bus at all. There is the “C”, or “ROMC” bus, but at only five pins, that’d only allow accessing 32 bits, or four bytes of memory. I don’t care what kind of wizard you are, you can’t write a game in four bytes. And indeed, the Fairchild F8 has a 16-bit program counter; so it can access 64kiB of memory. What’s the secret?
The ROMC bus is a command bus. The Fairchild can’t use “normal” ROM chips; each ROM has to keep track of the program counter at all times. This puts a lot more logic work on the ROMs; but all that logic is internal, it doesn’t need to be hooked up to a pin. The ROMs must know where in memory they will be mapped. As for the ROMC bus, it will send out commands. The most basic is to output the next byte. If a more complex command is needed to be sent, it will actually use the data bus to tell, say, the new program counter.
All chips on an F8 bus must keep two program counters; they can be swapped between. This is how subroutines are implemented; as a result, subroutines on the F8 can’t be nested; a significant limitation. There is no “stack”.
Another downside here is that memory is no longer “random-access”. That is to say, if I am on memory address 1000, it is easier for me to go to memory address 1001, than it is to get the byte from, say, memory address 2000. The Fairchild F8 runs at 1.7MHz, noticeably faster than the CPU in the 2600, but with such a huge architecture difference it’s hard to say how similar the speed compares.
What about the RAM?
You might wonder how RAM works on the Fairchild F8. Well, in theory it should work the same way, and some cartridges did add RAM chips. Some cartridges also used gateway chips that converted the ROMC and data bus into a “normal” address and data bus; I’m not sure if all of the ones that used RAM did that, or if there was special Fairchild RAM.
But the Channel F base system has no RAM.
Sure, there are 2kiB VRAM. But the video RAM is not accessible as just regular memory. In fact, the processor can’t read the video RAM at all; it can only write to it, and it can only do so using IO ports. (The video RAM is standard DRAM of the time)
And what about the 64 bytes of RAM that Wikipedia claims the console has? That’s not really RAM, per se. They’re actually built into the processor; called “scratchpad registers”. A special register called the “ISAR” allows you to access them in ways kind of like RAM, but they’re not memory either, and not in the memory map. This is good, because it also means you don’t have to go over the bus. This is bad, because there’s only 64 bytes, which is half of the RAM you got on the Atari 2600.
Unlike the Atari 2600, but like most game consoles on the market at the time, the Fairchild F8 chipset has built-in software. So I wanted to turn it on and say something about the games, really look at the Channel F software. Let’s start with Hockey; since the Channel F only has an RF video output, I’ll use the same RF2AV post I used back in my 1978 Home Pinball post.
First off, you can see the “G?” screen, a common boot message asking you to input a number corresponding to the game you want to play. But you can also see that the colors are rainbow-banded and look awful; the Pinball Breakaway wasn’t nearly this bad on this device, and it definitely doesn’t look like this on my CRT TV.
This means we’ll need to do something else to get video output; while a composite mod is documented on the VES Wiki, I have some things I’d like to try before I give up and use their circuit. (Or, worst comes to worst, go back to my old ways of photographing televisions) And honestly, this post has got quite long. Let’s leave it here for today– I hope you’re finding this as interesting as I do.