Как стать автором
Обновить
0

Демосцена

Киберкультура

Сначала показывать
Порог рейтинга
Уровень сложности

Секреты Тима Фоллина, бипер, Спектрум и QChan

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров6.7K

Сегодня — экстремальный geek out: максимально узкоспециальная тема с запутанным кодом на ассемблере Z80. Раскроем секреты Тима Фоллина в «биперной» музыке на Sinclair ZX Spectrum 48K, попытаемся повторить, а может быть и превзойти его достижения. Некогда объяснять, разберёмся по ходу кода!
Читать дальше →

Новости

Ещё слово о процедурной графике

Время на прочтение5 мин
Количество просмотров5.4K

Не так давно я публиковал здесь небольшой обзор по работам в жанре процедурной графики и, в частности, призывал поучаствовать в конкурсе. Упомянутый мной конкурс на фестивале Chaos Constructions состоялся - было представлено семь работ размером до 1кб, о которых, особенно о двух собственного изготовления, я и хочу рассказать.

Первая работа называется Way и написана для платформы Sony Playstation 1 (PSX) на ассемблере MIPS R3000.

Читать далее

Демосцена и FreeBSD

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.4K

Решил вспомнить счастливое детство и полазить по сайтам демосценеров — с удивлением обнаружил, что многие выкладывают релизы под.. FreeBSD.

FreeBSD — мягко говоря не самая подходящая система для занятия оптимизированной графикой, поэтому наличие такого количества демо создаваемых под эту систему озадачило.

Поскольку я немного понимаю в компьютерах и использую FreeBSD в качестве одной из основных ОС, решил немедленно собрать и запустить самые интересные проекты.

Погрузиться в тему

Скибиди-бипер — асинхронная полифоническая однобитная музыка на ESP32 без ЦАП

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6K

В одной из своих предыдущих статей я заводил плазменный дисплей от старого японского автобуса. За кадром же он превратился в полочные часы-будильник — но так как это мне показалось скучным, то и про эволюцию их операционки на Хабре я особо распинаться не стал.

Однако же за это время PIS-OS прирос кучей всего, навроде поддержки ещё одного типа экранов, системы меню, а также и функцией будильника — посему понадобились и более мелодичные рингтоны, чем просто пиликание одним тоном.

В процессе выяснилось, что пьезоэлемент был припаян к той ноге МК, на которой ЦАП отсутствует. Впрочем, если бы я хотел будильник, который звучит как mp3 — просто пользовался бы мобильником, так что самое время вспоминать наследие демосцены и делать самый настоящий однобитный драйвер звука!

Пошумим же!

Два слова о процедурной графике

Время на прочтение5 мин
Количество просмотров7.2K

Среди многочисленных демосценерских конкурсов, которые традиционно входят в программу различных demo party, незаслуженно недооценённым, на мой взгляд, является конкурс процедурной графики (procedural graphics). Смысл этого специфического вида компьютерного творчества — формирование статичного изображения при помощи короткой программы. Стандартные ограничения на размер — 4кб, 1кб, 256 байт.

Связана недооценка, думаю, с тем, что конкурс одновременно не вполне понятен как тем, кто любит демки (поскольку процедурная графика статична), так и тем, кто любит картинки (т.к. процедурная графика не позволяет нарисовать что хочешь). И всё же, его популярность хоть и медленно, но растёт.

Первые работы во многом были вызваны интересом к теме трассировки лучей (raytracing). Сам по себе алгоритм довольно простой, но требует много вычислений, поэтому работы стали возможны, когда распространились компьютеры с, во‑первых, достаточно высокой производительностью и, во‑вторых, с достаточным количеством отображаемых цветов (или, хотя бы, градаций серого). Я порылся на pouet и нашёл одну из первых работ в категории «procedural graphics» — Digital Phantasy by EG:

Читать далее

Криптография и другие вычисления на детских логических машинах

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2K

Электрическая игрушка "Детская логическая машина" (ДЛМ) представляет собой устройство, позволяющее решать несложные логические задачи про приведённым в настоящей инструкции рисункам и описаниям программ.

ДЛМ способна отвечать на вопросы, решать поставленные перед ней задачи, быть партнёром в играх и даже экзаменатором.

На коробке предупреждение, что игрушка только для детей 13-15 лет. Читайте статью с осторожностью, если не попадаете в указанный диапазон.

Читать далее

Культурный феномен клипа Bad Apple и мой BAD AON

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров18K

Уже десять лет на демосцене существует довольно странная, но интересная традиция. Нет, в баню с друзьями ходят без неё, но очень многие делают конверсии популярного видеоклипа Bad Apple на различные маломощные платформы прошлых лет. Как-то: ZX Spectrum, Game Boy, Sega Genesis, БК-0011М, и чем дальше, тем страньше и страньше. Это одновременно и упражнение в реализации цифрового видео в условиях крайне ограниченных ресурсов, и в адаптации контента под возможности максимально хардкорных ретро-платформ.

Сегодня рассмотрим само явление Bad Apple — откуда оно взялось и какое отношение имеет к компьютерам, а также мою новейшую разработку в этой области, демонстрацию BAD AON. В прошлом я уже делал подход к этому снаряду с версией для 8-битной NES, а в этот раз сделал адаптацию для, смею надеяться, одной из наиболее необычных платформ. Разглядеть клип будет трудновато, но если хорошенько прищуриться (я серьёзно), он всё ещё вполне узнаваем.
Читать дальше →

Цифровая музыка на микрокомпьютерах (часть 2/2)

Уровень сложностиПростой
Время на прочтение31 мин
Количество просмотров7.4K

В первой части статьи мы узнали про существование такого явления, как цифровая музыка, то есть состоящая из оцифрованных кусочков звучания реальных инструментов, на маломощных 8-битных микрокомпьютерах 1980-х годов, а затем углубились в детали этой истории в рамках горячо любимой на постсоветском пространстве платформы ZX Spectrum в реалиях 1990-х годов.

Но в то же самое время аналогичные разработки существовали и активно развивались и на других платформах, в основном на зарубежных. Конечно, будучи заморской диковиной, толком не встречавшейся в наших краях, они не столь близки читателю, и перспектива знакомиться с подробностями их истории может на первый взгляд показаться не слишком привлекательной. Тем не менее, и на этих машинах случалось множество интересных свершений, достижений и технических решений, часть из которых оказалась присуща только определённым платформам — всё это может быть довольно интересно любителям покопаться в восьми битах.

Настало время где-то узнать, а где-то вспомнить об этом поподробнее, а заодно и послушать побольше музыкальных примеров. И начнём мы не с зарубежной, а с другой, близкой многим местным компьютерным энтузиастам платформы.
Читать дальше →

Цифровая музыка на микрокомпьютерах (часть 1/2)

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров10K

Сегодня, когда любой школьник имеет возможность сочинять модные биты на своём домашнем компьютере или смартфоне, идея применения компьютерных устройств для создания музыки никого не удивляет. Кажется, что эти технологии с нами уже очень давно. Однако, массовому пользователю возможность составления мелодий из фрагментов реалистичных звуков на компьютере стала доступна лишь немногим больше четверти века назад. Поговорим о том, как это устроено, о первых шагах цифровых музыкальных редакторов в дома обычных людей, и о неожиданной запинке, приключившейся на этом пути в странах запаздывающего технического прогресса.
Читать дальше →

Новый год и Atari 2600

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.9K

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

Например, «гифт» — поздравление с днём рождения. Или же более актуальное прямо сейчас: новогодние поздравления. Признаться, я и сам не раз делал подобные вещи. Например, в предыдущий раз я пожелал всем незабываемого нового 2020 года. И так как дата публикации очередной статьи пришлась на конец декабря, это прекрасный повод снова поздравить читателей таким образом, а заодно и рассказать о том, как это сделано.
Читать дальше →

.kkrieger — маленькое чудо большой демосцены

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K
image

Демосцена полна необычными проектами. Однако лишь единицы из них становятся широко известны. Но, пожалуй, самой популярной технодемкой стала .kkrieger — игра в жанре шутера от первого лица с качественной (для 2004 года, когда она была выпущена) графикой, занимающая всего 96 килобайт!

На этом необычные факты не заканчиваются — начиная с сегодняшнего дня вы можете скачать архив с .kkrieger по ссылке, которая транслируется со спутника-сервера RUVDS прямо из космоса! ?‍? Получить её можно на специальном лендинге.
А теперь подробнее про саму игру

HAL в 4000 байт

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров23K

«HAL 4000» – исполняемая программа для Windows размером ровно 4000 байт. Лучшая работа в номинации 4 kb intro фестиваля Chaos Constructions 2017, второе место в чартах портала pouet.net. «HAL 4000» попала в плейлист Best of Demoscene 2017 наряду с работами Farbrausch, Fairlight, Conspiracy, Alcatraz, Byterapers, обсуждалась на вебинаре анимационной студии, демонстрировалась на различных фестивалях.

Необычная история создания этой работы изложена ниже.

Читать далее

Подробный разбор 64b nano game: snake64

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров3.4K

Всем салют!

Очень приятно, что многим зашёл недавний разбор моего 64b intro: radar. Я рад, что у меня, наконец, дошли до этого руки. Лёд тронулся, господа присяжные заседатели.

На сей раз предлагаю вашему вниманию 64-байтовую игру «змейка», того же автора. Да, друзья, это самая компактная по размеру бинарного кода змейка из существующих (у меня даже есть 45-байтовая версия, но не такая симпатичная). И это именно та самая любимая многими вечно голодная змейка со старых мобильников, которая бегает по экрану и постоянно что‑то жуёт, увеличиваясь в длине.

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

Посмотреть что там...

Ближайшие события

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Подробный разбор 64b intro: radar

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров11K

Да здравствует мыло душистое демосцена! И вам привет, дорогой читатель ;)

С демосценой я познакомился примерно 25 лет назад (или чуть больше). Но тогда это выражалось лишь в просмотре 128–256-байтовых интр (и демок, конечно же) с изумлением а‑ля: «А что так можно было?» Думаю, у многих знакомство с этой киберкультурой начинается похожим образом :). Если вам эти слова мало о чём говорят, почитайте о демосцене скудную статью на Вики, ну и/или послушайте подкаст, а также посмотрите что люди умудряются сделать, укладываясь всего лишь, например, в 256 байт кода (справа у большинства работ есть ссылка на видео YouTube).

Полноценные интры на любимом ассемблере x86 я начал писать только 5 лет назад, в 2018 году. Именно тогда я отправил на знаменитый фестиваль Chaos Constructions (который, кстати, организаторы обещают возродить в 2024) два прода (от слова «production»): 256b intro StarLine (заняла 1-е место) и 64b intro radar (заняла 6-е место в том же compo). После этого демосцена меня засосала стала частью моей жизни, в которую время от времени я с энтузиазмом погружаюсь.

Пусть вас не смущает, что разбор я начал с работы, занявшей шестое место, а не первое. Такой выбор обусловлен тем, что её код более простой и короткий. Вместе с тем, там не так уж и мало трюков, с которыми начинающему (а может, и не только) самураю демосцены может быть интересно познакомиться. Так что не надейтесь на лёгкое расслабляющее чтиво :)

Заглянуть за кулисы...

Автоматизация бурления: ChipArp

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.8K

Наиболее знаковым атрибутом видеоигровой музыки 1980-х, несомненно, является арпеджио — технический приём, служащий обогащению гармонии в условиях крайне ограниченной полифонии. Получающееся в результате специфическое «булькающее», «бурлящее» звучание стало в сознании масс своего рода визитной карточкой 8-битной музыки, вызывающей мгновенное узнавание.

Как ни странно, несмотря на многократно выросшую с тех пор мощность современных компьютеров и синтезаторов, в современном музыкальном ПО этот классический приём стал менее доступен, чем раньше. Расскажу о том, почему так вышло, а также о своём довольно старом проекте (2017 год), в котором я попытался решить эту проблему, и почему это не очень-то получилось, хотя и получилось.
Читать дальше →

Архитектура и программирование Sony Playstation 1

Время на прочтение16 мин
Количество просмотров19K

По сравнению с другими, ранее описанными мной архитектурами, архитектура Sony Playstation 1 (PSX) - сравнительно современная. И дело даже не в годе выпуска (1994) - скорее это общее ощущение сочетания новых возможностей и исчезновения привычных старых, которые были типичными для компьютеров и приставок предыдущей эпохи.

PSX (это сокращение пошло от первоначального названия проекта - Playstation X) имеет в качестве центрального процессора MIPS R3000, работающий на частоте 33МГц. Причём, Sony отказалось от сопроцессора для вычислений с плавающей точкой и вместо него сопроцессором в PSX является так называемый GTE (Geometry Transformation Engine), выполняющий различные операции с фиксированной точкой над векторами и матрицами.

Читать далее

Не как у людей — история проекта 1tracker

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров5.1K

Весной 2012 года я опубликовал первую версию экспериментального мультисистемного кроссплатформенного музыкального редактора с интерфейсом типа «трекер» — 1tracker v0.1. Экспериментальность заключалась в проверке новых подходов и отказе от общепринятых стандартов для подобного рода программ. Прошло десять лет, редактор до сих пор экспериментальный, до сих пор мало кому известен, и до сих пор не добрался до версии 1.0. Тем не менее, он регулярно пригождается нескольким странным людям на планете, а новые концепции вполне успешно выдержали проверку временем, хотя вряд ли когда-нибудь станут новым стандартом. Пора выйти из сумрака и рассказать обо всём этом подробнее. И заодно про историю трекеров.
Читать дальше →

Организуем фестиваль для хакеров

Время на прочтение7 мин
Количество просмотров2.9K

Дорогой Хабр, сегодня я пиарюсь. Я хочу анонсировать фестиваль под названием "Undefined". Моя задача - завлечь посетителей, показать, как устроен фестиваль изнутри, с точки зрения админа, а также попробовать найти спонсора.

Если коротко, Undefined - это конкурс компьютерного искусства (т. н. демосцены), конференция, хардварный хакатон, выставка самодельной электроники и робототехники (в том числе, ламповой и электромеханической) от частных коллекционеров, музей ретро-компьютеров и приставок. Фестиваль носит неофициальный характер и делает акцент на самодельные приспособления (от английского DIY, или Do It Yourself).

Чтобы статья не была пустой, я расскажу, как управлять гигантскими часами-табло с помощью микроконтроллера, либо Raspberry Pi.

Читать далее

Игорь, намути мне ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров10K

«В этой статье пойдет речь о том, как сделать свой интерфейс для ChatGPT.» — Так бы я начал этот текст еще пару месяцев назад, когда окончательно устал плясать с бубном вокруг турецких банков, фальшивых европейских номеров и рытья тоннелей к своим серверам на западе. Казалось, технологии, и интернет в частности, должны были сблизить людей, помочь нам осознать себя частью целого, но история пошла по другому пути, и теперь старые технологии ограничивают доступ к новым. Впрочем, если одни двери закрыты, всегда можно сделать другие двери в своей дверной мастерской. А потом вкорячить их в какую-нибудь дыру. Ну вы поняли.

Читать далее

Звучащий код — пишем музыку на языке ByteBeat

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров9.1K

Дорогой Хабр, через два месяца мне предстоит организовать и провести фестиваль компьютерного искусства, поэтому я уже сейчас собираю информацию про необычные проявления демосцены, на которые обычно никто не обращает внимания. Язык программирования для генеративной музыки ByteBeat — это как раз то, что я ищу.

Как вы догадались, глядя на заглавную картинку, сейчас будет нечто, очень похожее на язык программирования Lisp. Все примеры рабочие, их можно запустить прямо в браузере.

Послушать пример из заглавной картинки: [sarpnt][greggman]

Читать далее
1
23 ...

Вклад авторов