Выяснил полный протокол джойстиков 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 джойстики ее убийц )))