Ты уверен? переход между битпланами сейчас занимает также 1 байт. Также как и движение в сторону.
Вид для печати
Набросал упомянутый ранее вариант, надеюсь принципиальных ошибок нет. Стоит отметить, что порядок вывода очень своеобразный, конвертер графики надо делать аккуратно.
- - - Добавлено - - -
Скопипастил у jerri описание и не поправил: D - не совсем X, это X+старшая половина адреса начальной плоскости.
Пришлось повозиться с разными моментами при переходе на метод вывода спрайтов, который предложил Jerri (спасибо что посоветовал).
Но похоже усилия стоили того - скорость прибавилась явно.
На данный момент переделаны основные подпрограммы вывода спрайтов (остались ещё некоторые специфические).
Циклы ещё не разворачивал. Смотрите (rom) - "стресс-тест" для подпрограммы вывода спрайта - 10 движущихся объектов + герой + монетки.
Скорость анимации можно ускорить за счёт уменьшения паузы. При передвижении влево вправо у главного героя иногда проскальзывают мерцания (это код где в строке 4 байта выводятся). Но в целом вроде нормально.