Если переделывать в 128-ю версию, то у Рекса есть большой резерв оптимизации.
Сейчас экран рисуется в теневом линейном буфере с нуля (обнуление PUSH,PUSH,PUSH...), послойно, а в конце статика. И переброска (POP DE: LDI, LDI, LDI...) Прерываний строго нет.
Можете глянуть приложенный файл, я там сделал переброску буфера в экран после рисования каждого слоя. На 30% скорости эмуляции ещё виднее.
Так вот, теоретически можно попробовать не рисовать статику в каждый цикл, а всё подвижное рисовать промеж статики (она точно по знакоместам). Синхронизировать с прерываниями. И может использовать 7-ю страницу, чтоб не перебрасывать, а переключать.
Но это всё мечты. Проще слепить 128к версию, где все уровни упаковать в доп память, и распаковывать очередную фазу по мере прохождения.





Ответить с цитированием