Автор Тема: Протокол джойстиков 3DO  (Прочитано 23135 раз)

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

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Протокол джойстиков 3DO
« : 22 Март 2010, 08:32:09 »
Выяснил полный протокол джойстиков 3DO и решил задокументировать ))

Распиновка порта консоли:

1 - GND
2 - VCC
3 - Aidio left
4 - Audio right
5 - VCC
6 - CONFIG   (выход стороны 3DO)
7 - CLOCK (выход со стороны 3DO)
8 - GND
9 - DATA  (выход со стороны устройства ввода)


Формат сигнала CLOCK:

___|0|--------------(синхронизирующий импульс ~ 0.0005 c. )---------------|1|___________(пауза ~0.0005 c. )__________|2|---|3|__|4|---|5|__|6|---|7|__|8|---|9|__...............

Мелкие импульсы имеют период ~0.000008 c.
По фронту |1| выдается перый бит потока данных со стороны устройств на линию  DATA, по фронту |3| - второй и т.д.
При подключении внешнего устройства по цепочке необходимо обеспечить корректное проходждение данных по линии CONFIG через джойстик, для этого по переднему фронту читаем CONFIG и выдаем его следующему устройству через полтора периода. Например - считали бит по фронту |0| и выдали по фронту |3|, следующий бит читаем по фронту |2|, а выдаем по фронту |5| и т.д.
Если к устройству не подключено дополнительных устройств - то по окончанию выдачи данных на линию DATA должен быть выставлен высокий уровень.

Формат данных для джойстика следующий:
 1,0,0,Down,Up,Right,Left,A,B,C,P,X,R,L,0,0
Причем, нажатой кнопке соответствует высокий уровень, а отпущенной - низкий.

Вот вроде и все - далее берете микроконтроллеры, паяльники и обращаете в веру 3DO джойстики ее убийц )))
« Последнее редактирование: 22 Март 2010, 12:39:24 от Altmer »
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Оффлайн AlexSan der Move

  • Новенький
  • *
  • Сообщений: 27
Re: Протокол джойстиков 3DO
« Ответ #1 : 22 Март 2010, 17:54:29 »
Та программировать-то я вроде немного умею, но вот прошивать ПЗУ - только в весьма отдалённой теории.

Оффлайн AlexSan der Move

  • Новенький
  • *
  • Сообщений: 27
Re: Протокол джойстиков 3DO
« Ответ #2 : 28 Август 2010, 14:29:36 »
Альтмер, ты пояснил формат сигнала КЛОК. А каковы форматы сигналов КОНФИГ и ДАТА? А то собрался прошивку писать и столкнулся с недостачей(или недопониманием) информации ???

АГА! С ДАТА тоже всё понятно. Но вот по конфиг - нет.
« Последнее редактирование: 28 Август 2010, 14:32:09 от AlexSan der Move »

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #3 : 28 Август 2010, 20:12:45 »
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
« Последнее редактирование: 28 Август 2010, 20:45:41 от Altmer »
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Оффлайн AlexSan der Move

  • Новенький
  • *
  • Сообщений: 27
Re: Протокол джойстиков 3DO
« Ответ #4 : 29 Август 2010, 14:47:27 »
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
Не, ну я понял, что задача микросхемы ПЕРВОГО джоя - считать конфиг и просто передать его следующему джою, но с запозданием на полтора периода :) Но что должен делать с этим сигналом следующий джой? С этим сигналом что ничего ненадо что-ли делать кроме того, что передавать его, как эстафету? Он же зачем-то нужен? ??? Иначе зачем его передавать, если в ответ на этот сигнал джой ничего приставке возвращать не должен?

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #5 : 29 Август 2010, 15:58:03 »
В джоях эти сигналы не используются, они нужны в пистолетах и некоторых других экзотических устройствах
« Последнее редактирование: 29 Август 2010, 17:53:59 от Altmer »
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Yaroslav

  • Гость
Re: Протокол джойстиков 3DO
« Ответ #6 : 01 Декабрь 2010, 08:14:34 »
Ув. Altmer можно вопрос:
зачем на Вашей схеме подключения сигнал Clock идет через МК?
Не проще ли его напрямую пустить на следующий джой и реализовать алгоритм следующим образом:
Первый джой выталкивает в консоль 16 бит по заднему фронту CLK а по переднему считываем 16 бит от следующего джоя
таким образом после передачи 16 бит имеем в буфере 16 бит второго джоя.
Проверяем что в буфере если там 0xFFFF значит второго  джоя нет, иначе передаем эти 2 байта и опять проверяем принятое.
Хочу попробывать но пока нет второго МК

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #7 : 01 Декабрь 2010, 08:20:53 »
Можно и так, но общая информационная линия в длинной цепочке (до 8-ми устройств) имхо не очень хорошо.
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #8 : 01 Декабрь 2010, 08:24:32 »
Стоп - если разговор идет о USB конверторе, то вообще советую бросить идею с двумя контроллерами - неудобно, лучше взять один контроллер со встроенных USB хостом.
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Yaroslav

  • Гость
Re: Протокол джойстиков 3DO
« Ответ #9 : 01 Декабрь 2010, 08:26:07 »
Нет я просто джойстик делаю (недавно купил консоль без джоя)

По поводу цепочки не подумал.
Решил что Вы его там еще по времени сдвигаете.

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #10 : 01 Декабрь 2010, 08:31:13 »
тогда зачем второй МК?
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Yaroslav

  • Гость
Re: Протокол джойстиков 3DO
« Ответ #11 : 01 Декабрь 2010, 08:35:02 »
Собрать второй джой, подключить последовательно и проверить как будет работать моя прошивка.

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #12 : 01 Декабрь 2010, 08:51:43 »
ясно )
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Оффлайн ПАУК

  • Постоялец
  • ***
  • Сообщений: 151
Re: Протокол джойстиков 3DO
« Ответ #13 : 15 Ноябрь 2014, 21:25:29 »
Выяснил полный протокол джойстиков 3DO и решил задокументировать ))

Распиновка порта консоли:

1 - GND
2 - VCC
3 - Aidio left
4 - Audio right
5 - VCC
6 - CONFIG   (выход стороны 3DO)
7 - CLOCK (выход со стороны 3DO)
8 - GND
9 - DATA  (выход со стороны устройства ввода)

А вот теперь нубовский вопрос. Где на приставке или джойстике какая цифра находится? Они же там не подписаны.

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Re: Протокол джойстиков 3DO
« Ответ #14 : 16 Ноябрь 2014, 07:16:55 »
подписаны, воспользуйся лупой, если нет близорукости )
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"