Как подключить денди или сега к компьютеру. Как подключить игровую приставку к компьютерному монитору

В статье я не только подскажу как подключить джойстик от денди к компьютеру , но и предложу Вам скачать игры для приставок Dendy, Nintendo, Sega. Так что если Вы и не собираетесь подключать джойстик, Вы можете просто скачать игры и играть на обычной клавиатуре.

Конструкция очень простая. Но, прежде чем проверять сделанный вами интерфейс, убедитесь, что все провода припаяны правильно, и, что никакие оголенные провода не касаются чего-нибудь. Я очень рекомендую использовать корпус для этих интерфейсов, чтобы уменьшить риск короткого замыкания.

Начнем с джойстика для Dendy (NES) . Если у вас есть gamepad, и у него есть кнопки A, B, Turbo A, Турбо B, Select и Begin (последних двух может и не быть, настоятельно рекомендую такие не брать) и связывается через 5 проводов, тогда это или NES или аналог NES и будет работать, если Вы все сделаете правильно.

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

Вот сам разъем джойстика (правда, похож на СОМ?)

Спаивается все по схеме, если хотите подключить два джойстика, то все провода припаиваются также кроме 8 и 7 контакты на NES, их надо припаять к 11 и 12 контакту на LPT.

А если у Вас джойстик с другим разъемом, то смотрите ниже:

Чтобы припаять провода по схеме, надо вскрывать разъем, я же предлагаю сделать все гораздо проще. Можно просто сделать своеобразный удлинитель переходник. Помимо LPT нам понадобится еще и СОМ разъем (папа)

Еще очень важная деталь. На диодах есть маркировка, их следует припаивать полосочкой вверх. Просто припаиваете проводки по схеме к LPT и все.

Получается очень даже. Но дизайн не так важен как работа!

А теперь дела программные.

Нам необходимо:

1) Установить драйвер и настроить его.

2) Запустить эмулятор приставки и через него открыть игру которая Вас интересует.

Начнем с установки и настройки драйвера.

Если верить мануалу, то подходит для ОС: Win9x/Me/NT/XP/2k. Разархивируем в любое удобное место и запускаем Setup.exe . На экране появляется такое окошко по которому надо кликнуть:

Процесс установки заключается в нажатии кнопки "Next" и вызвать затруднений не должен, поэтому рассматривать его подробно не вижу смысла.

После установки в меню "Пуск" появится папка "Parallel Port Joystick", а в ней несколько ярлыков. Нас интересует "Configure Joysticks" - его и запускаем. На экране появляется окно утилиты конфигурирования джойстиков. В нем нажимаем кнопку "Add".

Видим окно конфигурирования нового джойстика. В нем выставляем значения, как приведено на рисунке. Не смущайтесь в выборе типа интерфейса, с ОС Линукс в нашем случае это не связано.

Выставив правильно все значения, жмем на кнопку "Add". Попадаем в предыдущее окно. Если у нас джойстик один, можно смело жать кнопку "Done". Если же нам нужно настроить и второй джойстик, то заново жмем "Add", появляется уже знакомый диалог, правда выбор наш уже несколько ограничен, но значения нужно будет выставить так же как и на картинке выше. Исключение лишь в предпоследней строке, т.е. номер контроллера теперь указываем не 1, а 2 или более в зависимости от того какой джойстик по счету мы подключаем.

Что ж, пол дела сделано, осталось проверить работоспособность джойстика.

Заходим в "Панель управления" и запускаем ярлык "Игровые устройства". Выбираем интересующий нас джойстик и жмем по кнопке "Свойства". Появляется окно свойств. Во вкладке "Проверка" мы можем проверить работает ли наш джойстик. В момент, когда джойстик никто не трогает и ни одна из его кнопок не зажата крестик осей будет по центру белой области, а изображения кнопок будут все одинаково темно-красными.

Уверен многие видели в магазинах джойстики для компа, к примеру от Sony PlayStation.

К сожалению они стоят очень дорого, но почему бы не сделать такой самим? Существует вполне реальная возможность играть таким геймпадом/джойстиком на ПК - совместимом компьютере, даже не самом мощном. Большинство игр и программ не смогут отличить вашего устройства от фирменного джойстика за несколько $100. (почему то считается раз какой прибамбас к компьютеру, то обязательно стоить должен баснословные деньги) Самая фишка в том, что этот джойстик можно использовать в любой игре, просто при назначении клавиш назначайте их на кнопки джойстика.

Вообще GamePad - устройство очень похожее на аналоговый джойстик. Различие между типичным джойстиком и GamePadом - в характеристиках оси. Джойстики обычно имеют две оси - X и Y. Непрерывное движения рычага вдоль этих осей с помощью двух потенциометров преображаются в аналоговые электрические сигналы, которые потом с помощью АЦП преобразуются в цифровые, на основании которых вычисляются переменные X и Y. GamePad же имеет не-пропорциональные величине отклонения от центра величины X и Y для девяти позиций (включая центр), он гораздо проще по конструкции, и, следовательно, более надежен.

Конструкция очень простая. Просто дважды убедитесь прежде чем проверять сделанный вами интерфейс, убедитесь что все провода припаяны правильно, и, что никакие оголенные провода не касаются чего-нибудь. Я сильно рекомендую использовать корпус для этих интерфейсов, чтобы уменьшить риск короткого замыкания.

Начнем с джойстика для Dendy или NES.

Если у вас есть gamepad, и у него есть кнопки A, B, Turbo A, Турбо B, Select и Begin (последних двух может и не быть, настоятельно рекомендую такие не брать) и связывается через 5 проводов, тогда это или NES или аналог NES и будет работать если Вы все сделаете правильно.

Однако пора приступать к делу. Все, что вам понадобится - это разъем LPT порта (он же параллельный, он же от принтера), паяльник, 5 1N914 или 1N4148 диодов, ну и, собственно, сам джойстик. Приступим.

Вот сам разъем джойстика (правда похож на СОМ)


Спаивается все по схеме, если хотите подключить два джойстика, то все провода припаиваются также кроме 8 и 7 контакты на NES, их надо припаять к 11 и 12 контакту на LPT.


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

Помимо LPT нам понадобится еще и СОМ разъем(папа).

Еще очень важная деталь. На диодах есть маркировка, их следует припаивать полосочкой вверх. Просто припаиваете проводки по схеме к LPT и все.


Получается очень даже.

Как его настроить я расскажу в конце статьи.

Чтобы получить максимальное удовольствие, я скачал эмулятор Dendy. Вкратце что такое эмулятор.

Такая прога которая полностью эмулирует какую либо игровую приставку, игры для нее также подгружаются отдельно, любую игру можно качнуть в интернет.

Вот вам Suprer Mario.

А вот и черный плащ.

Только настоящий игровой гурман оценит это.

Ну а теперь джойстик для Sony Playalert alert-infoion (PSX)


Также можно использовать джойстики с двумя мини джойстиками внизу, он называется с шестью осями. Можно подключать и джойстики с обратной связью, то есть те которые вибрируют. Вот схема.

Диоды те же что и для Dendy. Для джойстиков с шестью осями и обратной связью необходимо питание 9 вольт. Для простых же джойстиков как у меня, питание можно и не делать. Но если уж хотите, то я рекомендую купить китайский маленький блок питания на 9в для подключения в розетку, они стоят не дороже доллара.

Хочу заметить что на схеме изображена обратная сторона порта для PS.

Просто срезаете сонявский коннектор и припаиваете LPT.

Для того чтоб подключить второй джойстик, надо припаять все его провода также, но 9 контакт с PSX следует припаять на 13 контакт на LPT, а 1 контакт с PSX на 15 контакт на LPT. Вот и все.

Теперь конкретно о процедуре настройки, хотя тут дело еще проще.

Сначала надо скачать дрова DirectPad Pro (где скачать, гуглим, первоначальные источники более не существуют )

В панели управления Windows выбираете игровые устройства (иконку джойстика) и жмете кнопку "Добавить". В появившемся окне опять жмете кнопку "Добавить", а потом "Установить с диска".

Далее находите ту директорию, в которую вы распаковали архив драйвера и выбираете появившуюся строчку DirectPad Pro.Inf. После этого пару раз жмем ОК и добавляем устройство DirectPad Pro Standard And Force FeedBack.

Затем в списке игровых устройств можно будет выбрать DirectPad Pro Controller и DirectPad Pro Force FeedBack Controller. Выбираем соответствующий драйвер и в окне "Игровые устройства" появляется наш контроллер.


Теперь нажимаем кнопку "Свойства" и попадаем в окно конфигурации драйвера. Выбирайте затем выберите ID джойстика (пишется посередине сверху) и поставьте номер в списке, рядом с Conroller Type (он может и не быть 1, если до этого у вас в системе были установлены другие джойстики).

После этого выберите правильный адрес вашего LPT-порта (можно посмотреть в Системе: Устройства - Порты COM и LPT обычно 378).

Вот и все! В конечном итоге у Вас получился DirectInput совместимый джойстик, т.е. можно будет играть в любой windows игре, поддерживающей джойстик через драйверы DirectX. Необходимо только выбрать DirectPad Controller в настройках игры.

На работоспособность были протестированы: NFS Undergraund, Max Payne2, Worms 3D, GTA 3, GTA Vice city и т. д. Схемы на 100% работоспособны. Наслаждайтесь.

Найдите подходящий монитор. Если вы можете выбрать один из нескольких мониторов, определите, какой из них лучше подойдет для работы с игровой приставкой. Разные модели приставок предъявляют различные требования к экранам. Постарайтесь выбрать наиболее подходящий монитор, чтобы игра отображалась на нем так, как было задумано ее создателями.

  • На мониторе найдите разъемы для подключения игровой приставки. Это основной момент при подключении приставки к монитору. У большинства современных моделей мониторов есть разъемы HDMI и DVI, а у некоторых и дополнительный разъем VGA. Устаревшие модели мониторов снабжены разъемами VGA и DVI или только одним разъемом VGA. В редчайших случаях можно найти монитор с разъемом RCA, который также устанавливался на старых моделях игровых приставок. Современные приставки комплектуются разъемом HDMI. В большинстве случаев разъемы для подключения приставки расположены на задней панели монитора. Как правило, дешевые мониторы имеют только один разъем. Некоторые устаревшие модели мониторов комплектовались несъемными кабелями.

    • Разъем HDMI похож на вытянутый USB-порт с канавками по обеим сторонам. Большинство современных моделей как приставок, так и мониторов снабжено именно этим разъемом.
    • Разъем DVI содержит 24 контакта и является весьма распространенным разъемом, который устанавливается на мониторах. Вы не сможете подключить приставку непосредственно к этому разъему, но вы всегда можете сделать это через адаптер.
    • Разъем VGA является устаревшим. Как правило, 15-контактный VGA-штекер имеет синий цвет. У большинства современных мониторов такого разъема нет. Такой разъем вы не найдете ни на одной приставке, но вы всегда можете воспользоваться адаптером.
  • На игровой приставке найдите разъемы для передачи исходящего видеосигнала. Различные модели приставок можно подключить к монитору по-разному. Самый современный разъем – это разъем HDMI, а самый старый – разъем RCA или RF.

    • У приставок PS4, Xbox One, PS3, Xbox 360, Wii U есть разъем HDMI. Первые модели Xbox 360 также комплектовались разъемом YPbPr, но такой разъем имеет весьма ограниченное число моделей мониторов.
    • У приставок Wii, PS2, Xbox, Gamecube, Nintendo 64, PS1, Super Nintendo, Genesis есть разъем RCA. Приставки Wii, PS2 и Xbox также укомплектованы разъемами YPbPr и S-Video, но такие разъемы имеет весьма ограниченное число моделей мониторов. Устаревшие модели приставок укомплектованы разъемом RF, но такого разъема нет ни на одной модели монитора.
  • Найдите наушники или колонки, а также аудио-адаптер. Если в вашем мониторе есть встроенные динамики, вы можете воспроизводить звук с приставки непосредственно через них. Однако, в большинстве моделей мониторов динамиков нет, поэтому вам нужно придумать, как воспроизводить звук с приставки – вам понадобятся колонки или наушники, а для их подключения к приставке – аудио-адаптер. Если вы подключите приставку к монитору через HDMI-кабель, вам понадобится аудиокабель, так как HDMI-кабель нельзя подключить к колонкам.

    • Современные модели приставок выдают цифровой (оптический) аудиосигнал в том случае, когда для передачи звука не используется HDMI-кабель, то есть для подключения колонок к приставке вам понадобится адаптер.
    • Если вы владеете игровой приставкой PS4, вы можете подключить наушники непосредственно к приставке, то есть никакие адаптеры или дополнительные кабели вам не нужны.
  • Если в вашей приставке нет разъема HDMI, найдите видео-адаптер. Он понадобится для подключения устаревшей модели консоли к разъему HDMI или DVI на мониторе. Вы можете выбрать один из множества видео-адаптеров. Например, есть адаптеры сразу с несколькими устаревшими разъемами (или штекерами) и одним современным разъемом (или штекером) HDMI или DVI.

    • Более того, некоторые видео-адаптеры также поддерживают передачу звука.
  • Если нужно, найдите подходящий кабель. Большинство моделей приставок поставляется только с одним видеокабелем. Например, приставка PS3 поставляется с RCA-кабелем, хотя у этой приставки также есть разъем HDMI. Найдите кабель, который позволит вам упростить процесс подключения приставки к монитору и получить самое качественное изображение.

    • HDMI-кабели работают одинаково хорошо со всеми устройствами, снабженными HDMI-разъемом. В случае устаревших разъемов может понадобиться кабель, подключаемый к определенной модели приставки. Например, один и тот же HDMI-кабель можно подключить как к Xbox 360, так и к PS3, а вот в случае RCA-разъема может понадобиться специальный кабель, подходящий к определенной модели приставки.
    • Если ваша приставка укомплектована только разъемом HDMI, а монитор – только разъемом DVI, найдите конвертер HDMI–DVI или специальный кабель.
  • Думаю многие из вас помнят те славные времена, когда мы часами рубились в танчики, черепашки ниндзя, батлтодс энд даблдрагон и еще пару десятков других суперских игр на Денди. Это было шикарное время! Большинство игр были чертовски сложные, но даже несмотря на это, неудача за неудачей, мы, все равно, шли к своей цели и начинали игру заново, чтобы уж сегодня-то пройти ее до конца.

    Поностальгировав всласть, я решил, что очень хочу поиграть в Dendy и поиграть хочу на ноутбуке, но не на клавиатуре, а на старом добром джойстике.

    Ниже я опишу, с какими проблемами я столкнулся и как их решил.

    Немного поясню, почему именно так мне захотелось поиграть. Приставка у меня сохранилась и она отлично работает, но осталась всего пара картриджей(остальные раздал друзьям). А играть на клавиатуре в игры денди, ну это как-то совсем не айс.

    Встала проблема, как подключить джойстик от Денди к ноутбуку.

    Немного погуглив, я понял, что в основном это решается подключением через LPT порт и использованием готовых драйверов, но у меня ноутбук, и мне это не подходит. Тут я вспомнил, что у меня есть плата Arduino Uno и я решил, что пойду своим путем и буду использовать именно ее.

    0. Определение распиновки на джойстике

    Первая проблема оказалась в том, что коннекторы у джойстиков внутренние, а все описания распиновок найденные в интернете, были для внешних коннекторов.

    Найти спецификацию на мою noname денди мне не удалось, поэтому я стал рассматривать внутреннюю плату, чтобы найти там питание и землю, и понять какие из пяти контактов на джойстике с ними соединяются. С этим я справился быстро. Оказалось это два крайних контакта.

    К Ардуино, я подсоединил все напрямую, питание - питание 5В, земля - земля, остальные три контакта подсоединил к 2, 3 и 4 цифровому пину.

    1. Описание протокола работы джойстика

    Оказалось не так-то просто найти эту информацию. Лишь несколько сообщений на паре форумов. Лично мне помогла эта запись: code.google.com/p/avrtoys/wiki/joystick , а именно этот код: avrtoys.googlecode.com/svn/trunk/joystick/main.c . А вот ссылка на упомянутую в этой записи заметку в журнале Радио: ftp.radio.ru/pub/arhiv/1996/06-96/46-6-1996.gif . Из всего этого я сделал вывод, что нужно подать сигнал на Latch, а потом 8 раз подавать сигнал на Clock и каждый раз считывать значение с Data, в котором после каждого Clock-а будет содержаться информация о следующей кнопке джойстика.

    2. Настройка среды

    Если у вас уже все настроено или вас устраивает Arduino IDE, можете перейти к 3 пункту.
    Не знаю, как вас, но лично меня официальная Arduino IDE ужасно угнетает, поэтому коротко расскажу, как использовать свою любимую IDE.
    Первым делом я скачал исходники Arduino IDE и нашел там код отвечающий за компиляцию и аплоад прошивки. Потратив немного времени я выделил все команды, которые там используются:
    #!/bin/bash avr-gcc -c -g -Os -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -I /usr/share/arduino/hardware/arduino/cores/arduino -I /usr/share/arduino/hardware/arduino/variants/standard $filename.cpp -o $filename.o avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p -o $filename.elf $filename.o libArduino.a -lm avr-objcopy -O ihex -R .eeprom $filename.elf $filename.elf.hex avrdude -V -p m328p -b 115200 -c arduino -P /dev/ttyACM0 -U flash:w:$filename.elf.hex
    В приведенной выше команде, при линковке, используется библиотека libArduino.a, ее можно получить скомпилировав все *.c и *.cpp файлы из папки с хэдэрами и собрав все объектники в один архив. А можно просто запустить Arduino IDE, скомпилировать любой проект и скопировать файл /tmp/build*.tmp/core.a. Это будет абсолютно эквивалентно.
    Все эти команды актуальны для Arduino Uno, для других ардуин следует изменить некоторые параметры.

    Теперь используя эти команды можно легко настроить свою IDE, на автоматическую компиляцию и загрузку прошивки.

    3. Написание кода прошивки

    Здесь нужно было лишь определить какие из 2, 3 и 4 пина отвечают за Latch, Clock и Data. Это я решил методом проб и ошибок. Предполагаем, что 4 это Data, и делаем Serial.println(digitalRead(4)), если при нажатии кнопок есть какая-то реакция, значит это оно. Остальные 2 контакта определились, когда уже была написана прошивка, если все работает значит угадали, нет - меняем местами.

    Код, повторюсь, писался на основе avrtoys.googlecode.com/svn/trunk/joystick/main.c :

    Код прошивки

    #include const int data = 2; const int latch = 3; const int clock = 4; const int TICK = 2; void init_joystick(int data, int latch, int clock) { pinMode(data, INPUT); pinMode(clock, OUTPUT); pinMode(latch, OUTPUT); digitalWrite(clock, HIGH); } int get_keys_state_joystick(int data, int latch, int clock) { digitalWrite(latch, HIGH); delayMicroseconds(TICK); digitalWrite(latch, LOW); int keys_state = 0; for (int i = 0; i < 8; ++i) { delayMicroseconds(TICK); digitalWrite(clock, LOW); keys_state <<= 1; keys_state += digitalRead(data); delayMicroseconds(TICK); digitalWrite(clock, HIGH); } return keys_state; } void setup() { init_joystick(data, latch, clock); Serial.begin(57600); } void loop() { Serial.write(get_keys_state_joystick(data, latch, clock)); }


    В результате я получил 1 байт содержащий в себе информацию о всех 8-ми кнопках джойстика, о каждой в соответствующем бите. У меня получилось следующее расположение: A, B, Select, Start, Up, Down, Left, Right. После этот байт отправляется на компьютер, где принимается и обрабатывается моим «драйвером».
    Несложно заметить, что можно легко подключить второй джойстик.

    4. Написание «драйвера»

    Здесь нужно было принять этот самый байт от Arduino и эмулировать нажатия кнопок клавиатуры. Да-да, нажатия на джойстике будут обрабатываться, как нажатия на клавиатуре, хорошо это или плохо.
    В качестве языка программирования я выбрал Python. Простой и эффективный, полагаю, он отлично подошел для этой задачи.

    Единственная проблема, которая здесь возникла это дребезг контактов джойстика. Я ее решил путем введения временного интервала, наступающего после смены состояния кнопки, в течение которого состояния не изменяется. Хватило 0.05 с.

    Для эмуляции нажатия кнопок клавиатуры я использовал утилиту xte, идущую в комплекте Xautomation. Она очень проста в использовании, вот пример: xte "keydown Left" . За дополнительной инфорацией смотрите man xte.

    Для выхода из драйвера я использовал состояние, когда нажата вся крестовина целиком. Этому состоянию соответствует число 0xf0.

    Код драйвера

    #!/usr/bin/python import serial import os import time def bool_to_updown(val): if val: return "up" else: return "down" exit_keys = 0xf0 delta_time = 0.05 keys = [["Right", False, 0.0], ["Left", False, 0.0], ["Down", False, 0.0], ["Up", False, 0.0], ["s", False, 0.0], # START ["a", False, 0.0], # SELECT ["x", False, 0.0], # B ["z", False, 0.0]] # A ser = serial.Serial("/dev/ttyACM0", 57600) keys_state = 0 while keys_state != exit_keys: keys_state = ord(ser.read()) for i in range(8): if not bool(keys_state & (1 << i)) != keys[i] and time.time() - keys[i] > delta_time: os.system("xte "key{0} {1}"".format(bool_to_updown(keys[i]), keys[i])) keys[i] = not keys[i] keys[i] = time.time() for i in range(8): os.system("xte "keyup {0}"".format(keys[i])) ser.close() print("Goodbye!")

    5. Ура! Играем!

    Все! Осталось лишь настроить эмулятор денди, я выбрал FCEUX.
    Указываем в настройках те клавиши, которые указаны в драйвере ииии вспоминаем детство!

    Заключение

    На самом деле есть и другие, возможно, более эффективные способы использования Ардуино в данной ситуации. Например, если у вас Arduino Leonardo, то можно использовать объект Keyboard для прямой посылки команд клавиатуры на компьютер. Так же можно, как я понял, перепрошить Ардуино так, чтобы она отображалась, как джойстик/клавиатура/мышь и так же напрямую посылать команды. Вот туториал: http://mitchtech.net/arduino-usb-hid-keyboard/ . Впрочем, мой способ меня полностью устраивает и результатом я более чем доволен.

    Как ни крути, но Ардуино это замечательная платформа для подобных экспериментов.
    Теперь осталось только собрать все это в виде отдельного устройства.

    Ну и видео напоследок:

    Для справки - разъёмы бывают "папа" - со штырьками и "мама" с дырочками под штырьки, откуда пошли такие аналогии можно только догадываться...

    Итак, если Вы уже нашли у себя пару завалявшихся джойстика, необходимые запчасти, инструменты и запаслись энтузиазмом, то можно приступать.

    Рассмотрим сначала порт 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