ещё вспомнил такой момент.
перед началом главного цикла программы надо прочитать/занести в переменные данные из портовXY.
нужно это для того что-бы при начале работы программы стрелка появилась там где задумал автор (например посередине экрана),
а не в произвольном месте. также это необходимо делать например при выходе из режима паузы (если он предусмотрен)

- - - Добавлено - - -

Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
могут ли при одновременном управлении с клавиатуры артефакты чтения портов мыши давать наложение управления как бы от мыши?
так и будет. работа станет (практически) невозможной