На мой субъективный взгляд в такой беспощадной рванине мало смысла, это тяжело смотреть и еще тяжелее получать какое-то удовольствие. Есть 2 основных варианта борьбы с разрывами:
1. Выравнивание кода до кратности кадру + ручная подстройка, как
здесь (кстати, теперь это работает и в emu и в современных версиях emu80). Таким макаром можно выводить (очень простую, состоящую из повторяющихся в столбце блоков 8x6) динамическую картинку разрешением примерно до 2/3 спековского экрана (256x128 или близко). Пример того, что можно реализовать - первый эффект из векторовской демы
From Sunset To Dawn. Основной ограничивающий фактор - сложно поддерживать постоянный период выполнения кода по мере его усложнения.
При наличии таймера очевидно все резко упрощается, один раз подстроились в начале, потом пользуемся без особых ограничений.
Забыл сразу написать про второй ограничивающий фактор - сейчас существуют клоны специалиста с отличающимися параметрами развертки. Тут все зависит от желания и возможностей по отладке, или можно поддержать один самый распространенный вариант или те варианты, к которым есть доступ.
2. Не полное устранение, а уменьшение заметности разрывов. 1) Построчный (не постолбцовый) вывод из теневого буфера, 2) бОльшую часть картинки должны занимать однородные (сплошные черные или белые) участки. Пример реализации такого подхода - jet set. Ну и тут неприятная зависимость - чем меньше FPS, тем реже разрывы.
[свернуть]