jueves, 28 de mayo de 2009

Homebrewed CPU Is a Beautiful Mess of Wires

Intel’s fabrication plants can churn out hundreds of thousands of processor chips a day. But what does it take to handcraft a single 8-bit CPU and a computer? Give or take 18 months, about $1,000 and 1,253 pieces of wire.

Steve Chamberlin, a Belmont, California, videogame developer by day, set out on a quest to custom design and build his own 8-bit computer. The homebrew CPU would be called Big Mess of Wires or BMOW. Despite its name, it is a painstakingly created work of art.
“Computers can seem like complete black boxes. We understand what they do, but not how they do it, really,” says Chamberlin. “When I was finally able to mentally connect the dots all the way from the physics of a transistor up to a functioning computer, it was an incredible thrill.”
The 8-bit CPU and computer will be on display doing an interactive chess demo at the fourth annual Maker Faire in San Mateo, California, this weekend, May 30-31. It will be one of 600 exhibits of do-it-yourself technology, hacks, mods and just plain strange hobby projects at the faire, which is expected to draw 80,000 attendees.
The BMOW is closest in design to the MOS Technology 6502 processor used in the Apple II, Commodore 64 and early Atari videogame consoles. Chamberlin designed his CPU to have three 8-bit data registers, a 24-bit address size and 12 addressing modes. It took him about a year and a half from design to finish. Almost all the components come from the 1970s- and 1980s-era technology.
“Old ’80s vintage parts may not be very powerful, but they’re easy to work with and simple to understand,” he says. “They’re like the Volkswagen Beetles of computer hardware. Nobody argues they’re the best but we love them for their simplicity.”
To connect the parts, Chamberlin used wire wrapping instead of soldering. The technique involves taking a hollow, screwdriver-shaped tool and looping the wire through it to create a tight, secure connection. Wire wraps are seen as less prone to failures than soldered junctions but can take much longer to accomplish. Still, they offer one big advantage, says Chamberlin.
“Wire wrapping is changeable,” he says. “I can unwrap and start over if I make a mistake. It is is much harder to recover from a mistake if you solder.”
Chamberlin started with a a 12×7-inch Augat wire-wrap board with 2,832 gold wire-wrap posts that he purchased from eBay for $50. Eventually he used 1,253 pieces of wire to create 2,506 individually-wrapped connections, wrapping at the rate of almost 25 wires in an hour. “It’s like a form of meditation,” he wrote on his blog. “Despite how long it takes to wrap, the wire-wrapping hasn’t really impacted my overall rate of progress. Design, debugging, and general procrastination consume the most time.”
The BMOW isn’t just a CPU. Chamberlin added a keyboard input, an LCD output that shows a strip of text, a USB connection, three-voice audio, and VGA video output to turn it into a functioning computer. The video circuitry, a UMC 70C171 color palette chip, was hard to come by, he says. When Chamberlin couldn’t find a source for it online, he went to a local electronics surplus warehouse and dug through a box of 20-year-old video cards. Two cards in there had the chip he needed, so he took one and repurposed it for his project.
The use of retro technology and parts is essential for a home hobbyist, says Chamberlin. Working with newer electronics technology can be difficult because a lot of modern parts are surface-mount chips instead of having through-hole pins. That requires a wave soldering oven, putting them out of reach of non-professionals.
After months of the CPU sitting naked on his desk, Chamberlin fashioned a case using a gutted X Terminal, a workstation popular in the early 1990s.
“Why did I do all this?” he says. “I don’t know. But it has been a lot of fun.”

1 comentario:

  1. Hay que tener paciencia y ganas para hacer una CPU. Enorabuena Chamberlin por el logro. Encima sin soldar los cables, solamente apretandolos, es un crack ;)

    ResponderEliminar