
Remoded: разбираем демо-эффекты (часть 2)
BiTL 4 минуты назад Remoded: разбираем демо-эффекты (часть 2) Средний 21 мин 137 Демосцена * Старое железо Ненормальное программирование * Assembler * Программирование * Туториал И снова приветствую всех любителей...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: BiTL 4 минуты назад Remoded: разбираем демо-эффекты (часть 2) Средний 21 мин 137 Демосцена * Старое железо Ненормальное программирование * Assembler * Программирование * Туториал И снова приветствую всех любителей олдскула, демосцены и олдскульной демосцены. Это вторая часть разбора DOS-демки "Remoded" и, соответственно, эффектов, основанных на аппаратных особенностях видеоадаптера VGA. Сегодня мы продолжим разбираться с аппаратным скроллингом, узнаем, что такое "xorfill" и как его правильно готовить, как эмулировать 12 тысяч цветов в 256-цветном режиме, а также познакомимся с другими технологиями прошлого столетия.
В предыдущей части мы разобрались: что такое mode-x и зачем он был нужен, как работает аппаратный скроллинг и сплиттинг, а заодно выяснили: зачем писать демки под DOS в 2026-м году. Если вы все пропустили, уточняю: речь идет о ретро-кодинге под DOS, VGA-совместимую видеокарту (256 цветов, и никаких SVGA/VESA) и процессор уровня 486/66 мГц. Мы разбираем эффекты из демки "Remoded", которую я и @Manwe_SandS выставляли в этом году на демопати Revision'2026.
Технические детали
Но все-таки для лучшего понимания материала рекомендую ознакомиться с первой частью, прежде чем читать дальше. Ну, не хотите как хотите. Тогда врубаем ретровэйв и погнали!
Вертикальный скроллинг и проклятие TSENG (Greetings part)Заливка методом "XOR fill" и адаптивная детализация (Glenz scroller)Ротозумер 12-ти тысяч цветов (Clownzoomer)Деформация битмапа и кое-что еще (Credits part)Полезные ссылкиВертикальный скроллинг (Greetings part)После части с собакой-зумером в демке идет скроллер с приветствиями демогруппам (древняя традиция). Чем технически интересна эта часть? С одной стороны все банально: аппаратный скроллинг и палитровая анимация.
Благодаря этим двум вещам мы не перерисовываем экран целиком, а лишь добавляем несколько пикселей (дорисовывая буквы и одну строку фона) каждый кадр. Плавная прокрутка происходит за счет смещения стартового адреса в регистре видеокарты (с какой позиции видеокарта будет читать свою память отрисовывая экран), а эффект параллакса (разная скорость движения текста и двух "слоев" фона) и анимация шестеренок реализованы палитровой анимацией (подробнее о ней мы говорили в предыдущей статье). Для наглядности, как обычно, я сделал пару гифок:Что мы увидим без real-time модификации палитры (default VGA palette)Что мы видим с модифицируемой палитройВидите, как славно получается?
Отраслевые последствия
Пока мы плавно, волной, закрашиваем экран, мы не дергаем Start Address, но создаем эффект скроллинга палитрой. Как только начинается аппаратный скроллинг видеостраницы, мы начинаем сдвигать палитру в обратную сторону, чтобы компенсировать скролл изображения вверх и сделать движение фона чуть медленнее, чем движется текст. На гифках это выглядит грубо, ведь ради экономии они имеют 10 FPS.
В реальности сцена работает с номинальной скоростью рефреша (60 или 70 FPS, в зависимости от выбранного видеорежима), и скроллинг получается идеально плавным (особенно на реальном железе).
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





