When you think about the CPUs of classic gaming machines, chances are you think of the venerable MOS Technology 6502, which powered the NES (as well as the Apple II, the C64 and the Atari 800), or Federico Faggin’s triumph, the Z-80, which powered the TRS-80, the ZX-80/Timex Sinclair and the GameBoy and GameBoy Color.*
But spare a thought for the RCA 1802, an extremely weird 8-bit processor (its architecture is nothing like Z-80 or 6502, both of which are pretty similar) that can do things like run at super-low, non-standard clock speeds (like, it doesn’t need to always run at the same speed from instruction to instruction) and is so low powered that it is still used in Africa for pay phones, since it can be run on the power in the phone line alone. Oh, and it also spawned the first dedicated computer language for videogames…
Anyway, I’m getting a little ahead of myself. The chip, known as the COSMAC 1802, was used in a couple of hella early hobbyist microcomputers, notably the COSMAC ELF, a project you could find the plans for in Popular Electronics. Around the same time Apple starting offering the 4K Apple II, the first real consumer micro, dedicated hobbyists who were outgrowing the ELF’s 256 bytes of RAM (32 bytes of which were taken up by the training wheels of the OS, “a program that makes the computer easier to use,” could solder together a 1024 byte expansion board, and add a 64 x 128 display using RCA’s CDP-1861 PIXIE graphics chip. One of the most impressive visual hacks was to turn the 64 x 128 display into a virtual 64 x 32 display, changing it from having horizontal rectangle pixels to vertical rectangle pixels, and enabling it to run graphics at realtime speeds.
Folks who just wanted an 1802-based computer without all the soldering could order a COSMAC VIP directly from RCA for $245 (compare this to the Apple II’s launch price of $1300), which upped the ELF’s RAM to 2K, and included the PIXIE display, a cool plastic case, hex-keyboard, etc.
I won’t lie: Researching the 1802 can be sort of depressing, leading to lots of websites last updated in 2006, with “under construction” gifs. It’s sort of telling that the best emulator for the COSMAC ELF is for the Palm Pilot (the PDA, not the HP-era mobile phone PalmOS).
But, if you persevere enough, you find some really fun, interesting, and important gaming connections.
First is the RCA Studio II, the second game system that used removable ROM cartridges. It ran at the tricky 64 x 32 resolution (looking at videos online, I’m pretty sure it supported 64 x 128 as well), but featured 512 bytes of RAM, double that of an ELF. It came with some built-in games, and had the neat feature that its power adapter was also its display adapter. It even got some clones in Europe and Japan before being swept into the dustbin of history when the Atari 2600 shipped a few months later. (Actually, the Fairchild Channel F, which shipped first, was superior in every aspect.)
There were also some games for the awesomely named Cybervision 2001, Montgomery Ward’s brief 1978 entry into the personal computer business. This $399 1802-based machine added color to the equation. It’s also one of the most obscure and rare micros ever made; there are just not many machines or “cybersettes” of games in the wild. It was finding a Cybervision ad in an old Ward’s catalog that sent me on my 1802 vision quest and led me to CHIP-8…
Much more interesting than any of the 1802-based machines is the CHIP-8 language, which has the distinction of being the first ever programming tool designed specifically to make creating videogames easier. If you’re looking for the earliest ancestor of GameMaker and Unity, CHIP-8 is at the start of the family tree.**
Joseph Weisbecker, RCA’s microprocessor R&D genius, who designed the 1802, the VIP, and the Studio II (it’s easy to think of him as RCA’s Ralph Baer) also wrote CHIP-8, an interpreted language which used a virtual machine to ease game development. It’s pretty impressive.
To modern eyes, the commands look a lot like assembly, but it’s dead simple to manipulate the pixels onscreen and work with inputs. And wIth the 592 instructions you could fit into the 2K COSMAC VIP after you keyed in the 512 bytes of CHIP-8 itself, you could write a fairly sophisticated game. The VIC manual includes 24 game suggestions such as:
9. LUNAR LANDING - Program a graphic lunar landing game.
10. COLLIDE - Try to maneuver a spot from one edge of the screen to the other without hittingrandomly moving obstacles.
as well as full listings for various games.
With commands like:
0222 F065 VO:VO=MI
0224 4000 SKIP;VO NE 00
0226 121C GO 021C
0228 7301 V3+01
022A 4300 SKIP;V3 NE 00
022C 121C GO 021C
022E 2232 DO 0232
writing in CHIP-8 may not seem that user friendly, but compared to the straight machine code of CHIP-8 itself, it’s pretty good.
Because it’s both incredibly tiny and pretty easy to use, the elegant CHIP-8 has been ported to everything, notably a lot of calculators. There’s also a somewhat active CHIP-8 scene (there was an update last January, anyway) over at Chip8.com, which also houses the definitive CHIP-8 game library online, near complete docs for the VIP, the VIPER fanzine archive, and links to the various CHIP-8 interpreters and emulators for almost every hardware platform under the sun.
It’s kind of cool to think that with CHIP-8 you couple probably run Tetris on a lot of satellites that have 1802’s at their core, and the 1802 is interesting to look back on as a fascinating oddball processor.
To me though, Weisbecker’s real legacy is CHIP-8 itself, a programming language that may be limited application-wise today to graphing calculators, but whose impetus lives on in powerful tools like Game Maker and Unity that are helping creators generate some of the most interesting videogames around today.
Postscript: Like all weird 8-bit microprocessors worth their salt, the 1802 is still available, from INTERSIL, in their Space and Harsh Environments line, chugging away in milspec temperatures from -55C to 125C.
* I have a really funny story about my mother-in-law and the Z-80, but I’ll save it for another time. I will say she is the only person I’ve ever met who literally had AOL for Dummies next to the the IBM 360 System Operators manual on the bookshelf in her computer room — she is deceptively knowledgeable about machine code!
** While people were certainly using BASIC and other “high level” languages to make games before CHIP-8 arrive, CHIP-8 was the first language specifically created not to “teach the fundamentals of computer science” but to make it easy to create games with a computer.