-
Notifications
You must be signed in to change notification settings - Fork 8
DreamcastControllerUsb plus Flycast equals ❤️
Mike Kosek edited this page Feb 5, 2025
·
7 revisions
DreamcastControllerUsb offers VMU LCD and Rumble support using Flycast on Windows, MacOS and Linux.
Demo: https://youtu.be/Nj4dRMZ_jB0
Proceed at your own risk! I am not 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.md). There is risk of damage to any attached hardware (ex: USB port, Dreamcast peripheral, or Dreamcast) if circuitry is improperly handled.
- Wire up a Raspberry Pi Pico for Host Mode
- Only 1 Player is supported for VMU LCD and Rumble at the moment: You can wire up for
Player 1-4
(and have up to 4 Controllers connected, but only 1 with VMU LCD / Rumble), or build your setup forPlayer 1
only - Pay special attention to Isolation Circuitry and Dreamcast Controller Pinout
- Once the hardware is setup, deploy the latest binary on the Pico (either
host-1p.uf2
, orhost-4p.uf2
, depending on your setup) - Perform a first test: Plugin the microcontroller with at least one controller connected. VMU LCD should show a stylized VMU, and the Rumble pack should vibrate. The LED on the Pico board may be used for quick status - when connected to USB, it should remain on when no button is pressed on any controller and turn off once a button is pressed.
- If this doesn't work:
- Something went wrong in the wiring; you should revisit Host Mode, Isolation Circuitry, and Dreamcast Controller Pinout
- Your Controller, VMU, and/or Rumble pack may be faulty; verify on original hardware
- Download the latest dev-build of Flycast
- Startup Flycast
- Plugin the microcontroller with at least one controller connected. VMU LCD should show a stylized VMU, and the Rumble pack should vibrate. If not, go back to Step 1
- You are done! Fire up a game, and enjoy VMU LCD and Rumble support. Make sure to check the Usage Notes
- If this isn't working and you verified Step 1, go to Troubleshooting
- VMUs can not be used for actual savegames during emulation; However, VMU binary files can be copied over to/from the VMU
- When plugged in, the VMU will show up as a removable drive labeled
DC-Memory
- Find the *.bin file that you want to overwrite your VMU memory with, rename it to vmu0.bin, and then drag and drop it into the removable drive
- WARNING: This will entirely overwrite the memory of your VMU. Ensure that you make backups when necessary.
- You can now enjoy any VMU game, e.g., Chao Adventure, on the go!
- When plugged in, the VMU will show up as a removable drive labeled
- Controllers need to be reconnected if devices (e.g., VMU/Rumble pack) are added to the controller
- Games need to be restarted, or a savestate needs to be loaded, if a Controller is reconnected
- Issue 1: VMU LCD and / or Rumble are not working
- Make sure to check Step 1 again, and verify hardware functionality
- If you are on Linux, try starting Flycast with superuser permissions
- While DreamcastControllerUsb is plugged in, check your OS if the USB serial device shows up:
- Windows: Open
Device Manager -> Ports
. Note down theCOM*
serial device name ofUSB Serial Device
(e.g.,COM3
) - MacOS: Open
Terminal
and inputls /dev/tty.usbmodem*
. Note down the name of the serial device port (e.g.,/dev/tty.usbmodem1123
) - Linux: Open
Terminal
and inputls /dev/ttyACM*
. Note down the name of the serial device port (e.g.,/dev/ttyACM0
)
- Windows: Open
- If no serial device shows up:
- check Step 1 again, and verify hardware functionality
- If exactly one serial device shows up, add the following line to Flycast's
emu.cfg
file in the[input]
section:DreamcastControllerUsbSerialDevice = <YourSerialDevicePortName>
- If more than one serial device shows up:
- Check which one has the VID
1209
and the PID2F07
, and use this one inemu.cfg
(see previous step), or - try and error all devices
- Check which one has the VID
- Make sure to relaunch Flycast after every modification of
emu.cfg
- Issue 2: Stick/Buttons/Triggers are not working
- In Flycast, open
Settings -> Controls
. ClickMap
next toDreamcast Controller USB
- Map the missing Stick/Buttons/Triggers
- In Flycast, open