Немногие вспомнят старые демки 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.asm. s2x2_1.asm - исправленная версия, которая не рисует дополнительные данные букв на экране. Исходники.
Комментарии
Отправить комментарий