- PVSM.RU - https://www.pvsm.ru -
"Совершенно бесполезное, отвлекающее умного человека от продуктивной работы и, вероятно, сжигающее множество часов ценного времени... Это искусство в чистом виде".
/ из комментариев к demo Freespin /
Продолжая цикл статей [N1 [1],N2 [2],N3 [3]] о демосцене и демосценерских конкурсах, в преддверии Chaos Constructions'2025 [4] хочу рассказать о конкурсе с самыми, пожалуй, свободными правилами - Wild demo. Возможно, узнав о таком конкурсе, кто-то захочет в нём поучаствовать.
Изначально демо писались почти исключительно под популярные компьютеры, поскольку это позволяло работам широко распространяться и быть увиденными максимальным количеством людей. Однако, с ростом доступности сетей этот критерий стал менее значим. Особенно этому поспособствовала возможность распространять видео - ведь работу, созданную даже для очень экзотического устройства, таким образом может увидеть множество людей, это устройство даже не имеющих.
Описанные изменения привели к тому, что стали появляться демо буквально "для всего" - от редких компьютеров до калькуляторов и даже принтеров. Постепенно стало общепринятым, что на конкурс Wild demo выставляются работы, которые не проходят по правилам на другие конкурсы.
Взависимости от конкретной demo party в эту короткую формулировку добавляют те или иные уточнения. В целом есть два подхода - в одном считается, что работа, тем не менее, обязательно должна иметь исполняемый код (как в нашем случае [5]), в другом - что это может быть вообще что угодно (вплоть до видео на произвольную тему).
Среди уже существующих работ можно условно выделить несколько направлений:
Во-первых, это работы для редких, но всё же стандартных, выпускавшихся серийно, компьютеров.
Например, существовал такой игровой автомат Entex Adventure Vision [6] (1982 год).
Этот игровой автомат в качестве процессора использует микроконтроллер Intel 8048 с тактовой частотой 0.7MHz, имеет 1кб ОЗУ, картриджи с ПЗУ и простенький звук [7]. Однако главное, что его выделяет - дисплей. Изображение получается при помощи линейки из 40 красных светодиодов и вращающегося зеркала, что даёт весьма аутентичную картинку разрешением 150 x 40 точек.
И вот работа CODE RED [8] для этого агрегата. Написана группой авторов из Museum of Electronic Games & Art. Представлена на Revision Easter Party 2013. Занимает 4кб (стандартный размер картриджа):
Автор пишет, что используется режим 50x40 с двумя уровнями яркости. Насколько я понимаю, упомянутые 1кб ОЗУ - это VRAM. А собственно ОЗУ для данных - 64 байта, встроенные в микроконтроллер.
Или вот работа Meet The SuperGrafx by Punkfloyd [9] для SuperGrafx представленная на Demodays'2012:
SuperGrafx [10] - довольно редкая игровая приставка фирмы NEC (1989 год) с процессором 6502, 32 + 128 кб ОЗУ, цифровым wavetable звуком и вполне неплохой графикой со спрайтами.
А вот на нашем Chaos Constructions в 2017-м году была представлена работа для микрокалькулятора Casio fx-9860g - Search by ErrorSoft [11]:
Процессор: SuperH3 29 MHz, ОЗУ: 512кб, Разрешение 128x64
Звука в устройстве нет, музыка наложена отдельно.
Далее - работа 37 bytes of RAM [12] для Interton VC4000 [13]:
Interton VC4000 - игровая приставка 1978 года с процессором Signetics 2650A [14] 1.2 МГц, 188 x 268, 37 байт ОЗУ (что отражено в названии работы). В чём-то похожа на известную Atari VCS, только послабее.
Работа Cruisin 5 by Abyss [15] с Revision'2023 - для игрового автомата Arkanoid TAITO (1986 год):
Сам автомат сделан на процессоре z80, звук многим известен по Спектруму - это AY8910. Ну и видео на куче логики.
Бывают совсем странные извращения. К примеру, работа Signal Carnival by Reflex [16] представленная на недавно прошедшем Revision'2025 предназначена для популярного Commodore 64, но дикость заключается в том, что автор использовал видеовыход для звука, а звуковой выход - для видео!
Есть подробные пояснения [17] автора.
Если генерация звука ещё понятна - видеочип C64 (VIC) позволяет изменять значения регистров с частотой 246 КГц, чего хватает с лихвой, то с генерацией видео звуковым чипом (SID) сложнее. Автор использует регистр управления громкостью, что позволяет достичь частоты около 16 КГц. Разрешение получается невыосокое (а о цвете и говорить не приходится), но со звуком результат смотрится очень даже неплохо.
Поскольку на demo party всё чаще в рамках одного конкурса допускают различные платформы со схожими возможностями (например, стал обычным конкурс Oldskool demo вместо отдельных конкурсов C64 demo или Atari demo), то нередко у автора есть выбор - подавать работу именно в Wild или в другой конкурс. Ну или оставлять решение на усмотрение организаторов demo party.
К примеру, логичнее подавать 256 bytes intro для TI/99 в Oldskool 256 bytes intro, а не в Wild demo. Просто потому, что 256-байтные интро для разных платформ более сопоставимы в рамках соревнования, чем скажем 256 байт intro с многомегабайтным demo.
Возвращаясь к работам, можно выделить ещё одну категорию - demo для серийно выпускавшихся электронных устройств, не являющихся компьютерами в традиционном понимании (но содержащими микропроцессор):
Работа Freespin by Reflex [18] представленная на Gubbdata 2021 - кажется пока единственное demo для дисковода.
Речь о дисководе Commodore 1541 [19], который обладает важной особенностью - у него есть собственный микропроцессор 6502 1МГц, 2Кб ОЗУ, 16Кб ПЗУ и последовательный интерфейс, через который он подсоединяется к компьютеру (обычно к Commodore 64).
Данная особенность используется в практических целях - для реализации скоростных загрузчиков и схем защиты от копирования (программно меняется протокол обмена данными между дисководом и компьютером на более эффективный или подходящий) и даже для математических вычислений, в качестве сопроцессора.
В данном же случае автор загружает [20] код demo в дисковод, после чего компьютер полностью отключается, а последовательная шина (clock и data) используется как композитный видеовыход. Конечно, изображение чёрно-белое, да и разрешение так себе. Но тем не менее!
Да, что касается музыки и звуков, то их издаёт шаговый двигатель, перемещающий головку.
Работа Cellulose by Tapir [21] представленная на Dreamhack 2002:
Создана для плоттера Brother BP-30, причём это именно плоттер (одно из трёх разноцветных перьев водит по бумаге), хотя с первого взгляда похож на матричный принтер.
Работа AONDEMO by Shiru [22] представленная на Chaos Constructions 2018.
Написана для АОН [23] (Автоматический Определитель Номера) - довольно популярного в 1990-е устройства. Данный конкретный экземпляр сделан на процессоре z80, имеет 2кб ОЗУ, 8-64кб ПЗУ. Звук через таймер ВИ53. Автор рассказывал [24] о своей работе на Хабре.
( Кстати, пользуясь случаем скажу, что в этом году у нас [4] проведёт семинар один из авторов АОНов "Русь" и чипа R100-XP - Павел Суходольский ).
Есть и более специфические Wild demo - для микроконтроллеров (с минимальной обвязкой типа резисторов или конденсаторов). В этом отношении с большим отрывом от всех лидирует такой человек как lft [25].
К примеру, вот его работы для ATmega88:
Craft by lft [26] представленная на Breakpoint 2008.
ATmega88 20 МГц. Видео и звук формируются программно. VGA видеосигнал выводится через R-2R ЦАП на резисторах.
Звук - 4 канала, каждый со своей формой сигнала (треугольник, меандр, прямоугольник, белый шум).
Детальное описание [27] от автора.
Phasor by lft [28] представленная на Breakpoint 2010.
ATmega88 17 МГц. В отличии от предыдущей работы здесь формируется не VGA сигнал, а композитный (PAL). Это добавляет сложности но, видимо, человеку было интересно разобраться.
Детальное описание [29] от автора.
Работа Turbulence by lft [30] представленная на Breakpoint 2009. Работает на Propeller.
Parallax Propeller P8X32A [31] - это такой странный восьмиядерный микроконтроллер с тактовой частотой 80 МГц. Видео (VGA) и звук формируются программно, как и в предыдущих работах.
Детальное описание [32] от автора.
Работа Kaleidoscopico by lft [33] представленная на недавно прошедшем Revision'2025.
Raspberry Pi Pico 2 (RISC V), 130 МГц, 520 кб ОЗУ.
Видео (VGA 512 x 384) и звук (12 каналов, 4 оператора, фильтры) формируются программно, как и в предыдущих работах. Интересно, что для музыки автор написал собственный трэкер. Это напомнило мне Enlight'95 [34], где Андрей Заболотный для своей демки Show3D [35] тоже написал свой трэкер и 3D редактор.
Детальное описание [36] от автора.
А вот работа другого автора - Jupiter & Beyond by St. Vincent And The Grenadines & Tristar & Red Sector Inc. [37] представленная на Revision 2013.
STM32F4, 168 МГц, 192 kB RAM.
Видео (VGA) и звук [38] формируются программно, как и в предыдущих работах.
Отдельно стоит упомянуть Wild demo для дисплеев. Это работы, где важно не столько то, что является источником данных, сколько то, на чём отображается результат:
Типичный пример - работа Pharmageddon by The Paramedics [39] представленная на TRSAC 2022. Дисплей - крестообразная вывеска аптеки.
Вообще, дисплеи необычной формы позволяют [40] интересно обыграть всякие скроллинги и эффекты.
И, конечно, серия работ "для осциллографов"...
Почему я поставил это слово в кавычки: ни одна из этих работ не запускается на осциллографе - все они лишь изображают, через звуковую карту, данные из заранее подготовленного разными способами файла. Но, согласитесь, всё равно впечатляет.
Youscope by TVT [41] представленная на Assembly 2007.
Beams of Light by Tristar & Red Sector Inc. [42] представленная на @party 2014. С пояснениями [43] автора.
Если в двух вышеупомянутых работах музыка добавляется отдельно, то в следующих двух она формирует само изображение! Т.е. то, что вы видите, получается подачей на входы X и Y осциллографа звукового файла, который вы слышите в левом и правом канале соответственно:
Primer by BUS ERROR Collective [45] с Revision'2025.
И вот ещё - не совсем осциллограф, но принцип тот же. Лазерный проектор, управляется с Commodore 64 (т.е. в данном случае это полноценная demo с исполняемым кодом):
LSR 64 by Viti [46] представлена на Function 2014.
Бывают ещё работы для обычных компьютеров, но выполняющиеся в нетрадиционной для demo виртуальной среде:
Doomonstration by Nasty Bugs [47] представлена на PixelShow 2005 - demo для Doom.
Excelence by BraadWorsten Brigade [48] представлена на Breakpoint 2009 - demo для Microsoft Excel:
Короче говоря, Wild demo бывают для очень разных устройств - банкоматов, паяльников, различных самоделок...
Особняком стоят работы не только не имеющие кода, но и не использующие электронные устройства. Не на всех demo party такие работы считаются Wild demo (иногда это классифицируется как Animation/Video). Тем не менее, трудно не согласиться что, например, вот эта работа вполне себе demo:
OHP MEGA DEMO 9000 by Desire [49] представлена на @party 2012.
Здесь используется эпидиаскоп - простое устройство, позволяющее проецировать на экран изображение нарисованное на прозрачной плёнке:
А вот это работа так и вовсе представляет собой песню:
Автор: frog
Источник [50]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/420947
Ссылки в тексте:
[1] N1: https://habr.com/ru/articles/573926/
[2] N2: https://habr.com/ru/articles/828550/
[3] N3: https://habr.com/ru/articles/842328/
[4] Chaos Constructions'2025: https://chaosconstructions.ru
[5] нашем случае: https://chaosconstructions.ru/compos.html#wd
[6] Entex Adventure Vision: https://en.wikipedia.org/wiki/Entex_Adventure_Vision
[7] простенький звук: https://www.m-e-g-a.org/adventurevision-apu/
[8] CODE RED: https://www.pouet.net/prod.php?which=61201
[9] Meet The SuperGrafx by Punkfloyd: https://www.pouet.net/prod.php?which=59919
[10] SuperGrafx: https://en.wikipedia.org/wiki/PC_Engine_SuperGrafx
[11] Search by ErrorSoft: https://www.pouet.net/prod.php?which=71637
[12] 37 bytes of RAM: https://www.pouet.net/prod.php?which=85434
[13] VC4000: https://en.wikipedia.org/wiki/Interton_Video_Computer_4000
[14] Signetics 2650A: https://en.wikipedia.org/wiki/Signetics_2650
[15] Cruisin 5 by Abyss: https://www.pouet.net/prod.php?which=94113
[16] Signal Carnival by Reflex: https://www.pouet.net/prod.php?which=103953
[17] пояснения: https://www.quiss.org/signal_carnival/
[18] Freespin by Reflex: https://www.pouet.net/prod.php?which=89362
[19] Commodore 1541: https://en.wikipedia.org/wiki/Commodore_1541
[20] загружает: https://www.quiss.org/freespin/
[21] Cellulose by Tapir: https://www.pouet.net/prod.php?which=8193
[22] AONDEMO by Shiru: https://www.pouet.net/prod.php?which=77769
[23] АОН: https://ru.wikipedia.org/wiki/%D0%90%D0%9E%D0%9D
[24] рассказывал: https://habr.com/ru/articles/421961/
[25] lft: https://www.linusakesson.net/
[26] Craft by lft: https://www.pouet.net/prod.php?which=50141
[27] описание: https://www.linusakesson.net/scene/craft/
[28] Phasor by lft: https://www.pouet.net/prod.php?which=54558
[29] описание: https://www.linusakesson.net/scene/phasor/
[30] Turbulence by lft: https://www.pouet.net/prod.php?which=53003
[31] Parallax Propeller P8X32A: https://en.wikipedia.org/wiki/Parallax_Propeller
[32] описание : https://www.linusakesson.net/scene/turbulence/
[33] Kaleidoscopico by lft: https://www.pouet.net/prod.php?which=104053
[34] Enlight'95: https://enlight.ru/enlight/
[35] Show3D: https://www.pouet.net/prod.php?which=5540
[36] описание: https://www.linusakesson.net/scene/kaleidoscopico/
[37] Jupiter & Beyond by St. Vincent And The Grenadines & Tristar & Red Sector Inc.: https://www.pouet.net/prod.php?which=61197
[38] звук: http://coda.s3m.us/2013/03/31/programming-the-music-to-jupiter-and-beyond
[39] Pharmageddon by The Paramedics: https://www.pouet.net/prod.php?which=92575
[40] позволяют: https://www.youtube.com/watch?v=bje3F9adZiU
[41] Youscope by TVT: https://www.pouet.net/prod.php?which=31592
[42] Beams of Light by Tristar & Red Sector Inc.: https://www.pouet.net/prod.php?which=63587
[43] пояснениями: https://luis.net/portfolio/beams-of-light/
[44] Oscillofun by Atom Delta: https://www.pouet.net/prod.php?which=58317
[45] Primer by BUS ERROR Collective: https://www.pouet.net/prod.php?which=103998
[46] LSR 64 by Viti: https://www.pouet.net/prod.php?which=64191
[47] Doomonstration by Nasty Bugs: https://www.pouet.net/prod.php?which=16859
[48] Excelence by BraadWorsten Brigade: https://www.pouet.net/prod.php?which=53021
[49] OHP MEGA DEMO 9000 by Desire: https://www.pouet.net/prod.php?which=59384
[50] Источник: https://habr.com/ru/articles/913026/?utm_campaign=913026&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.