DreamPicoPort Support - TheArcadeStriker/flycast-wiki GitHub Wiki

What Is It And Why Do I Care?

DreamPicoPort offers VMU and Rumble support using Flycast on Windows, MacOS and Linux. You can even use your VMU as a memory card in Flycast!

IMG_3281

Showcases

Barebone Setup for 1 Player

Original Dreamcast controller board for up to 4 Players

Solder-Free Implementation

General Disclaimer

Proceed at your own risk! None of the authors are liable for any damage that may occur due to the use of any provided schematics, firmware, or any other recommendations made within this project (see LICENSE). There is risk of damage to any attached hardware (ex: USB port, Dreamcast peripheral, or Dreamcast) if circuitry is improperly handled.

HowTo

Step 1: Hardware Setup

Step 2: Software Setup

  • Download the latest build of Flycast. Make sure your version is at least 2.6
  • Startup Flycast
  • Plugin the microcontroller with at least one controller connected. VMU LCD should show a QR-Code as well as the Player Identifier (A, B, C, or D). If not, go back to Step 1
  • If you want to use your VMU as a memory card in Flycast, make sure to enable the Use Physical VMU Memory checkbox in Settings -> Controls
  • You are done! Fire up a game, and enjoy VMU and Rumble support
  • If this isn't working and you verified Step 1, go to Troubleshooting
  • In game, press Start + Right Trigger + Left Trigger at the same time to open the Flycast menu

Troubleshooting

  • Issue 1: VMU and / or Rumble are not working
    • Make sure to check Step 1 again, and verify hardware functionality
    • Ensure DreamPicoPort is connected and desired controllers are plugged in before launching flycast (hot swap of hardware is currently not supported)
    • Make sure only 1 instance of flycast is running
    • In flycast settings, ensure the Dreamcast Devices under the Controls tab match the controllers plugged into the DreamPicoPort
    • Ensure you are using the latest release of DreamPicoPort (version 1.2.1 or later is required)
    • Ensure you are using Flycast version 2.6 or later
    • On Linux, ensure that you have a udev rule setup for the device by executing:
      echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2f07", MODE="0666"' | sudo tee /etc/udev/rules.d/99-dreampicoport.rules
      sudo udevadm control --reload-rules
      sudo udevadm trigger
      
      • You may need to also remove and reinsert the device after running these commands
      • You may also try rebooting Linux if issues persist
  • Issue 2: Stick/Buttons/Triggers are not working
    • In Flycast, open Settings -> Controls. Click Map next to DreamPicoPort
    • Click the Reset... button, and then click yes to confirm; this will reset all controls to their defaults
    • Click Done to save the settings
  • Issue 3: Rumble doesn't work or rumble activation causes controller/DreamPicoPort to reset
    • Try a different USB cable, ideally a short one to reduce resistances
    • Connect DreamPicoPort to an independently powered USB hub
    • Clean contacts of the Dreamcast controller connector, expansion slots, and connection of jump pack
      • Ideally, contact cleaner should be used, but rubbing alcohol may work as well
      • Ensure all connections are completely dry before reapplying power
    • Use VBUS instead or VSYS on the Raspberry Pi Pico to power the controllers - you may also simply connect VBUS and VSYS together