Parus16.ru

Парус №16
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Nestopia Как настроить джойстик

Nestopia Как настроить джойстик.

Во-первых (если не работает джойстик на эмуляторе) Проверьте — рабочий ли он вообще. Если рабочий, то проверьте — подключен ли он к компьютеру и видим им. Путь к устройствам: (Мой комп. — Свойства. — Дополнительные параметры системы. — Оборудование. — Диспетчер Устройств. — Usb устройства.) У меня если не работает джойстик/контроллер, я всего лишь навсего включаю его в порт usb после запуска эмулятора. (Nestopia 1.40) Так же попробуйте сделать и вы, если джойстик в эмуляторе не работает.

Мой комп. - Свойства. - Дополнительные параметры системы. - Оборудован

Чтобы задать управление в эмуляторе Nestopia, зайдите в пятый раздел: Options, и выберите — Input.

Выберите тип (Type) устройства, — (Pad 1, для любого контроллера, Pad 2/3/4 для дополнительных контроллеров, или особые настройки для аналогичных оригинальному — Hori, Power Glove) и поочередно (нажав сперва Set All) нажимайте все клавиши которые вы захотите эмулировать на вашем джойстике (проще говоря — задействовать.) Если нужно задействовать всего лишь одну какую-то определенную кнопку, например кнопку влево на крестике вашего геймпада. (Крестик называется D-pad) Жмите Set. (Set означает что нужно настроить всего 1 какую-то кнопку) Выделите рядом со словом (в столбике Key) — LEFT выделенную и настроенную по умолчанию кнопку. — У меня она настроена и указана по-русски (в столбике Mapping) — Ф буквой. Когда все кнопки заданны (забиндены) — Не забудьте нажать "Ок" для Сохранения!

Турбо-кнопки:

Турбо-кнопки обозначены в разделе KEY (клавиши) Auto-Fire A и Auto-Fire B, что с одной стороны не очень верно, так как обычно A это прыжок, а не огонь (файр). Задайте Auto-Fire A и Auto-Fire B (Турбо-кнопки) в маппинге на любые удобные вам клавиши клавиатуры или контроллера(ов).

Для вашего удобства опишу чуть подробнее:

Type — тип девайса. / Подразумевается что будут выводиться для эмуляции все его оригинальные клавиши.

Key — оригинальная клавиша устройства. / Столбик, где показаны все клавиши, которые вам не изменить, это оригинальный состав кнопок. Представьте например геймпады от Фамиком или "Денди", которые вам не переназначить, и пришлось бы играть не с AB, а с BA кнопками, где в игре соответственно прыгать или атаковать пришлось бы левой, а не правой кнопкой, или наоборот.

Mapping — эмулируемая на девайс (устройство). / Вот уже то управление, которое вам удобно, мы и будем задавать. Жмите Set All и пронажимайте на клавиатуре, если у вас нет джойстика — Влево, Вверх, Вправо, Вниз, Селект, Старт, Б, А, турбо Б, Турбо А и Mic (микрофон который присутствует на фамиком контроллере, но вам её не нужно, если вы не собираетесь например голосом управлять в Ледженд ов Зелда).

Подключаем джойстики от Dendy к PC через Arduino

Подключаем джойстики от Dendy к PC через Arduino

2012-07-08 в 17:10, admin , рубрики: arduino, dendy, diy или сделай сам, joystick, Nes, Программинг микроконтроллеров, метки: arduino, dendy, joystick, Nes

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

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

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

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

Читайте так же:
Видеокарта для i5 3570k в 2018 году

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

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

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

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

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

К Ардуино, я подсоединил все напрямую, питание — питание 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 и нашел там код отвечающий за компиляцию и аплоад прошивки. Потратив немного времени я выделил все команды, которые там используются:

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

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

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

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

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

Читайте так же:
Внешняя память компьютера это

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

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

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

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

Заключение

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

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

Джойстик от денди к компьютеру через usb

В своей "коллекции" железок откапал необходимый Штекер, который и Подключил к материнке. Если у вас нет вывода 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
FF
Имейте в виду, что штырек 14 не использован, так как он не является входом параллельного порта.

После всех манипуляций у меня получилось вот что:

5 одинаковых диода я не нашёл, пришлось один взять отличный от других. Лучше конечно, если все 5 будут одинаковые. Если одинаковых нет, то по параметрам они должны быть примерно одинаковы, т. е. надо что бы сопротивление их не сильно отличалось.
Разъём DB25M можно взять со шнура нуль модема или со старого принтерного кабеля Centronics'а. Лишь бы он был разборным. Хотя, конечно, можно и разрезать сам кабель и прозвонить мультиметром. Откуда я взял такой разъём? Со своей "коллекции" компьютерного барахла. Подключаем джойстик от приставки Денди к параллельному порту компьютера LPT своими руками С другой стороны мой разъём имел не огрызки проводов с другой стороны, а вполне приличный разъёмчик, который я не стал разбирать, а "понавтыкал" в соответственные "дырки" провода и соединил с разъёмом джойстика. В итоге получилось очень даже аккуратно:

Иногда, особо жадные производители, подключали джойстики к приставке не внешним разъёмом, а внутренним или того хуже — припаивали к плате приставке. Но и из этой ситуации я предлагаю для вас выход. Разбираем свой джойстик. На фотографиях ниже, я обвёл нужные контакты кружечками соответственных цветов. Эти две фотографии, по сути, один и тот же джойстик с разных сторон для наглядности. Далее прозваниваем эти контакты с другими концами провода и соединяем по любой из схем выше, что и в случае с путевым разъемом. Только в этот раз у нас не разъём, а заранее промаркированные провода.

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

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%, что все спаяно правильно – пишите в комментариях или в форум, жду отзывов.

Отправить сообщение об ошибке
Если нашли ошибку в тексте выделите ее мышкой и нажмите сочетание клавиш Ctrl+ENTER, укажите правильный текст без ошибки.

Как играть в Dendy на компьютере

kak-igrat-v-dendy-na-kompyutere

Позвонила мне недавно сестра и спросила: “А можно ли играть в игры Денди на компьютере?”. Я конечно рассказал ей как это сделать, а также решил для вас написать небольшую статью. Ведь многим иногда хочется ненадолго вернуться в детство и поиграть в любимую приставку. И для этого совсем не обязательно пытаться где-то ее найти, а также думать где еще взять и картриджи с играми.

dendy

Так как же играть в Dendy на компьютере?

Сначала нам нужно скачать в интернете сами игры. Все игры для Денди представляют собой файл с расширением .nes.

У вас есть несколько вариантов, где взять игры:

1) Вы можете ввести в любом поисковике фразу “игры для dendy” и перед вами откроются десятки сайтов, на которых вы их и скачаете.

2) Можете скачать игры с определенного сайта, который рекомендую я. Вот ссылка на него.

Данный сайт мне нравится тем, что на нем все предельно просто и понятно. Вы просто выбираете слева название приставки (в нашем случае Dendy) – затем переходите в раздел “Игры”. Тут все игрушки отсортированы по алфавиту: выбираете нужную букву – находите игру – щелкаете мышкой по названию (либо по слову “скриншоты”). Если это действительно та игрушка, которую вы искали – скачиваете ее, нажав на ссылку.

Читайте так же:
Видеокарта pny quadro k2200

3) А еще можете скачать прямо здесь небольшую сборку самых популярных по моему мнению игр для Dendy, которую я сделал сам. В нее вошли: Battle City (танчики), Battletoads &Double_Dragon (боевые лягушки), Chip and Dale Rescue Rangers 2 (чип и дейл), Darkwing Duck (черный плащ), Double Dragon III (двойной дракон), GALAXIAN (мухи), Jackie Chan, Super Mario Bros (супер марио), Teenage Mutant Ninja Turtles III (черепашки ниндзя), Tiny Toon Adventures (кролик):

лучшие игры для денди

сборка игр денди

Итак, независимо от того, где именно вы скачаете игру, она будет представлять собой архив, в котором лежит файл с расширением NES. Советую вам все скаченные архивы с играми скопировать в одну папку и хранить их в ней. Лично я создал у себя на диске С папку games и в нее собрал все свои любимые игры Dendy:

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

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

эмулятор для денди

Скачав архив с программой, распакуйте его куда-нибудь на компьютер. Я распаковал на диск С:fceux-2.2.2. Содержимое этой папки выглядит следующим образом:

Для запуска эмулятора необходимо найти здесь файл fceux.exe и открыть его двойным щелчком.

При желании (чтобы не заходить каждый раз в эту папку) вы можете создать ярлык для этого файла на своем рабочем столе. Для этого щелкните по файлу fceux.exe правой клавишей мыши – выберите “Отправить” – “Рабочий стол (создать ярлык)”:

эмулятор fceux

Итак, эмулятор запущен:лучший эмулятор для денди

лучший эмулятор для денди fceux

Первым делом настроим управление: в меню выбираем ConfigInput:

эмулятор для денди fceux

Видим следующее окно. Здесь напротив Port 1 жмем кнопку Configure:

Теперь нам необходимо настроить комбинацию клавиш для управления. В Денди можно играть либо на клавиатуре; либо если у вас есть джойстик (а точнее геймпад), то с помощью него. И клавиатура, и джойстик настраиваются одинаково.

настройка клавиатуры в эмуляторе денди

Настройка очень проста: кликаем в окошке на нужную кнопку мышкой и после этого дважды жмем нужную кнопку на клавиатуре (или джойстике). Затем переходим к следующей кнопке.

Left, Up, Right, Down – это стрелки

Select – пробел

Start – Enter

Turbo B и Turbo A – это клавиши A и S

B и A – клавиши Z и X

Закончив настройку всех кнопок – выходим отсюда, нажав “Close”.

Ну и наконец, теперь запускаем игру через эмулятор. Как вы помните, у меня все скаченные игры для Денди хранятся на диске C в папке games. Кстати, эмулятор FCEUX умеет открывать игры прямо из архива. Некоторые другие эмуляторы не увидят игру, если файл предварительно не разархивировать. Также FCEUX версии 2.2.2 открывает и zip, и rar архивы. А вот более старые версии этой программы rar-архивы не видят.

Итак, в меню заходим в FileOpen ROM:

открыть игру в эмуляторе

играть в денди на компе

Затем находим на компьютере нужную игру, выделяем ее и жмем “Открыть”:

Вот и всё: игра запущена, и мы можем начинать играть теми клавишами, которые заранее настроили:черный плащ на денди

сохранить игру денди

Воспользоваться ей можно следующим образом: в ходе игры жмем в меню “File” – затем “Savestate” – “Save State”:Если затем нам понадобится начать игру с места сохранения, то запускаем игру как обычно – потом идем в “File” – “Savestate” – “Load State”.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector