Сайт: Radioland

Делаем геймпад для PC

Конструкция очень простая. Просто дважды убедитесь в правильной ориентации диодов и прежде чем проверять сделанный Вами интерфейс, убедитесь что все провода припаяны правильно, и, что никакие оголенные провода не касаются чего-нибудь. Я сильно рекомендую использовать корпус для этих интерфейсов, чтобы уменьшить риск короткого замыкания. Для небольших устройств подойдет корпус от LPT разьема. Еще одна рекомендация - использовать мультикарту с LPT портом. Смысл в том, что в случае ошибки сгорела только мультикарта, а не контроллер паралельного порта на материнской плате. Для тех, кто не знает, раньше контроллеры COM/LPT,флопа и даже жестких дисков распологались на отдельной плате, втыкаемой в ISAшный разьем. Правда теперь от ISA повсеместно избавляются, а на PCI такие устройства не делаются.

Желательно не разрезать кабели джойстика, ведь джойстик может пригодиться еще по своему прямому назначению. Вместо этого, используйте ответную часть соответствующего разъема, чтобы подключить любой совместимый джойстик к интерфейсу. Его легко найти в случае HD-15 и DB-9 необходимых для Jaguar и интерфейсов Atari, но найти ответный разъем SNES скорее всего невозможно. Для интерфейса SNES можно приобрести кабель расширения SNES и отрезать от него разъем.

Основная проблема с параллельными портами, это то, что они не имеют необходимого напряжения (+5V) на любом из своих штырьков для запитки устройств. Кое-кем даже предлагается использовать в качестве источника питания разьем клавиатуры или порт обычного джойстика. Вы можете даже получить +5V непосредственно из блока питания (красный провод - +5V).

Но гораздо лучшее решение - использовать только параллельный порт. Вы можете запитаться с любого штырька данных. Для большинства реализаций необходим только один штырек. Рекомендуется штырь 9. Чаще всего этого бывает достаточно.

К сожалению, для некоторых устройств нужно бОльшее напряжение. И параллельный порт не может дать так много тока через штырьки данных. В этом случае вам понадобится использовать диоды для объединения тока от двух (или больше) битов данных вместе. Диоды, как известно, облаюают свойством односторонней проводимости и необходимы чтобы не вышел из строя ваш параллельный порт.

LPT        Диоды
(pin 9) ----|>|-------+------> Питание
                      |
(pin 8) ----|>|-------+
                      |
(pin 7) ----|>|-------+
                      |
-//-
                      |
(pin 4) ----|>|-------+
 

C землей еще проще. На PC's у параллельного порта земля находится с штырька 18 по штырек 25. Используйте любой штырек.

Теперь, когда с теорией покончено необходимо припаять провода к разьему LPT в соответсвии со схемой для вашего джойстика. Если у вас геймпад от Денди, то возможно несколько (пока насчитал 4) различных варианта разьема (вместе с подключанием прямо на плату приставки, кажется в Dendy Junior).

Дальше смотрите конкретно ваш джойстик

NES (он же Денди) и клоны

SNES (CуперНитнендо)

Геймпады NES и SNES широко распространены и легко доступны. Их легче всего подключить к PC. Оба Устройства используют один и тот же синхронный последовательный протокол, синхронизированный с компьютерной стороны. Для того, чтобы подключить вплоть до 5 NES и/или SNES к параллельному порту сразу, используются одни и те же выходы параллельного порта, тогда как один из 5 доступных входов назначается на каждый gamepad.

NES И SNES имеют два входных бита, Clock и Latch, которые управляют последовательной передачей. Они припаиваются к штырькам 2 и 3 параллельного порта, соответственно.


(штырек 2) -----> Clock
(штырек 3) -----> Latch
 

Также 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 не использован, так как он не является входом параллельного порта.

Это все Вам нужно на стороне PC's теперь обратимся к стороне геймпада. NES И SNES имеют разные разъемы. Также, есть очень много аналогов NES (среди них наш российский Денди, Кенга и д.р.), и поскольку компания Nintendo использовала патентованые разъемы для своих фирменных машин, производители клонов не могли повторять их и использовали стандартные разъемы D-Cannon. Во всяком случае, если у вас есть gamepad, и у него есть кнопки A, B, Turbo A, Турбо B, Select и Begin (последних двух может и не быть) и связывается через 5 проводов, тогда это или NES или аналог NES и будет работать если Вы все сделаете правильно. SNES gamepads также используют 5 проводов, но имеют больше кнопок.


Pinout for NES               Pinout for SNES                 Pinout for NES clone (db9)       Pinout for NES clone (db15)
                                                                                                     ДЕНДИ!!!
           +----> Питание   +-----------------------               +---------> Clock           +-----------------> Data
           |              7 | o  o  o  o |  x  x  o  | 1            | +-------> Latch           |             +---> Земля
 5 +---------+  7           +-----------------------/               | | +-----> Data            |             |
   | x  x  o                 |  |  |  |          |                 | | |                      ___________________
   | o  o  o  o |             |  |  |  |          +-> Земля      _____________               8 o x x x x x x o / 1
 4 +------------+ 1           |  |  |  +------------> Data     5 x o o o x / 1                o x x o x x o /
     |  |  |  |               |  |  +---------------> Latch       x o x o /                 15 `~~~~~~~~~~~~~' 9
     |  |  |  +-> Земля       |  +------------------> Clock      9 `~~~~~~~' 6                    |     |     |
     |  |  +----> Clock       +---------------------> Питание         |   |                       |     |     +----> Clock
     |  +-------> Latch                                               |   +----> Питание          |     +----------> Latch
     +----------> Data                                                +--------> Земля            +----------------> Питание
 

 

Итак джойстик готов, проверьте все еще раз можно переходить к установке драйверов для соответствующей операционной системы.

Замечания для геймпадов NES/Денди (к остальным не относится). Если нет кнопок Select и Start или если жать Select Start во время игры крайне неудобно? Не все потеряно. Правда это уже задача посложней.

Ведь есть две верхних кнопки AutoA и AutoB, используемых для автоматического огня. Их можно аппаратно завести на Select и Start. Не переживайте за autofire - его реализуют программно большинство драйверов и программ.

Снова берем в руки паяльник. Только теперь задача будет потруднее: придется в нескольких местах перерубать дорожки на печатной плате и припаивать 4 проводника в нужные места.

Теперь можете наслаждаться игрой в (Heart of Darkness например) всеми четырьмя кнопками.

Атари

Sega Genesis

ВНИМАНИЕ: Интерфейс Directpad pro для GENESIS (MEGADRIVE) не работает с некоторыми новыми чипсетами параллельного порта. (Список материнских плат уточняется). Выражается в отсутствии реакции на UP/DOWN и нажатия некоторых кнопок. Эта проблема описана в документации и не имеет на сегодняшний день иного решения, как установка дополнительной платы, имеющей на ней параллельный порт со старым чипсетом. Приношу извинения всем пострадавшим.

Jaguar

Sony Plystation

Вот схемы интерфейса для Sony Playstation. Левый рисунок нарисован смотря на разьем pada. Правый -наоборот.

Чтобы подключить второй джойстик, все провода кроме DB25-10 и DB25-12 дублируются, а для панели 2, замените провод DB25-10 проводом на DB25-13, и DB25-12 на DB25-15. Имейте в виду, что параллельный порт может не обеспечить достаточно мощности для второго устройства и у Вас получится стабильная работа только одного из устройств, если вы не собираетесь использовать внешний блок питания. Внешний блок подсоениняется так: удалите диоды с разъема и подсоените + от источника питания 5V. Минус подсоените к DB25-18/19.

Этот интерфейс создан и протестирован многими людьми с различными геймпадами для PSX. Если у вас возникли проблемы и Вы дважды проверили проводку и ориентацию диодов попробуйте использовать закладку Advanced в GamePadPro и повышения PSX scan delay.

Приведенная схема подходит для DirectPadPro и отличается от интерфейса SnesKey. Будьте внимательны!

Если у Вас не Dual-Shock pad или Вам не требуется Force Feedback не делайте провод, обозначенный на рисунке Optional. Источник питания 9V в этом случае не потребуется.

Пожалуйста Будьте Осторожны при подключении источника 9V. Неправильное подключение может вызвать проблемы с джойстиком и/или портом принтера. Не пытайтесь запитывать force-feedback двигатель через паралельный порт! Это все равно не будет работать и может повредить порт и/или геймпад. Используйте батарейку.

Пока существует лишь несколько игр на которых можно протестировать интерфейс c Force Feedback. Большинство из них работает нормально.

Sega Saturn

Virtual Boy

Источник http://emulators.wallst.ru

Страница статьи: http://www.radioland.net.ua/sxemaid-351.html

URL сайта: http://www.radioland.net.ua

© Radioland