mirror of
https://github.com/dekuNukem/USB4VC.git
synced 2025-10-31 11:26:46 -07:00
176 lines
6.9 KiB
Markdown
176 lines
6.9 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
With a **modular design**, different platforms are supported by swapping out **Protocol Cards**:
|
|
|
|

|
|
|
|
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
|
|
|
|
* [Click me for LGR Review!](https://www.youtube.com/watch?v=tbHr7ULpusM)
|
|
|
|
* [Click me for Michael MJD Review!](https://www.youtube.com/watch?v=Hv4A9p7Cn2s)
|
|
|
|
* [Click me for 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**.
|
|
|
|

|
|
|
|
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.
|
|
|
|

|
|
|
|
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.
|
|
|
|

|
|
|
|
## 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)
|
|
|