Новый MAPLE адаптер для подключения перефирии к DreamCast.
На этот раз я использовал Raspberry Pi Pico известную под именем RP2040.
Что можно подключить к DC при помощи данного адаптера:
1) USB клавиатуру
2) USB мышь
3) USB флешку для эмуляции VMU (потребуется USB хаб)
4) Адаптеры:
- GP2040-CE Fighting Board
- Mayflash GameCube Controller Adapter
- Mayflash Magic-NS 2
- Mayflash Magic-NS Lite
- Mayflash Magic-S Pro 2
- Mayflash Sega Saturn Controller Adapter
- PlayStation 1 Twin USB Adapter
- PlayStation 2 USB Adapter
- Smart Joypad PS1/PS2 USB Adapter
5) Аркадные стики:
- Astro City Mini Arcade Stick
- Hori Xbox 360 Dead or Alive 4 Arcade Stick
- Hori RAP VX SA
- MayFlash Arcade Stick F101
- MayFlash Arcade Stick F300
- Mad Catz Arcade Fight Stick Tournament Edition
- Namco PlayStation Arcade Stick (w/ PS1 adapter)
- NEOGEO Arcade Stick Pro
6) Контроллеры:
- 8BitDo M30 Controller (in DInput mode)
- 8BitDo Micro Gamepad
- 8BitDo Mod Kit for Original MD Controller
- 8BitDo N30 Bluetooth Controller
- 8BitDo NEOGEO Controller
- 8BitDo Pro 2 Controller (in DInput mode)
- 8BitDo SNES30
- 8BitDo Ultimate 2.4G Controller (in DInput mode)
- Betop BEITONG Fighting Gamepad BTP-C3
- Densha De Go! Controller Type 2 (PS2)
- GuliKit KingKong 2 Pro Controller (Android/iOS mode)
- HORIPAD Switch Controller
- HORIPAD Mini Switch Controller
- iBuffalo Classic USB Gamepad
- Mad Catz Modern Warfare 3 Xbox 360 Controller
- Mad Catz Street Fighter X Tekken FightPad SD (PS3)
- PlayStation 3 DualShock 3
- PlayStation 4 DualShock 4
- PlayStation 5 Dualsense
- PowerA Enhanced Wired Controller (Switch)
- Retro-Bit Legacy16 Wired Controller
- Retro-Bit Sega Saturn USB Controller
- Saturn USB Play Sega Controller
- Sega Astro City Mini Gamepad
- Sega Mega Drive Mini Controller
- XBOX 360 (проводной, беспроводной через ресивер,беспроводной через RF модуль от консоли)
7) Джойстики:
- Gembird JSK-420
- Logitech Extreme 3D Pro
- Logitech Force 3D Pro
- PXN-F16
8) Рули:
- Logitech Driving Force
- Logitech Driving Force Pro
- Logitech Driving Force GT
- Logitech G25 Driving Force
- Logitech G27 Driving Force
- Logitech G29 Driving Force (in PS4 mode)
- Xbox 360 Wireless Racing Whee
- Xbox 360 Wireless Speed Wheel
Что необходимо для сборки адаптера:
1) RP2040 - любая версия, лично я использую самые дешёвые на фиолетовой плате, брал на распродаже по 156р, на день написания статьи они стоят 192р
2) разъём с кабелем от DC контроллера или удлинителя
3) USB OTG (type-c или micro usb зависит от того какую плату rp2040 вы купите)
4) USB HUB в случае если нужна эмуляция VMU. Прекрасно работают самые дешёвые хабы с выключателями питания из fixprice или ozone
Вся сборка сводится к пайке четырёх проводов (кроме случая с использованием RF модуля от xbox 360)
разные платы могут маркироваться как GP# (# - номер вывода), так и просто цифрой, если на вашей плате перед цифрой не указан префикс GP, не обращаем на это внимания, 15 и GP15 это одно и тоже
Если вы решили подключить RF модуль от XBOX360 FAT, то вам дополнительно нужен шнур с USB A разъёмом (используются три провода D+, D- и GND) и дополнительно пять проводов от модуля к rp2040.
Синхронизация модуля с джойстиком осуществляется путём удержания кнопки на RF модуле более трёх секунд. (Требуется всего один раз или каждый раз после синхронизации контроллера с другим устройством)
Горячие кнопки для x360 контроллера:
удерживаем кнопку XBOX, кликаем по горячей кнопке, отпускаем кнопку XBOX (пока удерживается кнопка XBOX, контроллер отключен от dreamcast)
1) A - режим стандартного контроллера, совместим со всеми играми, используется левый стик, аналоговые курки, крестовина и кнопки START A B X Y (индикация - левый верхний светодиод)
2) X - режим всех кнопок и аналогов, поддерживается лишь некоторыми играми (например Quake 3, Unreal Tournament), работают абсолютно все кнопки и аналоги (индикация - правый верхний светодиод)
3) Y - режим Twin Stick, поддерживается в полной мере несколькими играми (Virtual-On, Postal, Xenocider), крестовина и левый аналог работают как первая крестовина, кнопки ABXY и и правый стик работают как вторая крестовина, тригеры соответствуют куркам, бампер и кнопка в стике соответствуют верхним кнопкам на рукоятках Twin Stick (индикация - левый нижний светодиод)
4) B - режим FPS (и не только, в платформерах тоже хорош), совместим со всеми играми (прикидывается стандартным контроллером), кнопки ABXY, START, крестовина и тригеры имеют стандартное назначение, правый аналог работает как в стандарте левый, а левый аналог эмулирует нажатие кнопок ABXY, правый шифт эмулирует крестовину вверх, левый шифт эмулирует крестовину вниз, кнопки в правом/левом аналоге эмулируют крестовину влево/вправо (индикация - правый нижний светодиод)
P.S. частично поддерживается PS3 контроллер, частично потому что вибрация у него произвольно отваливается, а на клонах не работает ни вибрация ни светодиодная индикация (по крайней мере на том клоне что есть у меня), все режимы соответствуют режимам x360 контроллера.
FAQ:
1) Поддержка других USB джойстиков только по предоставлению мне полного лога с устройства
2) Составные устройства (например беспроводная клавиатура + мышь) поддерживают только первое устройство
3) Я постарался добавить максимальное количество мышек, но если конкретно ваша мышь не работает, то единственный способ добавить её поддержку, предоставить мне лог, а для этого может потребоваться подключение USB-UART кабеля к rp2040 (в некоторых случаях можно обойтись логами с компьютера)
4) Переключение виртуальных VMU кнопками не предусмотренно, для владельцев GDEMU использующих openmenu, образы будут переключаться (создаваться в случае их отсутствия) автоматически, для DreamShell это тоже реализовано, позже сделаю загрузочный диск для пользователей GD привода
5) Проект разрешено использовать как для личных, так и для коммерческих целей с указанием автора, то есть меня (megavolt85)
usb4maple(31.10.24).7z (Размер: 55.58 Кб / Загрузок: 0)
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) USB flash drive for VMU emulation (USB hub required)
4) Adapters:
- GP2040-CE Fighting Board
- Mayflash GameCube Controller Adapter
- Mayflash Magic-NS 2
- Mayflash Magic-NS Lite
- Mayflash Magic-S Pro 2
- Mayflash Sega Saturn Controller Adapter
- PlayStation 1 Twin USB Adapter
- PlayStation 2 USB Adapter
- Smart Joypad PS1/PS2 USB Adapter
5) Arcade sticks:
- Astro City Mini Arcade Stick
- Hori Xbox 360 Dead or Alive 4 Arcade Stick
- Hori RAP VX SA
- MayFlash Arcade Stick F101
- MayFlash Arcade Stick F300
- Mad Catz Arcade Fight Stick Tournament Edition
- Namco PlayStation Arcade Stick (w/ PS1 adapter)
- NEOGEO Arcade Stick Pro
6) Controllers:
- 8BitDo M30 Controller (in DInput mode)
- 8BitDo Micro Gamepad
- 8BitDo Mod Kit for Original MD Controller
- 8BitDo N30 Bluetooth Controller
- 8BitDo NEOGEO Controller
- 8BitDo Pro 2 Controller (in DInput mode)
- 8BitDo SNES30
- 8BitDo Ultimate 2.4G Controller (in DInput mode)
- Betop BEITONG Fighting Gamepad BTP-C3
- Densha De Go! Controller Type 2 (PS2)
- GuliKit KingKong 2 Pro Controller (Android/iOS mode)
- HORIPAD Switch Controller
- HORIPAD Mini Switch Controller
- iBuffalo Classic USB Gamepad
- Mad Catz Modern Warfare 3 Xbox 360 Controller
- Mad Catz Street Fighter X Tekken FightPad SD (PS3)
- PlayStation 3 DualShock 3
- PlayStation 4 DualShock 4
- PlayStation 5 Dualsense
- PowerA Enhanced Wired Controller (Switch)
- Retro-Bit Legacy16 Wired Controller
- Retro-Bit Sega Saturn USB Controller
- Saturn USB Play Sega Controller
- Sega Astro City Mini Gamepad
- Sega Mega Drive Mini Controller
- XBOX 360 (wired, wireless via receiver, wireless via RF module from the console)
7) Joysticks:
- Gembird JSK-420
- Logitech Extreme 3D Pro
- Logitech Force 3D Pro
- PXN-F16
8) Steering wheels:
- Logitech Driving Force
- Logitech Driving Force Pro
- Logitech Driving Force GT
- Logitech G25 Driving Force
- Logitech G27 Driving Force
- Logitech G29 Driving Force (in PS4 mode)
- Xbox 360 Wireless Racing Whee
- Xbox 360 Wireless Speed Wheel
What is needed to assemble the adapter:
1) RP2040 - any version, I personally use the cheapest ones on the purple board, I bought them on sale for 156 rubles, on the day of writing this article they cost 192 rubles
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 cheapest hubs with power switches from fixprice or ozone work great
The entire assembly comes down to soldering four wires (except for the case using the RF module from xbox 360)
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)
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, cross-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 only by providing me with a full log from the device
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 particular 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 with buttons is not provided, for GDEMU owners using openmenu, images will be switched (created if they are missing) automatically, this is also implemented for DreamShell, later I will make a boot disk for GD drive users
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(31.10.24).7z (Размер: 55.58 Кб / Загрузок: 0)