USB/BT controllers to 3DO Interactive Multiplayer.
Connects USB and Bluetooth controllers to a 3DO console via the PBUS daisy-chain protocol. Supports up to 8 players, USB mouse as a 3DO mouse, extension passthrough for native 3DO controllers, and multiple button mapping profiles. Requires a bidirectional 3.3V-to-5V level shifter.
3DO Output -- PBUS serial PIO protocol with daisy-chain support.
| Setting | Value |
|---|---|
| Routing mode | SIMPLE (1:1 controller to PBUS slot) |
| Player slots | 8 (shift on disconnect) |
| Max USB devices | 8 |
| Profile system | 3 profiles |
Hold Select for 2 seconds, then press D-Pad Up/Down to cycle.
| Profile | Description |
|---|---|
| Default | SNES-style layout (B1=B, B2=C, B3=A) |
| Fighting | Way of the Warrior, SFII (face buttons = punches, shoulders = kicks) |
| Shooter | Doom, PO'ed (shoulders = fire, face = movement actions) |
See the Profiles (Detailed) section below for full button mapping tables per profile.
- 8-player support -- Up to 8 USB controllers via USB hub, each mapped to a PBUS slot.
- Extension passthrough -- Native 3DO controllers connect in series after the USB adapter.
- Mouse support -- USB mouse emulates 3DO mouse for Myst, The Horde, Lemmings.
- Device types -- Joypad (2-byte), Joystick (9-byte), and Mouse (4-byte) PBUS reports.
| Board | Build Command |
|---|---|
| RP2040-Zero | make usb23do_rp2040zero |
make usb23do_rp2040zero
make flash-usb23do_rp2040zero| USB Input | 3DO Output | Notes |
|---|---|---|
| B1 (Cross/B) | B | Middle button |
| B2 (Circle/A) | C | Bottom button |
| B3 (Square/X) | A | Top button |
| B4 (Triangle/Y) | (disabled) | |
| L1 (LB/L) | L | Left shoulder |
| L2 (LT/ZL) | L | Left shoulder (OR) |
| R1 (RB/R) | R | Right shoulder |
| R2 (RT/ZR) | R | Right shoulder (OR) |
| S1 (Select) | X | Stop button |
| S2 (Start) | P | Play/Pause |
| D-Pad | D-Pad | Direct mapping |
| Left Stick | D-Pad | Stick to D-pad |
Optimized for Way of the Warrior, Super Street Fighter II Turbo:
| USB Input | 3DO Output | Notes |
|---|---|---|
| B1 (Cross/B) | B | Light Punch |
| B2 (Circle/A) | C | Medium Punch |
| B3 (Square/X) | A | Heavy Punch |
| B4 (Triangle/Y) | P | Light Kick |
| L1 (LB/L) | L | Medium Kick |
| R1 (RB/R) | R | Heavy Kick |
| S1 (Select) | X | Stop |
| S2 (Start) | P | Pause |
Optimized for Doom, PO'ed, Killing Time:
| USB Input | 3DO Output | Notes |
|---|---|---|
| B1 (Cross/B) | C | Jump |
| B2 (Circle/A) | B | Action |
| B3 (Square/X) | A | Weapon Switch |
| B4 (Triangle/Y) | X | Special |
| L1/L2 | L | Primary Fire |
| R1/R2 | R | Secondary Fire |
| S2 (Start) | P | Pause |
- Panasonic FZ-1 / FZ-10
- Goldstar GDO-101M / GDO-202M
- Sanyo TRY 3DO
- Creative Labs 3DO Blaster (PC card)
Controller not detected:
- Check PBUS cable connections, especially 5V power.
- Verify CLK and DATA pin assignments.
- Ensure the level shifter is wired correctly (all signal lines need 3.3V-to-5V shifting).
Multiple players not working:
- Verify the USB hub is powered.
- Check total device count (max 8).
- Try connecting one controller at a time.
Extension passthrough not working:
- Check the DATA_IN connection for the daisy chain.
- The native 3DO controller must be at the end of the chain.
Mouse not working:
- Verify the game supports the 3DO mouse.
- Check that the USB mouse is detected.
- Try a different USB mouse model.
