Автор Тема: Подключение приставочных джойстиков через USB  (Прочитано 227169 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Олег

  • Пользователь
  • Сообщений: 155
  • Пол: Мужской
    • Просмотр профиля
Похоже наша мечта сбылась - быстро все в магазин за свежим журналом "Радио", все остальные - спамить на сайт www.paguo.ru с требованием выложить статью на сайте.

Цитата
С. Рюмик. Подключение джойстиков от игровых приставок к шине USB.
 Автор рассказывает, как изготовить простой адаптер на МК, позволяющий подключить к разъему USB компьютера джойстик от игровой видеоприставки. Статья будет полезна не только любителям поиграть в «приставочные» игры на компьютере, но и всем, кто интересуется применением интерфейса USB в своих конструкциях.
 Микроконтроллерный узел предлагаемых адаптеров выполнен на МК Atmega8-16PI. Даны схемы подключения к нему джойстиков от Dendy (до четырех штук), от Sega (до двух штук) и от PSX (до двух штук). Есть чертежи печатных плат для всех трех вариантов адаптеров.
 Программы МК для всех адаптеров и проекты печатных плат в формате P-CAD 2001 будут размещены на нашем FTP-сервере по адресам и соответственно.
« Последнее редактирование: 29 Апрель 2010, 22:06:18 от Rumata »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
http://www.emu-land.net/forum/index.php/topic,67&page=6
Тут было первое упоминание о Сеговских джоях на USB. Потом никто ничем подобным на АТМеге не занимался, а существующий проект был, для подключения PSX джоев, на Cypress'е вроде. Короче на экзотическом контроллере.

Оффлайн Олег

  • Пользователь
  • Сообщений: 155
  • Пол: Мужской
    • Просмотр профиля
Ну вот в том-то и фишка - кульное устройство на дешевом микроконтроллере. Единственное что я понял из статьи - с вибрацией пока вопрос не решён. На днях постараюсь выложить оригинал статьи с картинками. Самое смешное - схемки крайне простые, в "Радио" их развели на двусторонние платы.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Олег, свежий - это январский? Просьба указывать источник более точно. И не вижу необходимости набирать пост жирным шрифтом, а то это и правда начинает походить на спам.
HardWareMan, как знать. Мы же не знаем, кто такой "Масяниня". У Рюмика уже были подобные разработки, правда весьма бесполезные. Были дешифраторы (на микроконтроллере) для разных джойстиков, было устройство для проверки (!!!) джойстиков. Бесполезные - потому, что стоимость такой "проверки" выше стоимости дюжины новых джойстиков. Подробности опускаю, если кому сильно интересно - могу указать номера журналов (или ищите на сайте Радио)
Вопрос с вибрацией сводится к написанию драйвера, при обычном HIDе её не будет.
Цитата: Олег
Самое смешное - схемки крайне простые
Знаешь, сделать сложные на микроконтроллере - это надо суметь

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Цитата: Rumata;115464
Олег, свежий - это январский? Просьба указывать источник более точно. И не вижу необходимости набирать пост жирным шрифтом, а то это и правда начинает походить на спам.
[/COLOR]
Судя по ссылке (точнее ее части) "/2007/01/", то действительно 1 номер за 2007 год.
Цитата: Rumata;115464
HardWareMan, как знать. Мы же не знаем, кто такой "Масяниня". У Рюмика уже были подобные разработки, правда весьма бесполезные. Были дешифраторы (на микроконтроллере) для разных джойстиков, было устройство для проверки (!!!) джойстиков. Бесполезные - потому, что стоимость такой "проверки" выше стоимости дюжины новых джойстиков. Подробности опускаю, если кому сильно интересно - могу указать номера журналов (или ищите на сайте Радио)

Тоже верно. Хотя, док щас много по имплементации программной реализации протокола интерфейса USB.
Цитата: Rumata;115464
Вопрос с вибрацией сводится к написанию драйвера, при обычном HIDе её не будет.

А разве HID поддерживает feedback? Надо спецификацию почитать.
Кстати, я даже как-то хотел сделать универсальный джойстиковый хаб. типа девайса на большой АТмеге (чтобы портов хватило) и каждого типа гнезд по 2 (Dendy, Sega, SNES и PSX). 2 светодиода и кнопка выбора режима (для одного из типов джойстиков). Было бы круто, а щас сыр Рюмиковских девайсов доступен, так чтто возможно скоро и будет.
PS После анализа сыра выяснилось, что USB была сделана раньше и кем-то другим. Рюмик просто использовал.
Цитата: Из исходников
LICENSE FOR PROJECTS BUILT WITH "OBJECTIVE DEVELOPMENT'S
FIRMWARE-ONLY USB-DRIVER FOR ATMEL'S AVR MICROCONTROLLERS"
Version 2006-01
/* Name: usbdrv.c
 * Project: AVR USB driver
 * Author: Christian Starkjohann
 * Creation Date: 2004-12-29
 * Tabsize: 4
 * Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH
 * License: Proprietary, free under certain conditions. See Documentation.
 * This Revision: $Id: usbdrv.c 174 2006-03-23 10:09:01Z cs $
 */
« Последнее редактирование: 19 Январь 2007, 22:36:34 от HardWareMan »

Оффлайн Олег

  • Пользователь
  • Сообщений: 155
  • Пол: Мужской
    • Просмотр профиля
Цитата: Rumata;115464
Знаешь, сделать сложные на микроконтроллере - это надо суметь

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

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Цитата: HardWareMan
А разве HID поддерживает feedback?
Как я понимаю, не поддерживает, без драйвера
Цитата: HardWareMan
После анализа сыра выяснилось, что USB была сделана раньше и кем-то другим. Рюмик просто использовал
Это не удивляет, хотя не могу поставить это в минус автору. Надо прочитать исходную статью в Радио
Цитата: Олег
На днях постараюсь выложить оригинал статьи с картинками.
Крайне рекомендую соблюдать осторожность в этом вопросе. Не хотелось бы в дальнейшем бодаться с редакцией Радио по поводу публикации без разрешения редакции

Оффлайн Олег

  • Пользователь
  • Сообщений: 155
  • Пол: Мужской
    • Просмотр профиля
Цитата: Rumata;115483
Крайне рекомендую соблюдать осторожность в этом вопросе. Не хотелось бы в дальнейшем бодаться с редакцией Радио по поводу публикации без разрешения редакции

Тоже правильно :( , в таком случае - собираем казино и идём спамить на мыло журнала, чтоб выложили статью на сайте.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Вот завтра - послезавтра доберусь до магазина, куплю журнал, если будет, и обсудим подробности. :)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Цитата: Rumata;115492
Вот завтра - послезавтра доберусь до магазина, куплю журнал, если будет, и обсудим подробности. :)

Купишь журнал - поскань мне эту статейку, ладно? И намыль.

[позже]

Поимел пока распознанные сканы статьи: http://vis-image.narod.ru/Joy.rar Попозже будут оригинальные JPGи. Спасибо PuM'у.
« Последнее редактирование: 22 Январь 2007, 20:08:12 от HardWareMan »

Оффлайн Олег

  • Пользователь
  • Сообщений: 155
  • Пол: Мужской
    • Просмотр профиля
Порадовало наличие на ФТПшнике пикадовских печатных плат, на днях постараюсь развести на одностороннюю печатную плату

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #11 : 08 Февраль 2007, 00:31:00 »
В том же номере Радио, на той же странице, обнаружил интересную рекламу: http://www.progm.nm.ru. Прошитый ATmega8 у них стоит 200р

Оффлайн Yoric

  • Пользователь
  • Сообщений: 4
  • Пол: Мужской
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #12 : 09 Февраль 2007, 23:57:33 »
Кто-нибудь знает что надо изменить в программе, чтобы в аналоговом режиме крестовина (вверх, вниз, влево, вправо) работала как дополнительные 4 кнопки? И ещё почему-то при использовании программы для одного джойстика зажимаются кнопки вниз-вправо (и ещё что-то вроде-бы), даже если к схеме не подключать джойстик, при этом программа для двух джойстиков работает отлично, но дело в том что два джойстика мне не надо.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #13 : 10 Февраль 2007, 00:38:29 »
Похоже на косяк исходого кода. Я так понимаю, речь о джойстике PS. Там цифровая крестовина в аналоговом режиме должна восприниматься как "переключатель вида" или типа того. Завтра проверю по китайским переходникам

Оффлайн Yoric

  • Пользователь
  • Сообщений: 4
  • Пол: Мужской
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #14 : 11 Февраль 2007, 03:11:41 »
Да, я имел ввиду, конечно же, джойстики PS. С программированием имел дело впервый раз, но всё равно заставил я эту программу работать как мне надо :). Добавил ещё 4 кнопки (было 12, стало 16) и сделал чтобы они работали только в аналоговом режиме. Программа эта теперь предназначена для одного джойстика (как мне и надо было:)).

Оффлайн Cruel

  • Пользователь
  • Сообщений: 444
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #15 : 11 Февраль 2007, 17:12:13 »
Хм, интересно, если LPT в будующем упразднят, все равно придется что-то похожее собирать. Кроме того, это может решить проблему НовыйСеговскийДжойстик+виндаXP у них ведь проблема с таймингами в PPjoy (при нажатии крестовины нажимаются X Y Z и MODE)... Ну это уже от драйвера будет зависеть.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #16 : 11 Февраль 2007, 17:30:31 »
Данная тема - единственный 100% вариант. Только, я бы все-таки сделал некий "джойстиковый хаб". Т.е. выбрал бы АТМегу поболее ног и поставил бы много разных гнезд + пару кнопок и светодиодов для выбора режима.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #17 : 11 Февраль 2007, 20:30:32 »
Cruel, собирать подобное имело смысл ещё вчера :)
HardWareMan, не уверен, что это целесообразно, хотя, дело вкуса. Впрчем, если оформить его как вставку в 5" отсек, может получиться интересно. Типа 2 NES, 2 MD, 2 PSX и переключатель NES - MD - PSX. Правда, возникает вопрос: не будут ли они путаться между собой в системе (скорее всего, будут)? Делать же подключенными все сразу через один порт явно не стоит: частота опроса будет слишком низкой

Итересная идея представлена в http://www.joystiq.com/2004/09/07/how-to-make-a-nintendo-controller-into-a-pc-joystick , он же Литература [4] у Рюмика. Правда, там не ATmega, а PIC, но принцип тот же. Кстати, сам давно пользуюсь подобным. Внутрь оригинального SCPH-1080 вставил платку из китайского переходника. Очень удобно

Оффлайн Cruel

  • Пользователь
  • Сообщений: 444
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #18 : 11 Февраль 2007, 22:49:37 »
Ну пока еще рано... Как там дела с ПО? Без софта получится дохлая железка. Для меня даже Бейсик - темный лес. ^_^

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #19 : 11 Февраль 2007, 23:23:00 »
Каким ПО? В Виндах поддержка HID встроена. Или ты всё ещё в Вин98?

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #20 : 12 Февраль 2007, 16:28:52 »
Цитата: Rumata;120599
Каким ПО? В Виндах поддержка HID встроена. Или ты всё ещё в Вин98?
Для Win98 есть патч от M$ для поддержки HID ;) Он тут пролетал.

Оффлайн andrey20111987

  • Пользователь
  • Сообщений: 101
  • Пол: Мужской
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #21 : 22 Февраль 2007, 00:12:34 »
В переходнике на psx (статье С. РЮМИК) не используется 9-я(ACK) ножка вилки джойстика.
А при подключении в LPT порт она нужна.
Так вопрос втом стоит ли собирать переходник, Может он не рабочий?

извеняюсь http://www.zen35383.zen.co.uk/stnield/usbpads.htm

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #22 : 22 Февраль 2007, 13:11:54 »
Все ясно. ACK по идее нужен для определения конца посылки, т.к. в последнем байте его нету. К тому же говорит о том, что байт прошел успешно. А вот на практике можно обойтись и без него. ;)

Оффлайн andrey20111987

  • Пользователь
  • Сообщений: 101
  • Пол: Мужской
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #23 : 25 Февраль 2007, 21:51:34 »
Если ето точно верно.
Придется собирать схему.
Кстати сколько может стоить МК Atmega8

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Re: Подключение приставочных джойстиков через USB
« Ответ #24 : 25 Февраль 2007, 22:45:12 »
andrey20111987, см. пост #16. Это примерно соответствует средней цене. Для уточнения пользуй Яндекс

Оффлайн andrey20111987

  • Пользователь
  • Сообщений: 101
  • Пол: Мужской
    • Просмотр профиля
ВсЁ собрал но одна проблема незнаю как запрограммировать эту АТМЕГУ 8>:(
 
А вытравил плату хлорным железом (5часов  25RU).

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24708
    • Просмотр профиля
Atmel программируется через JTAG, кажется, на их сайте информация есть
См. ссылки в статье Рюмика

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
AVR Atmel шъется через JTag ISP программатором. Но это предполагает живую Boot-Loader область внутри чипа. Если ее схерить - то прошить получится только полным параллельным программатором. Поэтому, чтобы сразу на корню решить все траблы - собирайте полный программатор, есть на сайте Атмела. К тому же, Boot-Area можно заюзать в своей прошивке (жертвуя ISP).

Оффлайн andrey20111987

  • Пользователь
  • Сообщений: 101
  • Пол: Мужской
    • Просмотр профиля
Цитата: andrey20111987;134141
собрал схему. её даже запрограмировал программой с помощью poni pro (   http://www.lancos.com/   )там кабельки программирования.
 
были непропаи но всё устранил. Все работает только вибрации нет !
 
кто будет этим заниматься могу помоч советом!
вот чудо техники оно определяется даже без джойстиков!



Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7500
    • Просмотр профиля
Нда... Качество печатки у тебя на особом уровне.... Как оно еще работает? Лучше бы на макетке сварганил. %)