Commit 769ae454 authored by Ada Gottensträter's avatar Ada Gottensträter
Browse files


parent 34453d05
......@@ -27,6 +27,7 @@ Inside these, there is one directory for each project, which in turn may contain
On your PC, you will need the following software installed (and on PATH!)
- bash-compatible shell to run `` files (if you use Linux or have Git installed, you likely already have this)
- BSTC Spin compiler (you might need to install qemu if you're not using an x86 PC)
- fastspin compiler
- Python
- Ruby
## Info
- Type: Utility
- Author(s): Ada Gottensträter
- First release: 2019
- Video formats: None
- Inputs: Gamepad (duh)
## Description
Reads your SNES gamepads, converts their data into IBUS packets and sends them straight into your PC's COM port.
## Instructions
- Set your COM port's buffer sizes to something low (like 64 bytes) (On Windows, this is somewhere in Device Manager, no clue on Linux)
- Download [VJoySerialFeeder]( and set it up. (On Windows, this involves installing VJoy and creating a virtual joystick with 2 axes and 16 buttons. On Linux, you need to do some permission magic as explained on VJoySerialFeeder's page)
- Set protocol to IBUS
- Select your COM port
- open "Port Setup", select "Custom" and set the format to 230400 baud, 8 data bits, no parity, 1 stop bit
- press "Connect"
- Add one "Bit-mapped Button" and set it to Channel 1. Now map the bits to buttons. For me, it looks like this:
| 3| 4| 9|10| | | | | 2| 1| 5| 6| | | | |
- Add two axes. Set one to X and Channel 2, the other to Y and Channel 3. Then click "Setup" on each and go through the calibration process.
- Launch a game and map the controller as usual (some games will require you to set it as the primary controller in Windows' game controller settings)
- Profit?
## TODOs
- Figure out how to make this work with two pads (the data is sent, but routing it to two virtual devices is the isssue)
mkdir -p sdbins
cd source
rm ../sdbins/SNES2COM.BIN
fastspin -O2 -e -o ../sdbins/SNES2COM.BIN SNES2COM.spin
......@@ -93,7 +93,7 @@ repeat i from 0 to 14
p0 <<= 1
p1 <<= 1
pad[0] := !(p0><16)
pad[1] := !(p1><16)
pad[1] := !(p1><16)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment