Новая версия программы для адаптера rc2joy на C

CKYHC

Всем привет!
Кому интересно.
Слепил адаптор RC 2 GamePort (joystick) как указано на этом сайте. Запустил в FMS с Sanwa RD 8000. Прошивку использовал оригинальную (скомпилированный hex файл) с этого сайта для указанного адаптора. После прошивки - модель дергается апериодически по двум координатам 😵
Т.е. даже на джойстике Cyborg Evo управлять проще.
Решил перекомпилировать оригинальный исходник на ASM. Сделал. Не помогло. За тем поигрался с настройками - результат аналогичный. Поискал по этому форуму - вроде народ уже жаловался, но во-первых это было давно, а во-вторых автор адаптора сказал, что в симуляторах это не так важно - и сделал предположение, что дергается из-за неудачного совпадения прерываний.
После этого я решил написать свою программу под этот же адаптор. Т.е. железо - абсолютно такое же как указано на этом сайте в разделе Авиасимуляторы -> FMS -> Интерфейсы -> GamePort (Joystick). Т.к. ассемблер я знаю хуже, чем C или Pascal (думаю как и многие еще) - то решил писать не на ASM, а на С. В итоге программа получилась чуть больше (я имею в виду скомпилированный файл) - но по прежнему меньше чем половина доступной памяти того AVR (AT90S2313).
Так вот после исправления обнаруженных багов - летает в FMS без дерганий - абсолютно как должно.
Если кому интересно - к этому сообщению я прикрепляю полностью готовый проект на C под IAR Embedded Workspace, включая скопмилированную версию (расширение файла .a90 - именно его надо прошивать если нет желания изменять исходники).
Прошивать можно бесплатной программой PonyProg 2000 (в архиве прикрепленному к этому сообщению есть ссылка на их сайт). Сам проект на C сделан с помощью IAR Embedded Workspace - эта программа коммерческая, но я думаю при желании можно найти кучу бесплатных компилляторов на C для AVR. Все исходники прилагаются. Программа в принципе простая и прозрачная.
К исходникам прилагается полезная информация с разных источников, которая была мной использована.

Если кто заметит ошибки в работе моей программы - сообщайте пожалуйста мне.

Распространяю абсолютно свободно - можно копировать, изменять. Нельзя продавать (или получать коммерческую выгоду) - т.к. должно быть абсолютно бесплатно.

Удачи!
Андрей

project_andrey.rar