Создать ответ 
 
Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
USB4MAPLE адаптер
Автор Сообщение
megavolt85 Не на форуме
Супермодератор
******

Сообщений: 3112
Зарегистрирован: 24.03.2012
Рейтинг: 38
Сказал спасибо: 180
Поблагодарили 1532 раз(а) в 900 сообщ.
Сообщение: #1
USB4MAPLE адаптер
Новый MAPLE адаптер для подключения перефирии к DreamCast.
На этот раз я использовал Raspberry Pi Pico известную под именем RP2040.
Что можно подключить к DC при помощи данного адаптера:
1) USB клавиатуру
2) USB мышь
3) XBOX 360 контроллер, как проводной, так и беспроводной при помощи USB ресивера для x360 контроллеров (так же есть возможность подключить RF модуль от xbox 360 FAT)
4) USB флешку для эмуляции VMU (потребуется USB хаб)

Что необходимо для сборки адаптера:
1) RP2040 - любая версия, лично я использую самые дешёвые на фиолетовой плате, брал на распродаже по 156р, на день написания статьи они стоят 192р
2) разъём с кабелем от DC контроллера или удлинителя
3) USB OTG (type-c или micro usb зависит от того какую плату rp2040 вы купите)
4) USB HUB в случае если нужна эмуляция VMU. Прекрасно работают самые дешёвые хабы с выключателями питания из fixprice или ozone

Вся сборка сводится к пайке четырёх проводов (кроме случая с использованием RF модуля от xbox 360)

[Изображение: attachment.php?aid=1337]

разные платы могут маркироваться как GP# (# - номер вывода), так и просто цифрой, если на вашей плате перед цифрой не указан префикс GP, не обращаем на это внимания, 15 и GP15 это одно и тоже

Если вы решили подключить RF модуль от XBOX360 FAT, то вам дополнительно нужен шнур с USB A разъёмом (используются три провода D+, D- и GND) и дополнительно пять проводов от модуля к rp2040.
Синхронизация модуля с джойстиком осуществляется путём удержания кнопки на RF модуле более трёх секунд. (Требуется всего один раз или каждый раз после синхронизации контроллера с другим устройством)

[Изображение: attachment.php?aid=1338]

Горячие кнопки для 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
5) Проект разрешено использовать как для личных, так и для коммерческих целей с указанием автора, то есть меня (megavolt85)

.7z  usb4maple(12.05.24).7z (Размер: 50.16 Кб / Загрузок: 6)



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)

[Изображение: attachment.php?aid=1337]

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)

[Изображение: attachment.php?aid=1338]

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)


.7z  usb4maple(12.05.24).7z (Размер: 50.16 Кб / Загрузок: 6)


Прикрепления
.png  dc2rp.png (Размер: 168.64 Кб / Загрузок: 447)
.png  x360rf2rp.png (Размер: 364.35 Кб / Загрузок: 447)

HKT-3030, Bios mod, SD mod, VGA internal mod, G1ATA mod, Region changer mod, PSU mod
(Последний раз сообщение было отредактировано 12.05.2024 в 20:32, отредактировал пользователь megavolt85.)
09.04.2024 05:44
Найти все сообщения Цитировать это сообщение
 Сказали спасибо: SWAT , Ivan Guber , dimka112 , murikkk , ands , svk77 , e2e4 , MilkeyWilkey , dremov2007 , Vanmarch
Создать ответ 


Сообщения в этой теме
USB4MAPLE адаптер - megavolt85 - 09.04.2024 05:44
RE: USB4MAPLE адаптер - svk77 - 22.04.2024, 20:48

Похожие темы
Тема: Автор Ответов: Просмотров: Посл. сообщение
  Адаптер для MAPLE (RELEASE) megavolt85 146 146523 21.01.2024 21:26
Посл. сообщение: Рафгул

Переход:


Пользователи просматривают эту тему: 1 Гость(ей)