Как подключить джойстик от SEGA к компьютеру
Наверх
Введение
Вопрос подключения джойстика встал передо мной, когда в один прекрасный день я запустил эмулятор сеговских ромов в надежде вспомнить былое. После 15 минут игры на клавиатуре руки сильно устали и желание продолжать отпало. Не долго думая, полез в инет в поисках схемы.
Схем и драйверов оказалось довольно много, и все имели свои специфические особенности. Из за этого , к слову, мне пришлось перепаивать подключение 2 раза. Причиной тому было то невозможность джойстиков работать под XP, то кривость драйверов не распознающих нажатия кнопок и т.д..
В общем, я нашел оптимальный вариант, как схемы, так и драйвера. Данная статья поможет человеку не знающему, но жаждущему, сделать все с первого раза.
Многие могут воспротивиться, мол купить же можно геймпад! Да, купить можно все, но это же не интересно! Да и потом куда приятнее играть в сеговские игрушки на сеговском же джойстике. Кстати, самый дешевый геймпад это 300р, а нормальный 600-800.
Здесь же мы получаем 2 джойстика за 130р. И так приступим…
Разбираемся с железом
Джойстик для сеги стоит (в моем городе) 65 рублей. Я купил сразу 2 штуки. Еще нам понадобится разъем LPT типа «папа» (со штырьками), паяльник, припой, кислота паяльная, пассатижи, трубка
термоусадочная, USB – штэкер, отвертки, «моск» и руки.
Для начала необходимо узнать цвета проводов соответствующие номерам дырочек разъема DB-9 (джойстик). Я просто сточил
пластмассу на штекере при помощи наждака.
Против лома нет приема. Внутри штекера оказалась пустота с проводами. Есть альтернативный вариант вскрытия коробки штекера. По бокам есть что то на подобии шва. Надавив острым предметом сначала с одной стороны, а потом с другой заветный «грецкий орешек»
откроется. Именно так я вскрывал штекер второго джойстика.
После того как определились с расположением и цветами проводов, можно приступить к пайке разъема LPT. Паяем по схеме на
рисунке слева.
Как видно из схемы питание я брал от USB. На мой взгляд, оттуда надежнее, чем из самого порта LPT. Питание на самом деле очень важная вещь, ведь от него зависит стабильность работы девайса.
Сильно низкое или сильно высокое напряжения могут сказываться на реакции джойстика на кнопки: или они будут срабатывать не с первого нажатия или захватывать еще какие то с собой (например, при нажатии на A будет
автоматически срабатывать еще и Y).
Теперь можно закрыть кожух разъема. Далее необходимо разобрать джойстик для добавления пары элементов. Когда джойстик вскрыт на плате виден ряд контактов куда припаян сам провод. Необходимо найти провод, отвечающий за питание (у меня был черный). Между ним и самой платой нужно вставить еще диод КД522 (как правильно поставить сморите на
рисунке выше) и резистор на 800Ом.
Опять же к вопросу о питании. 5 Вольт что дает USB мне показались великоваты. Диод обеспечивает падение напряжения примерно на 0.5В, таким образом в джойстик идет 4.5В.
Резистор же нужен для ограничения тока (это необходимо для модда джойста, о чем позже). Итак, подробную махинацию с внедрением двух компонентов необходимо проделать и над вторым джойстиком.
Все собираем, и можно подключать. Сначала в LPT,
потом в USB!
Пересекаем финишную черту после первого круга, и заходим на второй…
Драйвера, дровишки…
Куда же без них родных. Самый лучший драйвер – это PPJoy, последняя версия 0.83. Сейчас я расскажу, как его установить и
настроить на работу с нашими джойстиками.
Установка стандартна. Во время прогресса может выскакивать окно, что данное оборудование не тестировалось на совместимость с XP, жмем все равно продолжить. Когда все встало
запускаем Configure Joysticks. Появится вот такое окно:
Жмем кнопку Add(добавить). В появившемся окне выбираем параметры как на рисунке
Жмем опять Add. Готово контроллер добавлен.
После этого появится сообщение что найдено новое оборудование и выскочит окно с предложением установить драйвера!
Выбираем «нет, не в этот раз»
Выбираем установку из указанного места
Через обзор необходимо указать папку с PPJoy, ту самую, откуда изначально запускалась его установка. Там в корне просто
драйвера лежат.
Система сама найдет их в этой папке и установит.
После этой установки снова появится сообщение с необходимостью установить драйвер, только на этот раз для HID совместимого контроллера. Все делаем так же. Драйвера ставятся опять же
из той же папки.
Один джойстик добавлен. Добавляем второй. В окне PPJoy Joystick and Gamepad Configurations Utillite жмем «Add(добавить)».
В появившемся окне выставляем параметры как на рисунке.
Жмем «Add». Снова появится окно с предложением ставить драйвера. Делаем все также, как в предыдущем случае. После
установки получим 2 установленных джойстика.
Часть 2 —>
Источник: http://how-make.ru/elektrichestvo/kak-podkljuchit-dzhojstik-ot-sega-k-kompjuteru/
Cхемы и особенности подключения джойстиков игровых приставок к PC
Источник: http://www.qrz.ru/schemes/contribute/technology/joysticks/
Sega – Подключение приставочного джойстика к РС
Подключение приставочного джойстика к РС
Подключение приставочного джойстика к РС Итак, вы скачали свой любимый ром, нужный эмулятор, запустили все это дело и через пару минут игры замечаете, что играть на клавиатуре в подобные игры неудобно.
Данная статья предназначена для тех, кто хочет подключить свой любимый приставочный джойстик к компьютеру, и тогда уж полностью отдаться ностальгии по давно ушедшим временам.
Отмечу сразу, что статья не претендует на приз как самая оригинальная в своем роде; я не буду глубоко вдаваться в теорию электроники, а дам лишь ту информацию, которая может понадобиться рядовому пользователю и любителю эмуляции.
В статье будет рассмотрено подключение джойстиков Nes (он же Dendy), Sega Genesis (он же Sega Megadrive) к принтерному порту, а также будет дана схема для перепайки джойстика SNES (он же Super Nintendo). Предпочтение первым двум я отдал потому, что данные приставки получили наибольшее распространение в России и в странах ближнего зарубежья.
В свою очередь схемы спайки очень просты, разобраться, думаю, не составит труда.
ВНИМАНИЕ! Все, что написано в данной статье вы делаете на свой страх и риск, и я не несу никакой ответственности за возможные последствия. В худшем варианте при неправильной спайке вы можете спалить принтерный порт. Просто перед тем, как подключать перепаянный джойстик компьютеру еще раз убедитесь в правильности спайки, отсутствии замыканий и проверьте ориентацию диодов. Джойстик подключайте при неработающем компьютере.
Что нам понадобится: 1) Сам джойстик;
2) LPT-разъем «папа»(на рис. 1) и корпус к нему (кто еще не знает – LPT-порт, он же параллельный порт, он же принтерный порт – служит для подключения принтера к компьютеру, расположен сзади у системного блока и имеет 25 контактов, расположенных в два ряда);
Рис. 1 – LPT-разъем «папа»
Контакты на ответном разъеме («папа») располагаются следующим образом (если смотреть с внешней стороны. На самом разъеме также должны быть номера контактов – проверьте себя):
3) Ответная часть разъема для джойстика и корпус к ней (хотя можно обойтись и без нее, только при этом вам придется отрезать родную вилку джойстика; при этом еще понадобятся небольшие кусочки провода). Я советую не отрезать вилку, так как джойстик может еще пригодиться по своему прямому назначению, да и если он сломается, легко поставить другой; 4) Кусок пятижильного (для Nes) или девятижильного ( для Sega) провода длиной 50-100 см; можно отрезать от старого джойстика. Конечно, можно обойтись и без этого провода, но так, на мой взгляд, удобнее; 5) Маломощные диоды – пойдут практически любые , например, серии КД522 – зайдите в ближайший магазин радиоэлектроники, продавец подскажет. В идеале надо применять диоды Шоттки, но их не всегда можно достать. 6) Паяльник, немного припоя, ну и хотя бы то, что вы хоть раз держали в руках эти вещи. 7) … и немножко терпения. Указанные схемы будут работать в системе WindowsXP с драйверами NTPad XP v2.01 или PPJoy.
Итак, джойстик Nes. На рисунках изображены вилки самих джойстиков, если на них смотреть с внешней стороны.
Думаю, вряд ли у вас оригинальный джойстик, поэтому вам подойдет второй или третий рисунок. Я советую все-таки найти ответную часть для джойстика, при этом нумерация этой ответной части будет зеркальным отражением рисунка, то есть на примере 9-типинового джойстика ответная часть будет выглядеть так (смотрим с внешней стороны):
Рис. 2 – ответная часть разъема джойстика
Ну и теперь, собственно, схема. Слева дана нумерация контактов LPT-порта «папы», справа – контакты джойстика.
А вот LPT-шный разъем с припаянными к нему диодами:
Примечание: земля на LPT-порте расположена с 18 по 25 контакт. Вы можете выбрать любой, на схеме в качестве примера взяты 18-ый и 19-ый.
Напомню, что диоды имеют одностороннюю проводимость. Что бы там ни было нарисовано на диоде, советую проверить направление его проводимости путем прозванивания тестером, либо путем сбора элементарной электрической схемы (например, батарейка и лампочка). Кто еще не знает, ток идет от плюса к минусу. Повторюсь, что проводимость диодов должна идти от LPT-порта к джойстику!
Для большей надежности во избежании замыкания можно перед спайкой надевать на провода кусочки кембрика (изоляционная трубочка из мягкой пластмассы), чтобы потом натянуть их на участок спайки. Хотя я обходился и без этого.
Если вы использовали ответный разъем для джойстика, то в итоге должен получиться примерно вот такой переходник:
Можно подключить от одного до пяти джойстиков NES, и все к одному параллельному порту.
Контакты Latch, Clock, питание и земля каждого последующего джойстика припаиваются к тем же контактам, что и для первого, а Data второго джойстика идет на 11-ый контакт параллельного порта, третьего – на 12-ый, четвертого – на 13-ый, пятого – на 15 –ый.
Я не рекомендую подключать больше двух джойстиков к одному LPT-порту, так как на нем может не хватить напряжения на все джойстики, что чревато появлением всякого рода глюков при игре.
Рассмотрим подключение джойстика Sega.
Здесь я бы обязательно рекомендовал найти ответный разъем, так как при интенсивной эксплуатации часто ломается крестовина, и поэтому джойстик приходится часто менять. Принцип спайки аналогичен предыдущему. Единственное, что отмечу, на схеме слева показаны номера контактов LPT-разъема «папы», а справа – номера ответного разъема для джойстика (когда вы купите ответный разъем, на нем написаны номера контактов; либо смотрите рисунок 2 ).
А вот схема для двух джойстиков Sega:
Я привел схему спайки по интерфейсу NTPad , на мой взгляд она является наиболее практичной. Также возможна спайка по интерфейсам DirectPadPro, Linyx и др., все схемы вы можете найти в пакете драйверов PPJoy. Не буду заострять внимание на установке драйвера, думаю, сами разберетесь. Я советую скачать оба драйвера ( NTPad и PPJoy). Сначала пробуйте первый (в нем побольше настроек), а если по каким-то причинам он не подойдет, тогда второй. Только отмечу, что при подключении джойстика Sega с драйвером NTPad при его установке выбирайте тип джойстик а Genesis New Interface, а при установке драйвера PPJoy указывайте тип джойстика и интерфейс NTPad.
На последок приведу схему для подключения джойстика SNES:
Источник: http://sega-megadrive.ucoz.ru/index/0-14
Подключение геймпада от 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 к ПК, запустить программу, выбрать порт, настроить эмулятор и пользоваться.
Прикрепленные файлы:
Источник: http://cxem.gq/comp/comp212.php
Принципы работы джойстика Sega MegaDrive
…Началось все с того, что я очень захотел подключить полюбившийся с детства сеговский джойстик к компьютеру. Перекопав весь интернет, я обнаружил множество схем переходников для подключения сеговского джойстика к параллельному порту компьютера, но ни одного описания принципов работы этих переходников.
Вся информация в статьях по подключению сеговского джойстика к компьютеру сводилась, в основном, к обучению считать ножки у разъемов, определять полярность диодов и, в самой популярной статье, – пить пиво. Я бы с этим смирился, если хотя бы одна из предложенных схем нормально работала.
Но у всех схем был один и тот же недостаток, – так называемые «произвольные нажатия» кнопок Икс, Игрек, Зет и Мод. Тогда я был уверен, что это проблема схемы переходника. В журнале Радио (2003г.№12) С.Рюмиком была предложена новая схема на двух транзисторах, восьми диодах и трех резисторах.
Однако на практике я не заметил ни одного преимущества этой схемы перед схемой «linux» из пакета PPJoy, которая не содержала каких-либо радиодеталей вообще, ну, разве что, разъемы, чтобы наспех всунутые в порт и джойстик провода не выскакивали во время игры.
В сети ходили слухи, что под 98-й виндой, джойстик работает нормально, однако, даже если это было правдой, – мне не хотелось возвращаться с XP на 98-ю ради нормальной работы сеговского джойстика.
Я почти разуверился найти способ заставить сеговский джой не выдавать ложных нажатий злосчастных кнопок, опросил всех, кого только можно, – у всех такая же проблема: джойстик «нормально» работает, только время от времени, при удержании стрелок направления, срабатывают кнопки X,Y,Z или Mode.
Собравшись было прекратить поиск, я случайно натолкнулся на датированную сентябрем 1996 года статью Чарльза Розенберга (Charles Rosenberg, http://www.cs.cmu.edu/~chuck/infopg/segasix.txt), в которой очень подробно описывались принципы работы сеговских джойстиков – Мегадрайв с тремя кнопками, и Мегадрайв-2 – с шестью.
Прочитав данную статью я догадался в чем может крыться суть проблемы «произвольных нажатий», написал свой драйвер XYZModeB, работающий с джойстиком через переходник по схеме сега-линукс и устраняющий «произвольные нажатия».
Однако статья эта написана по-английски, поэтому я решил изложить ее смысл по-русски для тех, кто возможно хотел бы узнать о принципе работы сеговского джойстика, но не знает английский настолько хорошо, чтобы понять оригинал статьи. Так же мною добавлены рисунки и схемы для наглядности (в оригинале все было только в текстовом виде). И еще: простите меня за возможные недочеты, так как по образованию я не являюсь ни радиотехником, ни переводчиком. Хотя я очень надеюсь, что все ошибки замечу сам.
Итак, ближе к делу! Начнем с описания принципа работы оригинального 3-х кнопочного джойстика Сега Мегадрайв (4стрелки+3кнопки+Старт=8сигналов). Микросхема 74HC157 на плате джойстика – это КМОП мультиплексор (смеситель) двух линий в одну, далее – просто чип. Чип нужен для передачи состояния сразу двух кнопок по одному проводу с целью уменьшения количества проводов.
Принцип его работы такой: имеются по паре входов (A и B) на каждый выход (Y). Сигнал select управляет микросхемой. Когда на select подается сигнал низкого уровня (логический 0), то на выходе Y – то же, что и на входе A.
Когда же на select попадает сигнал высокого уровня (логический 1) – на выходе Y то же, что на входе B.
Таким образом, теоретически чип позволяет посылать 8 сигналов по 4 линиям. Однако в 3-х кнопочном сеговском джойстике использовалось 6 линий для передачи 8 сигналов.
Это не было особо экономичным решением, зато обеспечивало обратную совместимость с джойстиками Atari 2600. Сигналы нажатий стрелок Вверх(Up) и Вниз(Down) подаются напрямую вне зависимости от состояния управляющей линии select.
Другие же сигналы подаются на выходы в зависимости от состояния линии select:
Уточню, что Select=0 следует понимать как низкий уровень сигнала на линии select, а Select=1 – как высокий уровень сигнала. Сигналом низкого уровня или логическим нолем принято считать напряжение в ноль вольт или близкое к нему, а высоким или логической единицей – в данном интерфейсе – напряжение близкое к пяти вольтам.
Во время игры на приставке процессор изменяет уровень сигнала на линии select в зависимости от того, состояние каких кнопок необходимо получить. Если кнопка нажата, – она замыкает сигнал соответствующей линии на землю(GND) и сигнал на выходе будет низкого уровня (), если кнопку отпустить – на соответствующем выходе получим высокий уровень сигнала (1).
Не перепутайте, когда будете писать собственный драйвер 😉 .
На данной схеме вы можете видеть как изменяется уровень сигнала на линии select в процессе опроса джойстика.
Схема не совсем правильно отражает соотношение времени высокого и низкого уровня сигнала select, поэтому я подписал примерное время для частоты опросов равной 60 герц.
В принципе Частота сигнала может быть и больше и меньше, а сигнал сам по себе может быть асинхронным, в разумных пределах. Предельные значения зависят от чипа конкретного джойстика и могут быть определены опытным путем.
Теперь, я попрошу вас перевести дыхание, подытожив прочитанное, так как все вышеизложенное было лишь преамбулой к 6-ти кнопочному джойстику. Если вы чего-либо недопоняли из предыдущего описания, то перечитайте его еще раз, иначе вы рискуете не понять продолжение темы.
Итак, приступим к рассмотрению принципа работы 6-ти кнопочного джойстика Сега Мегадрайв (4стрелки+6кнопок+Старт+Мод=12). В этом джойстике на плате вместо серийной микросхемы мы видим специальный чип.
Что он из себя представляет по сути, – мы можем только догадываться. Поэтому единственный вариант – используя осциллограф, посмотреть, что будет происходить с сигналами во время игры, использующей три новых кнопки.
MK3 как раз подойдет :)!
Все же не совсем понятно, зачем изготовители решили заменить старый добрый мультиплексор на чип изготовленный по спецзаказу.
Неужели у них были излишки времени и денег? Что же, и это – вполне возможно, однако причина видимо кроется в другом.
Причина – все та же обратная совместимость, только на этот раз – с играми, использующими лишь три кнопки. Вот как изменяется select на 6-ти кнопочнике:
Частота примерно та же, но если на 3-х кнопочнике 60 раз в секунду select изменялся в ноль и обратно один лишь раз, то здесь, мы 60 раз в секунду видим по 4 пульса в ноль и обратно на высокий уровень.
Не стану описывать, каким образом автор оригинальной статьи на английском выяснял назначение каждого из четырех импульсов, скажу лишь о практической реакции джойстика на эти импульсы: на первые два из них 6-ти кнопочный джойстик реагирует также как и в 3-х кнопочном варианте.
Однако сразу же после третьего перехода с ноля на высокий уровень, чип выдает данные о состоянии новых кнопок X,Y,Z,Mode на те же линии по которым передаются данные о состоянии стрелок джойстика при Select=1. Мы можем представить себе это как третье состояние линии select и назвать его Pulse-3.
Четвертый импульс – просто возвращает джойстик в режим совместимости со старым интерфейсом. Теперь таблица реакции на нажатия кнопок будет выглядеть следующим образом:
Теперь все становится на свои места.
Теперь, я надеюсь, вам стало ясно, что из-за малейшего промедления операционной системой подачи третьего импульса Pulse-3, драйвер, не имея возможности проверить сколько времени прошло между посылкой сигнала и реальным получением его портом, считает, что принимает данные о состоянии кнопок X,Y,Z,Mode, когда джойстик, просто не надеясь уже дождаться завершения цикла из 4-х импульсов, вернулся в режим совместимости и подсовывает ничего не подозревающему драйверу данные о состоянии стрелок.
Источник: http://sega.ucoz.com/publ/2-1-0-5
Adblockdetector