Дело было не в синхронизации с экраном. Exolon, на самом деле - не "рекомпиляция", ибо никакой рекомпиляцией не получилось бы добиться приемлемой скорости на Векторе. Это полностью переписанная программа.
Я задействовал аппаратный таймер на ВИ53 в нестандартном режиме. Обычно он использовался для вывода звука, а у меня - просто считал время до синхроимпульса. А поскольку Вектор полностью синхронизирован, то счётчик никогда никуда не "уплывал" на реальном Векторе.
Почему я использовал такой странный механизм вместо стандартной схемы с прерываниями? Да по тем же причинам экономии тактов. Дело в том, что для прорисовки персонажей, чтобы выиграть в скорости, я нестандартно использовал стековый регистр. Устанавливал стек на адрес, откуда, положим, нужно было переслать данные на экран и делал: "pop d", после одной этой команды в 12 тактов имел два регистра (d и e) с данными и инкрементированный счётчик ардеса, окруда брать следующие данные. А если бы прерывания были разрешены, вызов подпрограммы прерываний портил бы стек с данными. И потом, было очень интересно использовать тот же таймер в нестандартном режиме.
Потом, конечно, я придумал немного другое решение, но его реализация не получила широкого распространения, т.к. программа уже "ушла в народ".