This is a Macintosh 512k which I upgraded to run OS X by replacing the innards with a modern Mac Mini and various supporting components, including a grayscale CRT monitor, an LS-120 floppy disk drive, and a microcontroller-based USB device that interfaces the Mini to the original keyboard and mouse. Why? Mainly because I wanted to experiment with creating a custom USB device. Also I guess I wanted to waste hundreds of dollars and countless hours building a semi-useless computer with a 9 inch black and white screen and no arrow keys.
Note that this project involves dangerous high voltage electronics. If you decide to take apart your computer or monitor, and you touch the wrong thing at the wrong time, you could be killed. This can happen even after you've disconnected the power, as the CRT and capacitors on the circuit board may hold a significant charge for hours or even days after being unplugged. So don't mess around with this stuff unless you know what you're doing.
The exterior of the case is essentially unchanged by the modification. The keyboard and mouse are 100% original, inside and out. The keyboard, mouse, and floppy drive all work, as do the front brightness control knob and the rear power switch. The connectors on the rear have retained their original appearance, although some have had their function changed. The mouse port is still a mouse port. The floppy port is present but nonfunctional. The printer port is used for Ethernet, via a small dongle that has a DB-9 connector on one end and a RJ45 jack on the other. The modem port is used for USB and FireWire, via two cables I made with a DB-9 connector on one end and a USB or FireWire connector on the other. The audio port can be used for either audio-in or audio-out.
The most interesting part of the project for me was the circuit that allows the old original keyboard and mouse to be used with the Mini. It is based on an Atmel AT90USB162 microcontroller, which is basically a standard AVR µC with a special coprocessor dedicated to USB signaling. It comes with a C library that makes it relatively easy to create USB devices like HID keyboards and mice, speakers, storage devices, etc. My device advertises itself as a generic HID keyboard/mouse combo, and the Mini recognizes it as such, with no special drivers or configuration necessary. The code for interfacing with the keyboard and mouse is based on a discussion of the original hardware and protocols in the Macintosh Family Hardware Reference, an out of print technical manual for the early Macs. The mouse is a simple 2-axis optical quadrature encoder. The keyboard uses a custom 2-wire bidirectional serial interface. Here is the sourcecode for the AVR. My code is covered by a BSD license. Atmel has its own license on the library, which can be downloaded here. I etched the board at home using the Staples photo paper + laser printer + clothes iron + ferric chloride technique, which works amazingly well.
Here is a (boring) video showing startup, floppy use, firewire hard drive use, and playing a random video on youtube.
For more photos and information, go to my 24th Anniversary Macintosh Flickr photo set.
If you're into this kind of thing and you live in the New York City area, check out NYC Resistor, our local maker/hacker club.
Update: A number of blogs and forums have linked here. Thanks for all the (mostly) positive comments! Here are the backlinks in case you want to see what others are saying, and/or you want to post your own comment or question for others to see:
Blogs: Hackaday, Hacked Gadgets, Wired, Make, NYC Resistor, Wired again, tow, TUAW, MacUser, Cheap-ass guy, digdoug, Red Echo, ShiftDelete (Turkish), GeekStuff, MacWorld.it (English), Wired Vision (English), AppleBlog (Polish), MacBlog (English), UGNN, Labo-Apple, Have Another Apple
Forums: Applefritter, Oikos (English), 68k MLA, Logic Forum (English), Tevac (English), XGameStation, AtAt, Avos (English), Snarkish, One More Thing (English), Final Gear, Low End Mac, Anche Mac (English), MacTalk
Podcasts: VCP (English), Technorama, RetroMacCast (Interview at 9:40)
home | contact