During the development of the greatest member of the Apple II family, the Apple IIgs, someone suggested to [Woz] that a sort of universal serial bus was needed for keyboards, mice, trackballs, and other desktop peripherals. [Woz] disappeared for a time and came back with something wonderful: a protocol that could be daisy-chained from keyboard to a graphics tablet to a mouse. This protocol was easily implemented on a cheap microcontroller, provided 500mA to the entire bus, and was used for everything from license dongles to modems.
The Apple Desktop Bus, or ADB, was a decade ahead of its time, and was a mainstay of the Mac platform until Apple had the courage to kill it off with the iMac. At that time, an industry popped up overnight for ADB to USB converters. Even today, there’s a few mechanical keyboard aficionados installing Teensies in their favorite input devices to give them a USB port.
While plugging an old Apple keyboard into a modern computer is a noble pursuit — this post was written on an Apple M0116 keyboard with salmon Alps switches — sometimes you want to go the other way. Wouldn’t it be cool to use a modern USB mouse and keyboard with an old Mac? That’s what [anthon] thought, so he developed the ADB Busboy.
The ADB Busboy is the exact opposite of [tmk]’s ADB to USB converter firmware for the Teensy. Instead of turning an old ADB keyboard into a USB device, [anthon]’s ADB Busboy turns USB keyboards and mice into ADB devices. Now, every USB keyboard and mouse is compatible with almost every Macintosh ever made, save for the 128, 512, Mac Plus, PowerBook 150, and arguably a few other portable models.
Why would anyone want to do this? Because it’s neat. Check out the animated thing [anthon] made:
There’s no release for the ADB Busboy quite yet. [anthon] still needs to implement and test a few features, design a PCB, an enclosure, and hopefully sell these USB to ADB converters to some nerds who have far too many old computers in their basement. They’re collector’s items, get off my back.
[anthon] has a site up where he’ll eventually announce this project’s release. You can sign up for an email alert when that happens.
Now this is useful to me. Sort of… I have an ADB keyboard now, from my Apple IIgs setup (which, BTW, lacks software) — but if it ever croaks… ;)
Very cool.
Extra credit for implementing or emulating a PHY. Nice work!
Nice, a couple of other well known guys in certain circles have been working on their own implementations of this as well. I’m just waiting for whichever ends up being cheapest/best.
Most of them I know of are all in this thread I think bbraun and bigmessowires have gotten the farthest implementation wise:
https://mac68k.info/forums/thread.jspa?threadID=271
That’s supposed to be read as “ADB Busboy”? Aw, I prefer how I first read it, “Badboy Busboy”.
That’s what I thought when I first saw the graphic, It had to be intentionally drawn that way though.
This is awesome…. I think more should be done towards making USB bridges to yesterdays tech.
I tried something similar a few years back (before the ARM based Teensies) and was outright floored by the insane documentation surrounding the USB protocol. I tried to offset the complexity by using a RPi to do the heavy lifting and a bit of scripting to do the bridging but the responsiveness was godawful. I didn’t realize at the time the GPIO ports were screwed up. I spent so much time trying to work through the USB specs that I just set it aside for more interesting projects.
USB to S-100. :D
Brian, thanks for posting my project here! You can use my name if you want, instead of [anthon]. Either way is fine though.
Clay, I was thinking of using “USB Badboy” for possibly a product for the reverse direction, or one that goes both directions, or some other related gadget.
Alas, the “animated thing [anthon] made” is the video.
The video is archived here:
https://web.archive.org/web/20210602164750/https://giant.gfycat.com/SpanishVelvetyHornedviper.webm