Для подключения SEGA джойстика используется вилка DB-9M, которая имеет следующую распиновку:
1. UP/Z
2. DOWN/Y
3. LEFT/X
4. RIGHT/SELECT
5. +5V
6. A/B
7. SYN (вход управления)
8. GND
9. START/C
Как вы уже знаете, SEGA джойстик можно подключить без вскрытия, разрезания дорожек и сложных схем управления. Его уже подключали к SPECCY2010, KAY-2010, LENINGRAD-2012, KEYB&SINC. Но простым способом можно опросить только 6 кнопок. В LENINGRAD-2012 шестая кнопка подключена как AUTOFIRE.
В новом устройстве нужно опросить все 12 кнопок SEGA джойстика, а это уже более сложная задача.
Но решаемая. На вход SYN джойстика нужно подать последовательность импульсов:
1. 0 50 мкс
2. 1 50 мкс
3. 0 50 мкс
4. 1 50 мкс
5. 0 50 мкс
6. 1 50 мкс
7. 0 50 мкс
8. 1 2000 мкс
Затем опять с 1 по 8 интервалы.
В игре MORTAL COMBAT 3 на игровой приставке SEGA интервалы времени 1-7 по 13.8 мкс, а 8 интервал около 16.57 мс. Но эти интервалы можно менять в достаточно широком диапазоне. В нашем устройстве, одиночные импульсы, для уменьшения нагрузки на микроконтроллер, по 50 мкс, а опрос джойстика сделаем чаще, через 2.4 мс. Такой управляющий сигнал будем формировать с помощью прерываний от таймера, настроенного на интервал 50 мкс.
Читать данные с SEGA джойстика будем в следующие моменты:
В конце 4 интервала: LEFT, RIGHT, DOWN, UP
В конце 5 интервала: A, START
В конце 6 интервала: X, Y, Z, B, C, SELECT
В текущей версии прошивки настроены прерывания на 50 мкс и сформирован тестовый меандр частотой 10 кГц (1/100 мкс).




Ответить с цитированием