ВНИМАНИЕ!!
Автор статьи не несет ответственности за испорченное оборудование.
Используйте на свой страх и риск!
Нам понадобятся:
- Джойстик (подключить можно до пяти штук)
- Паяльник
- 5 дидов(не особо мощных)
- Изолента
- Разъём "папа" LPT порта (он же параллельный, он же от принтера, он же DB25M)
Для справки - разъёмы бывают "папа" - со штырьками и "мама" с дырочками под штырьки, откуда пошли такие аналогии можно только догадываться...
Итак, если Вы уже нашли у себя пару завалявшихся джойстика, необходимые запчасти, инструменты и запаслись энтузиазмом, то можно приступать.
Рассмотрим сначала порт LPT более подробно.
Если кто его не видел, показываю парочку таких выходов:
Если честно, то у себя на задней панели я такого не нашёл и залез поглубже. На материнской плате LPT порт все-таки оказался.
В своей "коллекции" железок откапал необходимый штекер, который и подключил к материнке. Если Вы попали в аналогичную ситуацию и у Вас нет вывода LPT на задней панели системного блока, но он присутствует на материнской плате подобный штекер можно найти на каком-нибудь радио-рынке или у перекупщиков Б/У запчастей для компьютеров. На многих, особенно старых, материнских платах он не припаян жёстко, а выносится именно таким штекером, поэтому найти его не должно составить особого труда:
Если же Вам повезло и у Вас такой выход имеется или Вы все-таки вы нашли этот штекер, то можно приступать к сборке схемы.
Что бы не загружать схему я не стал делать надписи на самой картинке, а все нужные нам контакты обозначил цветами. Отдельные контакты параллельного порта предназначены для различных целей: одни – для ввода, другие – для вывода данных. Особо вдаваться в тонкости работы компьютера и LPT-портов не будем. Думаю, достаточно будет объяснить только те, которые нам понадобятся. Итак:
- Желтый - Clock
- Ораньжевые контакты - с них питаем джойстик (около 5В). Обязательно только через диоды, иначе можно спалить LPT контроллер на материнской плате или всю мат. плату!!!
- Синий - Земля
- Зеленый - Latch
- Голубой - Управляющий контакт (10 контакт для первого джойстика, 11 - для второго, 12 - для третьего, 13 - для четвёртого, 15 - для пятого). Имейте В Виду, что штырёк 14 не использован, так как он не является входом параллельного порта.
ВАЖНО: Эта схема и все нижеследующие отображают выходы если смотреть на дырочки, ,т.е. основной провод выходит "сзади".
Если Вам интересно, то Clock и Latch это два входных бита, которые управляют последовательной передачей.
В виду того, что клонов приставки NES (Денди) было превеликое множество поэтому и разъёмов подключения джойстика к приставке было несколько. Цвета контактов обозначены соответственно цветам в Схеме разъёма LPT. Отличает лишь замена оранжевых контактов одним красным, т.к. питание берётся с 5-ти контактов, а подаётся на джойстик через один. Представлено 3 наиболее распространённых:
Для этих, наиболее распространённых разъёмов привожу соответственно три аналогичные схемы.
На схемах должно быть все достаточно понятно. Но, без комментариев схемы оставить не могу. Во-первых, напомню, что питать джойстик надо через диоды. Что это такое? Это, грубо говоря, выпрямители тока, т.е. они в одну сторону ток пропускают, а в другую нет. Таким образом, с LPT порта ток проходит, а вернуться на него через эти контакты диоды-то и не дают. Проверить диод у Вас в руках или нет Вы можете с помощью обычного мультиметра. Ток должен проходить от LPT к джойстику, а не как не наоборот. Если у Вас нет мультиметра, можете довериться подсказке на диоде - на них наносят полоску или схематичное изображение диода. На картинке ниже стрелкой указано направление протекания тока и соответствующее положение диода.
Таким образом, на диодах есть маркировка, и их следует припаивать полосочкой вверх, как на рисунке ниже. Просто припаиваете проводки по схеме к LPT и все.
Вторым важным моментом является подключение двух и более джойстиков. NES/SNES джойстики имеет линию Data, выше она названа управляющим контактом и на схемах обозначена голубым цветом. Она уникальна для каждого устройства (если их у Вас несколько) и каждый геймпад имеет свой собственный штырёк Data.
(pin 10) -----> Pad 1 data - для первого геймпада
(pin 11) -----> Pad 2 data - для второго геймпада
(pin 12) -----> Pad 3 data - т.д.
(pin 13) -----> Pad 4 data
(pin 15) -----> Pad 5 data
Имейте В Виду, что штырек 14 не использован, так как он не является входом параллельного порта.
После всех манипуляций у меня получилось вот что:
5 одинаковых диода я не нашёл, пришлось один взять отличный от других. Лучше конечно, если все 5 будут одинаковые. Если одинаковых нет, то по параметрам они должны быть примерно одинаковы, т.е. надо что бы сопротивление их не сильно отличалось.
Разъём DB25M можно взять со шнура нуль модема или со старого принтерного кабеля (Centronics'а). Лишь бы он был разборным. Хотя, конечно, можно и разрезать сам кабель и прозвонить мультиметром. Откуда я взял такой разъём? Все с той же "коллекции" компьютерного барахла.
С другой стороны мой разъём имел не огрызки проводов с другой стороны, а вполне приличный разъёмчик, который я не стал разбирать, а "понавтыкал" в соответственные "дырки" провода и соединил с разъёмом джойстика. В итоге получилось очень даже аккуратно:
Иногда, особо жадные производители, подключали джойстики к приставке не внешним разъёмом, а внутренним или того хуже - припаивали к плате приставке. Но и из этой ситуации я предлагаю для Вас выход. Разбираем свой джойстик. На фотографиях ниже, я обвёл нужные нам контакты кружечками соответственных цветов. Эти две фотографии, по сути, один и тот же джойстик с разных сторон для наглядности. Две фотографии ниже можно увеличить кликнув по ним. Далее прозваниваем эти контакты с другими концами провода и соединяем по любой из схем выше, что и в случае с путевым разъемом. Только в этот раз у нас не разъём, а заранее промаркированные провода.
Это все что касается аппаратной части. Читайте вторую часть - программную или как правильно настроить драйвера для дендевских джойстиков [появится в ближайшие дни].
Конструкция очень простая. Но, прежде чем проверять сделанный вами интерфейс, дважды убедитесь, что все провода припаяны правильно, и, что никакие оголённые провода не касаются чего-нибудь. Я сильно рекомендую использовать корпус для этих интерфейсов, чтобы уменьшить риск короткого замыкания.
NES И SNES имеют разные разъёмы. Также, есть очень много аналогов NES (среди них наш российский Денди, Кенга и д.р.), и поскольку компания Nintendo использовала патентованные разъёмы для своих фирменных машин, производители клонов не могли повторять их и использовали стандартные разъёмы D-Cannon. Во всяком случае, если у вас есть gamepad, и у него есть кнопки A, B, Turbo A, Турбо B, Select и Begin (последних двух может и не быть) и связывается через 5 проводов, тогда это или NES или аналог NES и будет работать если Вы все сделаете правильно. SNES gamepads также используют 5 проводов, но имеют больше кнопок, поэтому подключаются несколько иначе. Более подробно можете узнать через поисковики...
Теперь небольшой FAQ по теме:
1. Вопрос: Можно ли будет таким джойстиком играть в обычные РС-шные игры?
Ответ: Да, конечно, если в играх есть поддержка геймпада.
2. Вопрос: Вы сами подключали джойстик?
Ответ: Да, подключал, даже 2 пары приходилось делать, они у меня отлично работают!
3. Вопрос: Какой драйвер мне использовать?
Ответ: Самым универсальным драйвером является PPJoy. Для сеговского 6-ти кнопочного джоя рекомендуется XYZModeB, по той причине, что XYZModeB устраняет произвольные нажатия в этом джойстике.
4. Вопрос: Существуют ли другие схемы пайки?
Ответ: Существуют и другие схемы. Их можно найти, например, в комплекте драйвера PPJoy или через поисковик.
5. Вопрос: Подскажите, какие мне выбрать диоды?
Ответ: Подойдут практически любые малогабаритные диоды. В идеале следует применять диоды Шоттки (зайдите в магазин радиодеталей, там подскажут), но они достаточно дорогие.
6. Вопрос: А зачем вообще нужны диоды?
Ответ: Диоды нужны для выпрямления напряжения с нескольких пинов LPT-порта. Это, в свою очередь, необходимо для запитки джойстика.
7. Вопрос: Можно ли обойтись без диодов?
Ответ: Да, можно. В этом случае придётся применять отдельный блок питания (4,5 – 5,0 В). При этом Вы исключаете из схемы пайки блок диодов (то есть эти пины вообще не должны быть задействованы), и вместо него берете напряжение с контакта «плюс» внешнего блока питания, а контакт «минус» замыкаете на «землю» параллельного порта (пины с 18-го по 25-й).
Предупрежу сразу – внешний источник питания более надёжен в плане обеспечения питания джойстика, однако риск спалить ЛПТ-порт в случае неправильного подключения повышается в разы. Поэтому я этот способ рекомендую только тем, у кого работа джойстика связана с явной нестабильностью (а также для подключения двух и более джойстиков).
Исключительным способом подключения без диодов и внешнего питания является схема Сега-Линукс из пакета PPJoy.
8. Вопрос: Я все спаял и у меня ни хрена не работает (варианты: работают не все кнопки, кнопки работают неправильно).
Ответ: Для начала напишите какой джойстик подключаете, какая у Вас операционная система, каким драйвером пользуетесь и по какой схеме паяете. Как показывает практика, в 70% случаев причиной данной проблемы является неправильная спайка. Поэтому ещё раз (хоть в десятый, хоть в двадцатый раз) проверьте правильность спайки и ориентацию диодов. Если Вы уверены на 100%, что все спаяно правильно – пишите в комментариях или в форум.