В MK2 коды кнопок зависят от настроек и от самого джойстика, причём есть два способа опроса джойстика, в зависимости от настроек. Вот, например, у одиночной кнопки A такое представление (сначала указание на тип джойстика, потом - на настройки в игре):
6 6-BUTTON = 8000FFBF
6 ACTIVATOR = 0000FFBF
3 ACTIVATOR = 0000FFBF
3 6-BUTTON = 000000BF
Младший байт один и тот же, так и должно быть, но после опроса джойстика идёт какой-то замороченный цикл из тестирования всех битов, наверно, здесь различия и сказываются.
Проверка приёма происходит каждый раз при нажатии любой кнопки или отжатии кнопки удара. Записываются значения последних 6 нажатых кнопок и время нажатия, причём отдельно хранятся кнопки направлений и кнопки ударов (+ блок), но это дела не меняет. Системы записи приёмов как таковой нет (как в Batman Forever: последовательность стрелок + кнопка удара, это легко формализовать), и для каждого персонажа свой код (машинный), потому что есть и замысловатые приёмы, вроде фаталити у Шанг Тсунга с превращением или даже просто зажатия кнопок. Хотя удары всё же как-то записаны, но каждый удар проверяется своим кодом.
Весь прикол в том, что отжатие 3-хкнопочной A почему-то ничего не даёт. Именно из-за этого не работает фаталити с зажатием A у Кунг Лао, а также у JAX и SUB-ZERO. Приёмы с зажатием других кнопок работают нормально (например, C (ВПЕРЁД, ВПЕРЁД, ВНИЗ, ВПЕРЁД) у Китаны).
Кроме того, кнопки действительно неэквивалентны друг другу. Наверно, на это влияет всё та же проверка битов. И выходит, что A-3 - это нечто среднее между A-6 и X-6. Например, у Шанг Тсунга есть приём ВВЕРХ, ВНИЗ, X для превращения в Рептилию, но на 3-хнопочном он выполняется как ВВЕРХ, ВНИЗ, A. Даже не пытайтесь нажимать стрелку + A для имитации X, приём всё равно делается с просто A. У MILEENA приём с зажатием X на 3 секунды делается на 3-хкнопочном как зажатие B (удар ногой), но не стрелка + A.
В общем, некоторые приёмы всё равно сделать не удастся...
Вы мне лучше объясните, почему в MK 1 в опциях курсор самопроизвольно двигается, это фишка такая или кривость эмуляции?