Реклама ⓘ
Главная » Компьютерная электроника
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Подключение геймпада от Sega Mega Drive 2 к PC

Никогда вам не хотелось поиграть в старые добрые игры, которые поражали наши детские умы и врезались в память своей захватывающей картинкой? Если все же ответ «да», то Вы наверняка знаете про эмуляторы приставок для компьютеров, возможно, даже пробовали поиграть в некоторые игры, но атмосфера уже не та, как прежде. Нажимать кнопки на клавиатуре весьма неудобно, особенно в очень динамичных играх, и не хватает давно забытого ощущения джойстика (или как сейчас по-современному их называют – геймпад) в руке.

Далеко не секрет, что у многих из нас в самых отдаленных углах кладовок, хранятся старые или нерабочие приставки, контроллер от которых мы можем использовать в своих целях. На этот раз давайте попробуем подключить геймпад  к ПК от всеми любимой Sega Mega Drive 2 (она же Genesis).

Итак, что для этого понадобится:

  • Джойстик от Sega Mega Drive 2
  • Arduino (Подойдет любая. В нашем случае это Nano)
  • Разъем DB9 (По желанию)

Для начала нужно разобраться как же приставка «общается» с джойстиком, чтобы понять что и как нам подключать. Протокол Sega очень прост в освоении, стандартизирован и достаточно легок для понимания.

Для начала распиновка разъема:

Если в двух словах и простым языком, то управляющая плата джойстика посылает в зависимости от нажатой клавиши +5 вольт на нужный контакт, который нужно считывать. Но у контроллера управляющих проводов всего 6, а кнопок 8.

Для этого инженеры в Sega придумали весьма своеобразное решение – чтобы консоль получила состояние кнопок, на управляющий провод «Select» подается импульс амплитудой в пять вольт и геймпад отдает сигналы кнопок «Вверх», «Вниз», «Влево», «Вправо», «В», «С», а для того, чтобы получить остальные – питание с «Select» снимается и джойстик отдает состояние оставшихся кнопок «А» и «Start».

 

Позднее были добавлены еще три кнопки. И снова необычное решение со стороны компании – консоль опрашивала джойстик джойстик три раза, посылая аналогичные импульсы и на третий раз контроллер выдавал состояние кнопок «X», «Y», «Z».

А теперь перейдем к практике:

Подключаем DB9 разъем к Arduino (1 -> D2, 2 ->D3, 3 ->D4, 4 ->D5, 5  -> 5v, 6 -> D6, 7  -> D7, 8 -> Gnd, 9  -> D8). Никаких дополнительных компонентов не нужно.

Разъем последовательного порта в наши дни достаточно редкий экземпляр и в маленьких городах достать такой практически невозможно. Поэтому, можно «скормить» штекеру джойстика обычные PLS разъемы/«штырьки», которые обычно идут в комплекте с Arduino:

К сожалению, DB9 я не нашел. Собственно, таким методом я и воспользовался – освободил их от BLS коннекторов и аккуратно припаял к ним PLS разъем:

В самом разъеме контроллера они держатся крепко и не выпадают. Главное, не забудьте пометить где верх, а где низ, чтобы не перепутать провода местами. Вот так выглядит полное подключение:

Далее нужно написать скетч и залить прошивку в Arduino, но так как микроконтроллер данной серии не может представляться системе как USB HID устройство, а эмулируется подключение в последовательный порт, то придется работать с ним.

В данном случае, выход из ситуации предстоит следующий – нужна сторонняя программа, которая будет принимать и обрабатывать данные из последовательного порта и эмулировать нажатия клавиш клавиатуры (некоторые модели, такие как Leonardo и Duo, аппаратно поддерживают данную эмуляцию и сторонний софт на ПК не требуется).

Осталось дело за малым – подключить Arduino к ПК, запустить программу, выбрать порт, настроить эмулятор и пользоваться.

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (13) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
Николай #
Здравствуйте. Сделал все по гайду, но не могу найти софт для опроса порта и эмуляции нажатия клавиш. Не подскажете название?
Ответить
0
UrShade #
Добрый день, софт для опроса порта и эмуляции нажатия клавиш лежит в архиве с прошивкой, это самописная программа на языке Java, поэтому для её работы требуется JRE, которую можно скачать с официального сайта Java. Инструкция по запуску и использованию лежит в архиве, в файле ReadMe.txt
Ответить
0
Jaonski #
Эмулятор не видит джойстик. В чем может быть проблема? Вроде бы все драйвера установлены правильно и все делал по алгоритму.
Ответить
0
28deys #
Все сделал как на схеме налил скетч, JRE установлена, при запуске программы вот это
Прикрепленный файл: Screenshot_10.png
Ответить
0
REDcat #
Самое главное не сказал, какой версии нужен JRE?
Ответить
0
oleg5d75 #
Arduino Leonardo чуть больше чем в два раза дороже Nano, не проще ли его использовать и никаких сторонних програм и проблем с USB
Ответить
0
light #
У меня не заработала программа для компьютера, написал свою. Прикрепил, кому надо. Есть поддержка двух геймпадов, нужно отправлять 12 символа для каждого джойстика, без разделений.
Прикрепленный файл: Sega gamepad.zip
Ответить
0
Антон #
Вашу программу не удаётся запустить на Windows 7 x64. Пишет: "Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-core-path-l1-1-0.dll. Попробуйте переустановить программу". Я так понял, вы писали программу на Питоне 3.9 или новее. С ним есть известная проблема, что программы с него не работают на Win.7. Знаете ли вы, как запустить на Win.7 вашу программу? Я так и не нашёл способ.
Ответить
0
light #
Я могу выложить исходник, который вы можете перекомпилировать под свои задачи.
Прикрепленный файл: Sega.zip
Ответить
0
Максим #
Кто нибудь скиньте пожалуйста готовый вариант на два джойстика сега
Ответить
0
Максим #
SMDFiles,rar после установки работает лишь один джойстик, но на нём не функционируют кнопки xyz в чем проблема пока не понятно
Ответить
0
Максим #
Установив обновление Windows6.1-KB2999226-x64 в виндовс 7 бат файл удачно запустился
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

МиниПК MK809V - 4 ядра, Android 4.4.2
МиниПК MK809V - 4 ядра, Android 4.4.2
Конструктор - темброблок на LM1036 Паяльная станция Hakko 936
вверх