Играем вместе с ARCAdaptor…

— Дорогая, смотри, в этом районе прошло мое детство…
— А оно разве прошло?! 
 

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

Читаем и смотрим картинки в продолжении поста…

Приятно наблюдать столь добрые и приятные картины 8/16 битной графики с консолей 90-х на экране ПК, ТВ или планшета, но помимо радости глаз, хотелось бы ощутить и радость рук, в том смысле что, ощущать руками классический консольный геймпад, пережить снова те тактильные ощущения детства…

Много уже написано про подключение консольных геймпадов, разные способы, разные устройства. Сегодня мы расставим все точки над Ё в отношении популярных 8/16 битных популярных консолей нашего детства.

И прежде всего это я делаю для себя, навсегда закрывая вопрос, оформляя, наконец, конец моего детства.

§ 1. А что нам надо, да только ARCAdaptor…

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

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

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

Для наших нужд нам понадобятся следующие прошивки:  ATARI(USB), 4NES4SNES, 2NES2SNES все они за авторством Raphaël Assénat, последние 2 используем в чистом виде, а первую пришлось немного переработать (спасибо автору ARCAdaptor) для возможности использовать ее с ARCAdaptor.

Теперь немного об этих прошивках:

  1. ATARI(USB) — прошивка, позволяющая подключать один геймпад от консолей NES, SNES, Sega/Genesis как 3-х так и 6-ти кнопочные, Atari-совместимые контроллеры (двухкнопочные по типу Sega Master System и однокнопочные), так же в прошивке реализована поддержка таких устройств как Sega Multitap;

  2. 4NES4SNES — говорящее название, прошивка позволяет подключать к одному устройству до 4-х геймпадов от NES и/или SNES в различных комбинациях, т.е. 1+3 или 2+2 или 4+0, не важно, любые 4 геймпада;

  3. 2NES2SNES — прошивка является прошивкой с урезанным функционалом из вышеописанной, с поддержкой 2-х геймпадов (зачем нам понадобится такая прошивка будет ясно ниже).

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

§ 2. А что нам снится, геймпады на ПК…

Из всего моря консолей мы остановимся на 8/16 битных консолях NES, SNES, Sega/Genesis.

Для теста у меня в наличии имеется два геймпада от оригинального американского NES, два геймпада от оригинального SNES… а вернее от японской версии Super Famicom и геймпад от Sega/Genesis —  6-ти кнопочный, с лейблом Jaguar, а как хотелось бы протестировать MK-1650.

Все геймпады из 90-х годов, никакого новодела (см. первое фото темы).

§ 3. Работаем на прошивке ATARI(USB)

Данная прошивка позволяет подключить лишь один геймпад, самым сложным подключением оказался геймпад от Sega/Genesis, т.к. он требует подключения всех 9-ти контактов своего разъема и замкнутых обоих джамперов. Подробно о подключении геймпада Sega/Genesis я рассказывал ранее, правда там использовалась модифицированная прошивка “Пикселькит”.

ARCAdaptor с этой прошивкой отлично видится на ПК с системой Windows, и на устройствах под управлением Android 4.x (тестировалось на МК-808).

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

Схема контактов ARCAdaptor (соответствует “родной” нумерации разъема DB-9)

А вот и сама нумерация DB-9 (все продаваемые разъемы имеют ту же нумерацию, цифры написаны и со стороны разъема и со стороны пайки)

Номера контактов геймпада NES

Номера контактов геймпада SNES

На ПК с Windows 7 геймпады отлично работают, что можно протестировать штатными средствами системы. Обратите внимание что с данной прошивкой геймпад от NES определяется как 4-х кнопочный, т.е. классический геймпад без турбо-кнопок, для геймпадов с турбо-кнопками надо использовать адаптированную прошивку “Пикселькит”.

Sega/Genesis с зажатыми A+B+C+Вверх:

SNES с зажатыми A+B+Вниз:

NES с зажатыми A+B+Вниз:

Atari-совместимый контроллер:

§ 4. Работаем на прошивке 4NES4SNES

Данная прошивка позволяет подключить одновременно до 4-х геймпадов NES и/или SNES в любом количественном сочетании, что выгодно ее отличает от прошивки ATARI(USB).

Схемы подключения контактов ARCAdaptor к разъемам геймпадов представлены ниже.




Логическая иерархия между геймпадами зависит непосредственно от последовательности подключения Controller Data к разъемам ARCAdaptor.

На ПК с Windows 7 геймпады определяются одинаково, как 8-ми кнопочные.

Один девайс — четыре геймпада

Все геймпады по восемь кнопок.

 § 5. Куда идем мы, туда где… просто и красиво…

Иногда наступает момент закончить с экспериментами и поставить точку. Подводя черту, я остановился на прошивке 2NES2SNES и задумался об удобной  красивой “оболочке” для ARCAdaptor с сопутствующими проводами и разъемами.

Выбор мой пал на геймпады от Super Famicom,  как наиболее функциональные и удобные, на мой взгляд. Мне потребовалось 5 минут времени чтобы набросать на бумаге эскиз будущего устройства, а потом надолго задуматься о необходимом наборе элементов и реализации задуманного.

И так нам понадобится:

  1. SNES Controller connector, для красивого и качественного подключения геймпада к нашему устройству и избежания вандализма по отношению к геймпаду. Больше тут нечего добавить.

  1. Plastic Case — Rectangular — 72 x 50 x 35mm, в качестве корпуса, куда нам придется спрятать все детали, провода и прочие прибамбасы, но в процессе выяснилось что надо было бы взять повыше.

  1. ARCAdaptor, ну собственно вокруг него все и строится.

  2. Набор проводов, светодиод с креплением, резистор, различные надфили, нож со сменными лезвиями, штыревые разъемы, клей для пластика или термопистолет (в последствии пришлось решать вопрос крепления с помощью “костыля”), паяльник и все в таком духе.

  3. Терпение и усидчивость.

 

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

В итоге получилось такое устройство, немного брутальное, с царапинами (руки дойдут, заполирую, если конечно найду чем), но свое, родное, на которое было потрачено достаточно большое количество вечеров по 5 минут.

На ПК с прошивкой 2NES2SNES мой девайс выглядит так:

Один девайс — два геймпада

Все те же восемь кнопок. На скрине зажаты A+B+X+Y на геймпаде SNES.

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

§ 6. Вот только б, братцы, добраться б до конца…

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

На этом я хочу поставить точку в данном вопросе.

Небольшой ложкой дегтя является то, что в эмуляторах на Android может не видеться второй геймпад третий, четвертый), и дело тут как раз в самих эмуляторах. Серия *.EMU поддерживает 2 и 4 геймпада, что в принципе достаточно (в настройках количества контроллеров надо выставить параметр Multitap).

Всем удачи!

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

P.S. Насчет «точки» в вопросе — это, возможно, преждевременное заявление, ибо совсем недавно для ARCAdaptor «вышли» библиотеки работы с Arduino через V-USB. А  это открывает совсем новые возможности… Время покажет.

P.P.S. Всех с наступающим новым годом, надеюсь мой подарок, в виде этого поста, всем понравится!

 



Добавить комментарий

Комментарии доступны через Intensedebate. Включите JavaScript.