Scroller'ы бывают разные x2

 

Немногие вспомнят старые демки 90х, в которых были бегущие строки с одни недостатком: текст двигался не с краю, а буква печаталась на пустом месте. Меня этот стиль сильно раздражал, поэтому я написал свою версию sx1.asm. Этого недостаточно, если код использует  два экрана в режиме 128К - понадобится сдвиг данных в буфере и копирование на экран, которое займет лишние такты. Demo Drimk'em All использует нестандартный код. Я написал свою версию после того, как изучил демо - scroll_stack.asm. Теперь остался увеличенный текст, который я пару дней назад. Немного подсчета: 

(4+15)*32*16*2=19456 тактов

4+15 это такты rl(hl):dec l

*32 - число байтов на линию

*16 - число строк

*2 количество вызовов процедуры.

Идея эффекта была в другом: использовать 512байт LUT для сдвига. Получилось (7+7+4+7+4+7+4+4+7+4+4+4)*32*8=16128 тактов.

Оригинал кода - s2x2.asms2x2_1.asm - исправленная версия, которая не рисует дополнительные данные букв на экране. Исходники.

Комментарии