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

Думаю многие из вас помнят те славные времена, когда мы часами рубились в танчики, черепашки ниндзя, батлтодс энд даблдрагон и еще пару десятков других суперских игр на Денди. Это было шикарное время! Большинство игр были чертовски сложные, но даже несмотря на это, неудача за неудачей, мы, все равно, шли к своей цели и начинали игру заново, чтобы уж сегодня-то пройти ее до конца.

Поностальгировав всласть, я решил, что очень хочу поиграть в 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/ . Впрочем, мой способ меня полностью устраивает и результатом я более чем доволен.

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

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

В статье я не только подскажу как подключить джойстик от денди к компьютеру , но и предложу Вам скачать игры для приставок 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 или более в зависимости от того какой джойстик по счету мы подключаем.

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

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

Нынешнюю молодежь уже мало чем удивишь в сфере компьютерных игр. Они уже давно не заморачиваются вопросом о том, как подключить «Денди» к телевизору, а играют на супермощных компьютерах. Самая реалистичная графика, правдоподобные персонажи, невероятные музыкальные сопровождения — все это вполне привычно для современного геймера. Но еще каких-то пару десятков лет назад всего этого не было, но было кое-что, что покорило сердца миллионов людей — одна из первых консолей — приставка «Денди».

Немного из истории «Денди»: игра нашего детства

Рожденные до девяностых годов наверняка помнят ажиотаж вокруг невероятно "крутой" приставки с логотипом слоненка на панели, которая появилась в начале 90-х годов. Тогда игра стоила невероятных денег для советского гражданина, но это не помешало разработчикам заработать на данном рынке миллионы.

На самом деле «Денди» первая на отечественном рынке, но не первая в производстве. Компания Nintendo до этого успела выпустить десятки других версий консолей, но только «Денди» смогла покорить сердца отечественных геймеров. На то время в России было 4 дилера от компании «Степлер», которые осуществляли поставку. К сожалению, данная компания свернула свою деятельность уже к 94-му году.

Конечно, даже сейчас можно найти давно всеми забытый «Денди» на прилавках некоторых магазинов и на специализированных сайтах, но все они далеки от оригинала, и являются не чем иным, как подделкой из Китая.

Картриджи и самые популярные игры на «Денди»

Приставка и джойстики сами по себе не представляли интереса без специальных картриджей, именно они являлись носителями основной информации. На одном таком картридже могла быть как одна игра, так и 999! Но наиболее ценными считались те, в которых имелось от 3 до 10 различных игр. Молодежь постоянно менялись, покупали и продавали друг другу картриджи. Даже в наше время можно встретить людей, у которых остались целые коллекции оригинальных и редких игр.

Именно благодаря огромному ассортименту качественных и интересных игр, которые были выпущены для операционной системы Nes, данная консоль стала так востребована среди российских любителей игр. Такие бессмертные творения, как «Мортал Комбат», «Пакман», «Супер Марио», «Танки», «Остров приключений» и многие другие навсегда останутся в памяти людей, переживших культ девяностых.

Как подключить «Денди» к телевизору?

Именно таким вопросом задавались многие счастливые покупатели приставки того времени. На самом деле ничего сложного в этом не было, достаточно было подсоединить a/v штекеры приставки и телевизора, а затем начать поиск канала — все просто!

Но дело в том, что в те времена и телевизоры были простыми, то есть имели соответствующие разъемы, но как подключить «Денди» к телевизору современной модели, которая поддерживает HDMI?

Если вы не нашли на своем телевизоре аудио/видео выход, возможно, найдете выход SCART, по сути, это то же самое, что и A/V. В данном случае вам придется купить переходник или непосредственно сам кабель SCART, он представляет из себя широкий разъем с одной стороны, и «тюльпанчики» — с другой. Благодаря такому кабелю можно решить вопрос, как подключить «Денди» к телевизору.

Как подключить приставку «Денди» к телевизору новейшего поколения?

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

Допустим, вы решили окунуться в прошлое и поиграть в ретро-игры. Для этой цели была куплена приставка, но позже выяснилось, что на вашем телевизоре нет A/V и SCART-выходов. Что делать? Как подключить «Денди» к телевизору Samsung, на котором не оказалось необходимых разъемов (впрочем, это касается любой марки).

Выйти из такой ситуации непросто, но возможно. Придется приобрести специальное устройство — конвертер A/V в HDMI. Такие конвертеры продаются в интернет-магазинах и на популярных китайских площадках.

Итак, перед тем как подключить «Денди» к телевизору LG, убедитесь, что приставка выключена и отсоединена от питания. Далее, при помощи кабеля с «тюльпанчиками» подсоедините приставку к конвертеру. С другой стороны, конвертер подключается к телевизору при помощи HDMI-кабеля. Осталось только вставить в приставку картридж с любимой игрой, подключить к сети и включить игру. Возможно, понадобится поиск каналов, чтобы выйти на необходимую волну.

Здравствуйте.

Ностальгия по старым временам - чувство сильное и въедливое. Я думаю, меня могут не понять те, кто не играл в приставки Dendy, Sega, Sony PS 1 (и пр.) - многие из тех игр стали нарицательными, многие из тех игр настоящие хиты (которые пользуются спросом до сих пор).

Чтобы играть сегодня в те игры - можно установить специальные программы на компьютер (эмуляторы, о них я рассказывал здесь: ), а можно подключить старую приставку к телевизору (благо, что даже современные модели имеют A/V вход) и наслаждаться игрой.

Но вот большинство мониторов такого входа не имеют (более подробно о A/V здесь: ). В этой статье хотел показать один из способов, как можно подключить старую приставку к монитору. И так…

В ажное отступление! Обычно старые приставки подключаются к ТВ с помощью обычного телевизионного кабеля (но не все). Своего рода стандартом является A/V интерфейс (в простонародье - «тюльпаны») - именно его и буду рассматривать в статье. Всего есть три актуальных способа (на мой взгляд), чтобы подключить старую приставку к новому монитору:

1. приобрести приставку-телевизор (автономный ТВ-тюнер), которую можно подключить напрямую к монитору, минуя системный блок. Таким образом вы просто сделаете из монитора - телевизор! Кстати, обратите внимание на то, что не все подобные устройства поддерживают (A/V) вход/выход (обычно, стоят они несколько дороже);

2. использовать разъемы A/V входов на видеокарте (или на встроенном ТВ-тюнере). Этот вариант я и рассмотрю ниже;

3. использовать какой-нибудь видео-плеер (видео-магнитофон и пр. устройства) - в них очень часто есть композитный вход.

Что касается переходников: стоят они дорого, а их использование не оправдано. Лучше приобрести тот же ТВ-тюнер и получить 2 в 1 - и телевизор и возможность подключать старые устройства.

Как подключить старую приставку к ПК через ТВ-тюнер - пошагово

У меня на полке завалялся старый внутренний ТВ-тюнер AverTV Studio 505 (вставляется в PCI слот на материнской плате). Его и решил испытать…

Непосредственно установка платы в системный блок - операция простая и быстрая. Нужно снять заглушку с задней стенке системного блока, затем вставить плату в PCI слот и закрепить винтиком. Дело 5 минут (см. рис. 2)!

Рис. 3. Титан 2 - современная приставка с играми от Dendy и Sega

Кстати, на ТВ-тюнере есть так же и вход S-Video: вполне возможно воспользоваться переходников с A/V на S-Video.

Следующим шагом было установить драйвера (подробно об обновление драйверов: ) и вместе с ними спец. программу AverTV для управления настройками и показа каналов (идет вместе в комплекте с драйверами).

После ее запуска, необходимо в настройках изменить источник видео - выбрать композитный вход (это и есть A/V вход, см. рис. 5).

Рис. 7. Черепашки ниндзя

На этом статью завершаю. Всем приятной игры!

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

  • На мониторе найдите разъемы для подключения игровой приставки. Это основной момент при подключении приставки к монитору. У большинства современных моделей мониторов есть разъемы 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 или специальный кабель.