Meet Magic-1, The Homemade CPU
Have you ever wanted to build your own minicomputer, but felt restricted by the available selection of microprocessors? You may remember Magic-1, the awesome homebrew CPU from the 2007 Maker Faire Bay Area, but were perhaps a little disappointed at the amount of available documentation at the time. Magic-1 creator (and Google engineer) Bill Buzbee has recently updated his Web site to include detailed information on schematics, architecture, as well as his build diaries if you're interested in constructing a similar machine on your own.
Magic-1 is composed of 74 Series TTL (transistor-transistor logic) integrated circuits, the chips that were used to build early minicomputers and mainframes. By wrapping thousands of wires by hand, Buzbee connected hundreds of these low-level logic chips to make a functioning minicomputer running at a blistering speed of 4.09 MHz with 4 MB of memory.
How about an operating system and software? Would any OS run on this custom architecture? Buzbee's CPU runs the Minix 2 operating system; Minix didn't work on Magic-1 out-of-the-box, so Buzbee dedicated several years to porting Minix to his homebrew CPU. In addition, Buzbee also had to write an assembler and linker from scratch, and port C libraries to Magic-1.
This proved to be quite the programming challenge: as Buzbee put it, "when the bug you're trying to track down could involve one or more of: hardware design flaw, loose or broken wire, loose or bad TTL chip, assembler bug, linker bug, compiler bug, C runtime library bug, or finally a bug in the program in question there's lot of opportunity for fun."
What do you do with a Minix-running microprocessor made out of logic gates and handwrapped wire? Serve webpages and play games on it, of course! Magic-1 acts as a webserver as well as a host for a variety of games. Telnet into Magic-1 via telnet://magic-1.org with the username "guest" and the password "magic", then bask in the retro glory of The Colossal Cave Adventure, Eliza, Conway's Life, or Hunt the Wumpus.