И целого байта мало… (Часть #1)

от автора

Дамы, господа, сегодня отличный день!

Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а так же пару популярных статей по этому вопросу.

image

Одной из форм соревнования на демосцене является sizecoding — программирование визуальных эффектов в крайне ограниченном объеме машинного кода. Прежде чем мы перейдем к достижениям сегодняшнего дня (а они есть и более чем масштабные), давайте очень быстро пробежимся по наследию дедов. Все приведенные ниже работы сделаны в разные годы, объединяет их требование к платформе — PC, x86, DOS (никакого GPU, обычная видеокарта). В идеале вам стоит поставить DosBox и запускать каждую работу самостоятельно, благо авторы не особенно озадачиваются созданием видео и загрузкой его на YouTube. Мы постарались выбрать по одной показательной работе в каждой номинации.

Для начала посмотрим на «крупные» релизы, те, которые занимают килобайты. Здесь золотым стандартом является 64 килобайта. Категория 40 килобайт популярна на компьютере Commodore Amiga, а в случае с PC здесь обычно лежат работы, которые авторы не захотели дописывать до 64k. Говоря про 32k и 16k — это чаще всего cracktro и bbs intro, которые формально тоже можно отнести к демосцене.

64k introheaven seven by Exceed

40k introAlien Incident Cracktro by Hybrid & Superior Art Creations

32k introQuake 3 Cracktro (RZR #07) by Razor 1911 & Superior Art Creations

16k introBlastersound BBS (2) by Iguana

А вот отсюда начинается настоящая демосцена, здоровенная, демосцена моей мечты!

8k intromars by Tim Clarke

4k introOmniscent by Sanction

1k intropaleozoa by fsqrt

512b introAFLAtoxin

256b introPuls by Rrrola

128b introcross by Queue Members Group

64b introinto a new era by Desire

32b introProjektbeschreibung by Desire

На этом официальны градации на Pouet заканчиваются, но не заканчивается погоня за эффектами в минимальном объеме кода. Вот в качестве примера эффект из Матрицы размеров всего восемь байт:

8b introm8trix 8b

Вопрос дня: может ли быть интро размером в 4 байта? А в 2 байта?
Ответ: ДА.

Вот машинный код для процессора x86:

#EB #80

А вот результат на экране:

Заинтригованы? Во второй части мы детально расскажем как такое возможно! Уж такой сегодня
день…

Вторую часть можно и не ждать, если вы умеете держать ассемблер в руках и язык вероятного противника вам знаком. Вот ссылка: www.pouet.net/prod.php?which=85118

ссылка на оригинал статьи https://habr.com/ru/post/495042/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *