# USB4VC: USB Inputs on Retro Computers! [Get USB4VC!](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/) | [Official Discord](https://discord.gg/HAuuh3pAmB) | [Getting Started](getting_started.md) | [Table of Contents](#table-of-contents) ----- USB4VC is an **active protocol converter** that let you use **USB keyboard, mouse, and gamepads** on many different retro computers. ![Alt text](photos/header.jpeg) With a **modular design**, different platforms are supported by swapping out **Protocol Cards**: ![Alt text](photos/header.gif) USB4VC is [now available on Tindie](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/), with two Protocol Cards: #### IBM PC Compatible * PS/2 Keyboard (Scancode set 1, 2 and 3) * PS/2 Mouse * AT Keyboard * XT Keyboard * Microsoft Serial Mouse * Mouse Systems Serial Mouse * 15-pin Gameport Gamepad * Mapping USB Gamepad to PC Mouse/Keyboard From the very first IBM PC in 1981 until the end of PS/2 ports in early 2000s, this Protocol Card covers it all! #### Apple Lisa, Early Macintosh, and Apple Desktop Bus (ADB) * Apple Lisa Keyboard (A6MB101) * Apple Lisa Mouse (A9M0050) * Macintosh Keyboard (M0110A) * Macintosh Mouse (M0100) * ADB Keyboard * ADB Mouse * Mapping USB gamepad to all above From Apple Lisa in 1983 to PowerMac G3 in 1999, and everything in-between! #### More to Come! Of course, more Protocol Cards are planned, and you can try [make your own](technical_notes.md) too! ## I Want One! / Get in Touch USB4VC is now available [on my Tindie store](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/) after being successfully funded [on Kickstarter!](https://www.kickstarter.com/projects/dekunukem/usb4vc-usb-inputs-on-retro-computers)! **Questions or comments?** Ask in [official Discord](https://discord.gg/HAuuh3pAmB), raise a [Github issue](https://github.com/dekuNukem/USB4VC/issues), [Twitter DM](https://twitter.com/dekuNukem_), or email `dekunukem` `gmail.com`! ## Videos * [LGR Review](https://www.youtube.com/watch?v=tbHr7ULpusM) * [Michael MJD Review](https://www.youtube.com/watch?v=Hv4A9p7Cn2s) * [1Bit Fever Dreams review of Lisa/Mac/ADB card](https://youtu.be/ALm5LWS0fqU) ## Highlights * USB Keyboard/Mouse/Gamepads on Vintage Computers! * Modular & Swappable Protocol Cards * Wireless / Bluetooth * Ultra Low Latency (0.5ms) * Fully Open-source * Make-your-own Protocol Card [Instruction Provided](technical_notes.md) ## How it Works USB4VC consists of two halves: **Baseboard** and swappable **Protocol Cards**. ![Alt text](photos/pcards.jpeg) Baseboard contains user buttons, OLED screen, and a Raspberry Pi. It processes USB input events, which are sent to Protocol Card. Each Protocol Card has a dedicated microcontroller and connectors for a specific platform. By splitting duties, RPi can focus on input parsing, and Protocol Card handles timing critical signal generation, resulting in a flexible architecture and reliable performance. USB peripherals can be connected via cables, wireless dongles, or Bluetooth. ## Getting Started [Click me](getting_started.md) ## Technical Details / Make Your Own Protocol Cards [Click me](technical_notes.md) ## Why / Project Goals Before the homogeneity of USB peripherals today, computer input devices were a wild west of proprietary peripherals, as different platforms used their own connectors and protocols for keyboards, mice, and gamepads. ![Alt text](photos/keyboards.jpeg) With the popularity of retro computing today, it poses several issues: * Many of those peripherals are simply **hard to find**, commanding a premium on online marketplaces. They are only getting rarer, and without them, the computer itself is useless. * After decades of service, many can be **degraded and unreliable** (e.g. foam & foil keyboards), requiring extensive restoration. * Many early peripherals simply **does not feel that great**. Mushy membrane keyboards, sticky ball mice, plasticky gamepads, etc. And of course, the good ones gets [*very expensive*](https://www.ebay.com/sch/i.html?_nkw=ibm+model+f&_sacat=0&rt=nc&LH_Sold=1&LH_Complete=1). * On the other hand, good quality USB peripherals can be had for a very reasonable price today with vastly **superior tactility, precision, and ergonomics**. * Thus, this project aims to make retro computers simply **more enjoyable to use**. * I also hope it can **lower the barrier of entry** for certain machines, put more computers **back in action**, help **preserving** existing peripherals, and generally **help more people** get into this hobby! But of course, one can argue that using period-correct peripherals is simply part of the hobby, but just like HDMI upscalers or floppy emus, it's nice to have the option to enhance the experience. ![Alt text](photos/duke3d.jpeg) ## Q&A ### Where can I get one? This project have been successly funded [via Kickstarter!](https://www.kickstarter.com/projects/dekunukem/usb4vc-usb-inputs-on-retro-computers), now it is available [on my Tindie store!](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/) ### Which Raspberry Pi can I use? Any RPi with a **40-pin header** *should* work, although **Model B/B+** is preferred. See [this table](https://en.wikipedia.org/wiki/Raspberry_Pi#Model_comparison) for details, sort by **GPIO** column. USB4VC has been officially tested on **Raspberry Pi 2/3/4 Model B**. Raspberry Pi Zeros should work too, but would need a USB hub. No need to get the latest and greatest. An older RPi is plenty fast enough! ### What about latency? 0.5ms to 1ms depending on the Raspberry Pi generation. 1ms is *one thousandth* of a second. [More info here](technical_notes.md#latency-information). ### Can you develop a Protocol Card for ___ ? I'd love to! But I would need a working machine with working peripherals. So if you're in UK and is happy to lend me one for a while, [let me know!](#i-want-one--get-in-touch) Also, as I can only work on so many at once, I'll probably focus on the more popular machines at first, but still, do let me know! ### Can I make my own Protocol Cards? Of course! See [this document](technical_notes.md). ### What does USB4VC stand for? USB for Vintage Computers. Although come to think of it, it's perfect for vintage consoles too! 🤔 ## Questions or Comments? Feel free to ask in official [Discord Chatroom](https://discord.gg/HAuuh3pAmB), raise a [Github issue](https://github.com/dekuNukem/USB4VC/issues), [DM on Twitter](https://twitter.com/dekuNukem_), or email `dekunukem` `gmail.com`! ## Table of Contents [Main page](README.md) [(Youtube Video) USB4VC in Action](https://www.youtube.com/watch?v=54sdPELuu4g) [Getting Started Guide](getting_started.md) [Kit Assembly Guide](kit_assembly.md) [Tinkering Guide / Make Your Own Protocol Card / Technical Notes](technical_notes.md) [Kickstarter Acknowledgements](kickstarter_info.md)