mirror of
https://github.com/dekuNukem/USB4VC.git
synced 2025-10-31 11:26:46 -07:00
added tinkering guide and updated PCB information
This commit is contained in:
@@ -40,7 +40,7 @@ Edit the file with your WiFi information. You can find your [WiFi country code h
|
||||
|
||||

|
||||
|
||||
This file will disappear once Raspberry Pi boots up. To connect to a different WiFi, **create a new file** with the same name under `boot` with updated information. [Here is a template](resources/wpa_supplicant.conf) you can use.
|
||||
This file will disappear once Raspberry Pi boots up. To connect to a different WiFi, [download a new file](https://github.com/dekuNukem/USB4VC/raw/master/resources/wpa_supplicant.zip), unzip it, and put it under `boot` with updated information.
|
||||
|
||||
## Kit Assembly
|
||||
|
||||
@@ -60,7 +60,7 @@ Let's take a quick look:
|
||||
|
||||

|
||||
|
||||
* Cables can be purchased in [my Tindie store](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/).
|
||||
* Cables can be purchased in [my Tindie store](https://www.tindie.com/products/dekuNukem/usb4vc-usb-inputs-on-retro-computers/) (and of course other places).
|
||||
|
||||
* PS/2 keyboard and mouse need a **male to male** PS/2 cable.
|
||||
|
||||
@@ -104,6 +104,8 @@ With cables connected, power up USB4VC with a USB-C cable.
|
||||
|
||||
You can do it from Baseboard, Protocol Card, or even RPi itself. All will work!
|
||||
|
||||
**Always turn on USB4VC BEFORE the computer!**
|
||||
|
||||

|
||||
|
||||
Protocol card will power up instantly and start talking with the retro computer, while Raspberry Pi takes a few seconds to boot up.
|
||||
@@ -166,6 +168,8 @@ In my testing, gamepad compatibility seems to depends on the RPi models:
|
||||
|
||||
* If pairing fails, remove the BT device in the menu, reboot USB4VC, and try again.
|
||||
|
||||
* Multiple controllers will work at the same time, although sometime their outputs might compete with each other.
|
||||
|
||||
-----
|
||||
|
||||
Once connected, you can enable `15-Pin Gamepad` Protocol on IBM PC Card, and it should behave like a generic gamepad with **4 buttons and 4 analog axes**.
|
||||
@@ -182,7 +186,7 @@ With **officially supported controllers**, the mapping is:
|
||||
|
||||
* Left & Right Analog Triggers to Joystick 2 Y-Axis.
|
||||
|
||||
Unsupported USB controllers might still work, but the default mapping might be a bit wonky.
|
||||
Unsupported USB controllers might still work, but the default mapping might be wonky.
|
||||
|
||||
## Joycheck DOS Program
|
||||
|
||||
@@ -204,15 +208,13 @@ You can even have it **control mouse and keyboard**, in order to play games that
|
||||
|
||||
## Software Updates
|
||||
|
||||
Under construction ...
|
||||
Connect RPi to internet. You can [set up WiFi](#optional-set-up-wifi), or plug in an Ethernet cable.
|
||||
|
||||
Basically make sure RPi is connected to internet, and select `Internet Update` in main menu.
|
||||
Then simply select `Internet Update` in main menu. It will update source code and P-Card firmware to latest version.
|
||||
|
||||
## Tinkering Guide / Making Your Own Protocol Card / Techincal Details
|
||||
## Tinkering Guide / Making Your Own Protocol Card / Technical Details
|
||||
|
||||
[Click me to for techincal details and make-your-own protocol card instructions!](technical_notes.md)
|
||||
|
||||
Tinkering Guide is under construction ...
|
||||
[Click me!](technical_notes.md)
|
||||
|
||||
## Powering Off/On
|
||||
|
||||
@@ -226,10 +228,12 @@ When the RPi is off, you can press `POWER ON` button to turn it back on.
|
||||
|
||||
Here are a couple of bugs and issues that I am aware of, and the corresponding comments and remedies.
|
||||
|
||||
#### Boot time can be faster
|
||||
#### Boot Time
|
||||
|
||||
* Currently it takes about 17 seconds to boot with a decent SD card.
|
||||
|
||||
* Would be great if it's faster.
|
||||
|
||||
* Might look into disabling some services to speed it up.
|
||||
|
||||
* [Let me know](#questions-or-comments) if you'd like to help!
|
||||
|
||||
BIN
photos/ip.jpeg
Normal file
BIN
photos/ip.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
BIN
photos/stdpcard.png
Normal file
BIN
photos/stdpcard.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
@@ -1,4 +1,4 @@
|
||||
# USB4VC Technical Notes / Make Your Own Protocol Card
|
||||
# USB4VC Technical Notes / Make Your Own Protocol Card / Tinkering Guide
|
||||
|
||||
[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)
|
||||
|
||||
@@ -6,13 +6,25 @@
|
||||
|
||||
This document contains technical information about how USB4VC works. Please **read the whole article** if you're planning to make your own Protocol Cards.
|
||||
|
||||
## Tinkering Guide
|
||||
|
||||
Working on USB4VC is very straightforward. It's just some python scripts running on official RaspberryPi OS Lite.
|
||||
|
||||
To SSH into it, [set up WiFi](getting_started.md#optional-set-up-wifi) or plug in an Ethernet cable. The IP address will show up on the second page of main menu:
|
||||
|
||||

|
||||
|
||||
Username and password is `pi` and `usb4vc`, all lower case.
|
||||
|
||||
All files are inside `~/usb4vc`.
|
||||
|
||||
## Linux Input Event Codes
|
||||
|
||||
First of all, how does USB4VC read from KB/Mouse/Gamepads in the first place?
|
||||
Now, how does USB4VC read from USB inputs in the first place?
|
||||
|
||||
The answer is Linux **Input Event Codes**. Here's a very simplified description:
|
||||
|
||||
* Connected input devices show up in `/dev/input` as files:
|
||||
* Input devices show up in `/dev/input` as files:
|
||||
|
||||
```
|
||||
$ ls /dev/input/
|
||||
@@ -40,7 +52,7 @@ event0 event1 event2 mice mouse0 mouse1
|
||||
|
||||
* [Here's a good article](https://thehackerdiary.wordpress.com/2017/04/21/exploring-devinput-1/) that goes into a bit more details.
|
||||
|
||||
* You can install `evtest` and see what your device is returning in real time.
|
||||
* You can use `evtest` to see input events in real time.
|
||||
|
||||
* USB4VC reads those events from all input devices, processes them, and send them out to the Protocol Card.
|
||||
|
||||
@@ -322,6 +334,22 @@ Once SPI is working, you can move on to implementing the protocol itself. A few
|
||||
|
||||
* Just find a relevant product and download the schematics and PCB files, they are often production tested, so a great starting point to make your own!
|
||||
|
||||
### Protocol Card PCB Design Notes
|
||||
|
||||
If you want to design a Protocol Card for volume production, here are some helpful information.
|
||||
|
||||
* Protocol Cards has the same dimension as a Raspberry Pi Model A:
|
||||
|
||||

|
||||
|
||||
* Protocol Card pins are mapped to Raspberry Pi headers. See the red number for RPi pin number, and [click me for pinout details](#hardware-pinout).
|
||||
|
||||
* Connectors can come out from all 3 sides.
|
||||
|
||||
* Make sure to have a way for user to **update the firmware!** You can put a USB connector for manual updates, or hook up reset and DFU lines to do it from Raspberry Pi.
|
||||
|
||||
* No need to have a 5V to 3.3V regulator on the P-Card, it is provided by the Baseboard.
|
||||
|
||||
### Unique Protocol Card ID
|
||||
|
||||
Once your own P-Card has been tried and tested, it can be given a unique ID so the Baseboard can properly recognise it and display its protocol in the menus.
|
||||
|
||||
Reference in New Issue
Block a user