USB4MAPLE adapter

Place for discussing homebrew games, development, new releases and emulation.

Moderators: pcwzrd13, deluxux, VasiliyRS

User avatar
megavolt85
Developer
Posts: 1867

USB4MAPLE adapter

Post by megavolt85 »

New MAPLE adapter for connecting peripherals to DreamCast.
This time I used a Raspberry Pi Pico known as RP2040.
What can be connected to DC using this adapter:
1) USB keyboard
2) USB mouse
3) XBOX 360 controller, both wired and wireless using a USB receiver for x360 controllers (it is also possible to connect an RF module from xbox 360 FAT)
4) USB flash drive for VMU emulation (USB hub required)

What is needed to assemble the adapter:
1) RP2040 - any version, I personally use the cheapest ones on the purple board.
2) connector with cable from a DC controller or extension cord
3) USB OTG (type-c or micro usb depends on which rp2040 board you buy)
4) USB HUB if VMU emulation is needed.

The entire assembly comes down to soldering four wires (except for the case using the RF module from xbox 360)
dc2rp.png
different boards can be marked either with GP# (# - pin number) or simply with a number, if your board does not have the GP prefix before the number, do not pay attention to this, 15 and GP15 are the same thing

If you decide to connect the RF module from the XBOX360 FAT, then you additionally need a cord with a USB A connector (three wires D+, D- and GND are used) and an additional five wires from the module to the rp2040.
The module is synchronized with the joystick by holding the button on the RF module for more than three seconds. (Required only once or each time after syncing the controller with another device)
x360rf2rp.png
Hot buttons for x360 controller:
hold down the XBOX button, click on the hot button, release the XBOX button (while the XBOX button is held, the controller is disconnected from dreamcast)
1) A - standard controller mode, compatible with all games, uses the left stick, analog triggers, cross and START A B X Y buttons (indication - upper left LED)
2) X - mode of all buttons and analogues, supported only by some games (for example Quake 3, Unreal Tournament), absolutely all buttons and analogues work (indication - upper right LED)
3) Y - Twin Stick mode, fully supported by several games (Virtual-On, Postal, Xenocider), the d-pad and the left analogue work as the first d-pad, the ABXY and right stick buttons work as the second d-pad, the triggers correspond to the triggers, the bumper and the button in the stick corresponds to the upper buttons on the Twin Stick handles (indication - lower left LED)
4) B - FPS mode (and not only, it’s also good in platformers), compatible with all games (pretends to be a standard controller), the ABXY, START buttons, d-pad and triggers have a standard purpose, the right analogue works like the left analogue in the standard, and the left analogue emulates pressing the ABXY buttons, the right shift emulates the cross up, the left shift emulates the cross down, the buttons in the right/left analogue emulate the cross left/right (indication is the lower right LED)

P.S. The PS3 controller is partially supported, partially because its vibration randomly falls off, and on clones neither vibration nor LED indication works (at least on the clone that I have), all modes correspond to the x360 controller modes.

FAQ:
1) Support for other USB joysticks is not planned because i don’t have them and i'm not going to buy them for debugging the device, please understand that this is not a commercial project and i'm not ready to invest my money in it.
2) Composite devices (for example wireless keyboard + mouse) only support the first device
3) I tried to add the maximum number of mice, but if your specific mouse does not work, then the only way to add support for it is to provide me with a log, and this may require connecting a USB-UART cable to the rp2040 (in some cases you can get by with logs from your computer)
4) Switching virtual VMUs using buttons is not provided; for GDEMU owners using openmenu, images will be switched (created if they are missing) automatically, a little later this functionality will be added to DreamShell
5) The project is allowed to be used for both personal and commercial purposes with the indication of the author, that is, me (megavolt85)
USB4maple_firmware.zip
(51.75 KiB) Downloaded 129 times

enfilade
shadow
Posts: 12
Dreamcast Games you play Online: PSO, Maximum Pool, Internet Game Pack, 4x4 EVO, AFO, Chu Chu Rocket, Q3A, Worms, Ooga Booga
Location: Halifax, Nova Scotia

Re: USB4MAPLE adapter

Post by enfilade »

Thanks Megavolt for another amazing contribution to the Dreamcast community. What a game changer! Like a friend said, the future is now :D

Here are a few pics of my build of Megavolts adapter:

Image

Image

Image

Image

sh4
shadow
Posts: 10

Re: USB4MAPLE adapter

Post by sh4 »

That's awesome! It's better than paying scalper prices on ebay for dirty worn out DC accessories. Question though- do you use something like Arduino IDE to flash the pico with?
"We should've listened to Sega’s weird fish....Now look where we are." -Anonymous-

User avatar
Wombat
Vagabond
Posts: 754
Location: Netherlands

Re: USB4MAPLE adapter

Post by Wombat »

This is GREAT, thank you so much @megavolt85!
Happy to finally see Xbox 360 Wireless controller compatibility for Dreamcast with full analoge support for Quake III / Unreal, this is a game changer!

User avatar
MoeFoh
Uber
Posts: 1063

Re: USB4MAPLE adapter

Post by MoeFoh »

Amazing! Not a Bluetooth adapter, yes? How long before we see these on AliExpress? :shock:
Last edited by MoeFoh on Tue Apr 09, 2024 10:04 am, edited 1 time in total.

User avatar
megavolt85
Developer
Posts: 1867

Re: USB4MAPLE adapter

Post by megavolt85 »

sh4 wrote:Question though- do you use something like Arduino IDE to flash the pico with?
rp2040 is flashed simply, press the boot button and connect the usb cable to the PC.
A removable drive window will open into which you just need to copy the uf2 firmware file.
The removable drive will turn off within a second, and the firmware process is completed.

User avatar
megavolt85
Developer
Posts: 1867

Re: USB4MAPLE adapter

Post by megavolt85 »

MoeFoh wrote:Amazing! Not a Bluetooth adapter, yes?
No, x360 don't use bluetooth.

User avatar
RazorX
brutal
Posts: 245

Re: USB4MAPLE adapter

Post by RazorX »

Image
Image

User avatar
ateam
Animated Violence
Posts: 490

Re: USB4MAPLE adapter

Post by ateam »

Great work, megavolt85!

The virtual VMU support via thumb drive is an outstanding feature to include. Impressive!
Find me on...

DreamcastForever.com
GitHub
Reddit
SegaXtreme
Twitter
YouTube
• Discord: derek.ateam

User avatar
megavolt85
Developer
Posts: 1867

Re: USB4MAPLE adapter

Post by megavolt85 »

ateam wrote:The virtual VMU support via thumb drive is an outstanding feature to include. Impressive!
The most interesting thing is that I did not intend to support virtual VMU, I added it only because I needed to debug automatic bank switching in VM2 :)