Arts-Union
Территория 3DOшников => Инженерная => Тема начата: Altmer от 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 джойстики ее убийц )))
-
Та программировать-то я вроде немного умею, но вот прошивать ПЗУ - только в весьма отдалённой теории.
-
Альтмер, ты пояснил формат сигнала КЛОК. А каковы форматы сигналов КОНФИГ и ДАТА? А то собрался прошивку писать и столкнулся с недостачей(или недопониманием) информации ???
АГА! С ДАТА тоже всё понятно. Но вот по конфиг - нет.
-
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
-
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
Не, ну я понял, что задача микросхемы ПЕРВОГО джоя - считать конфиг и просто передать его следующему джою, но с запозданием на полтора периода :) Но что должен делать с этим сигналом следующий джой? С этим сигналом что ничего ненадо что-ли делать кроме того, что передавать его, как эстафету? Он же зачем-то нужен? ??? Иначе зачем его передавать, если в ответ на этот сигнал джой ничего приставке возвращать не должен?
-
В джоях эти сигналы не используются, они нужны в пистолетах и некоторых других экзотических устройствах
-
Ув. Altmer можно вопрос:
зачем на Вашей схеме подключения сигнал Clock идет через МК?
Не проще ли его напрямую пустить на следующий джой и реализовать алгоритм следующим образом:
Первый джой выталкивает в консоль 16 бит по заднему фронту CLK а по переднему считываем 16 бит от следующего джоя
таким образом после передачи 16 бит имеем в буфере 16 бит второго джоя.
Проверяем что в буфере если там 0xFFFF значит второго джоя нет, иначе передаем эти 2 байта и опять проверяем принятое.
Хочу попробывать но пока нет второго МК
-
Можно и так, но общая информационная линия в длинной цепочке (до 8-ми устройств) имхо не очень хорошо.
-
Стоп - если разговор идет о USB конверторе, то вообще советую бросить идею с двумя контроллерами - неудобно, лучше взять один контроллер со встроенных USB хостом.
-
Нет я просто джойстик делаю (недавно купил консоль без джоя)
По поводу цепочки не подумал.
Решил что Вы его там еще по времени сдвигаете.
-
тогда зачем второй МК?
-
Собрать второй джой, подключить последовательно и проверить как будет работать моя прошивка.
-
ясно )
-
Выяснил полный протокол джойстиков 3DO и решил задокументировать ))
Распиновка порта консоли:
1 - GND
2 - VCC
3 - Aidio left
4 - Audio right
5 - VCC
6 - CONFIG (выход стороны 3DO)
7 - CLOCK (выход со стороны 3DO)
8 - GND
9 - DATA (выход со стороны устройства ввода)
А вот теперь нубовский вопрос. Где на приставке или джойстике какая цифра находится? Они же там не подписаны.
-
подписаны, воспользуйся лупой, если нет близорукости )
-
И правда подписаны, всё отлично видно без увеличилок. Тады ой. Хотя я раньше и не смотрел, где там чего...
Просто помнится, хотел вывести выход для наушников куда-нибудь на приставку. А просто так тупо тыкать, спалить можно чего-нибудь.
А общий провод, который питание на Audio left/right даёт из них какой?
Читал про какую-то игру, в неё можно нормально играть только в стереонаушниках из джойстика, а что за игра и не помню теперь.
-
Врать не буду, но по-моему 1 и 8 не развязаны. Посмотри на плате консоли.