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

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

image

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

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

64k intro — heaven seven by Exceed



40k intro — Alien Incident Cracktro by Hybrid & Superior Art Creations



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



16k intro — Blastersound BBS (2) by Iguana



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

8k intro — mars by Tim Clarke



4k intro — Omniscent by Sanction



1k intro — paleozoa by fsqrt



512b intro — AFLAtoxin



256b intro — Puls by Rrrola



128b intro — cross by Queue Members Group



64b intro — into a new era by Desire



32b intro — Projektbeschreibung by Desire



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

8b intro — m8trix 8b



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

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

0xEB 0x80

Или на более понятном языке:

; 2B or not 2B - main environment code
; (c) 2020 / ShakeSpirt / RMDA

; fasm 1

org $100

	jmp short $82		; jump to command line to launch the code :)

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



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

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

Пишите в комментариях что поняли, что не поняли и что хотели бы понять из прочитанного выше. Ассемблер вовсе не черная магия! Просто НОРМАЛЬНЫЙ мужской язык программирования, а не это все «для девочек», на чем вы обычно каждый день пишите.

Архив выпусков нашей научно-популярной передачи:

И целого байта мало… (Часть #0)
И целого байта мало… (Часть #-1, пилот)
И целого байта мало… (Часть #1)
И целого байта мало… (Часть #2)

image

На иллюстрациях в статье PC-демонстрация obsoleet by Unreal Voodoo победившая на Assembly в 2004 году. И наверное, если вы дочитали до этого места, вам стоит посмотреть саму работу, она очень трогательная:



---EOF---

#FF — И целого байта мало… | Пилот)
#00 — ИЦБМ… | Приглашение на Revision Online 2020
#01 — ИЦБМ… | Какими бывают intro?
#02 — ИЦБМ… | The Cross of Changes
#03 — ИЦБМ… | 2B or not 2B
#04 — ИЦБМ… | Берем БК за рога
#05 — ИЦБМ… | Анимэ
#06 — ИЦБМ… | Метеоризмы
#07 — ИЦБМ… | Revision Online
#08 — ИЦБМ… | Голосуем на Revision

Развлекательный канал деда в Телеграм: teleg.run/bornded

Рядом с каналом есть чат. В нем можно попробовать поднять вопросы за демосцену, ассемблер, пиксель-арт, трекерную музыку и другие аспекты процессы. Вам могут ответить либо отправят в другие, более тематические чаты.

ТАК ПОБЕЖДАЛИ — ТАК ПОБЕДИМ!