Как стать автором
Обновить
8.5
Рейтинг

Демосцена

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

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

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation»

Python *Программирование *Компьютерная анимация *Демосцена
Tutorial

Этой небольшой заметкой я хочу начать цикл статей посвященных алгоритмам компьютерной графики. Причем, не аппаратным тонкостям реализации этой самой графики, а именно алгоритмической составляющей.

Действовать буду по следующему принципу: беру какой-либо графический эффект (из демо, программы, игры – не важно) и пытаюсь реализовать этот же эффект максимально простым и понятным способом, разъясняя что, как и почему сделано именно так.

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

Читать далее
Всего голосов 33: ↑33 и ↓0 +33
Просмотры 5K
Комментарии 9

Новости

Bad Apple на телефоне Siemens CX75

Ненормальное программирование *Программирование *Демосцена DIY или Сделай сам
Увидел я, значит, пост про Bad Apple на MSX и подумал — а чем я хуже? Телефоны Siemens одно время были достаточно популярны на территории бывшего СССР, особенно среди моего поколения. А их прошивки были достаточно хакабельными. Патчи были всякие разные: от замены графики до добавления новой функциональности. И самый апогей патчестроения: т.н. эльфпак или эльфлоадер, он же загрузчик нативных приложений в формате ELF, превращающий обычный кнопочный телефон в, по сути, смартфон.

В этом посте я расскажу о том, как я в 2022 году смог написать и скомпилировать эльф на macOS на М1, и покажу, что из этого получилось.

Читать дальше →
Всего голосов 104: ↑103 и ↓1 +102
Просмотры 17K
Комментарии 87

Bad Apple для MSX на CC'21

Программирование *Математика *Визуализация данных Демосцена DIY или Сделай сам

Если у чего-то есть экран, то там обязана играть Bad Apple!. Именно так думал и я, каково же было моё удивленние, когда узнал, что Bad Apple не существует на MSX. И вот почему... прошу под кат...

О том как рождалась Bad Apple для MSX...
Всего голосов 64: ↑63 и ↓1 +62
Просмотры 8.5K
Комментарии 27

Музыка на Commodore PET — Faulty Robots

Ненормальное программирование *Assembler *Демосцена Старое железо Звук

После выпуска System Beeps, музыкального альбома для PC Speaker, я не планировал возвращаться к псевдомногоголосой одноканальной музыке в формате подобных крупных самостоятельных релизов, считая тему достаточно раскрытой. Это, конечно, не означало отказа от более утилитарного применения подобных наработок при подходящем случае, например, в ретро-игровых или демосценовых проектах для старых компьютеров. Осенью прошлого года на горизонте появился очередной проект подобного плана от автора популярного Youtube-канала The 8-bit Guy, Дэвида Мюррея — игра Attack of the PETSCII Robots для линейки 8-битных компьютеров Commodore, включая PET, VIC-20 и C64. Я уже сотрудничал с Дэвидом на его предыдущем проекте, игре Planet X3 для MS-DOS. Новая затея как нельзя лучше соответствовала моему интересу к персоналкам до-графической эпохи и большому опыту как в области минималистичного компьютерного звука, так и программировании на ассемблере для процессора 6502, поэтому я срочно вписался в работу над проектом, надеясь на этот раз помимо написания звукового кода поучаствовать и в сочинении музыки.

В рабочем процессе возникали разнообразные проблемы, плавно перетёкшие в небольшой производственный ад (скандалы, интриги и расследования можно найти в серии постов в моём Patreon), в результате чего мой код и звуки были использованы только в версии для VIC-20, а музыку к остальным версиям игры написали другие композиторы. Но у меня оставались наработки в виде рабочего кода для PET и набросков композиций. Было жалко отправлять их в стол, ведь релизы для этой платформы — явление крайне редкое, и нового шанса задействовать то, что уже было сделано, пришлось бы ждать долго. Поэтому, с одобрения Дэвида, я принял решение дописать наброски до полноценных треков и выпустить свой альтернативный саундтрек в виде небольшого альбома под названием Faulty Robots, как в виде аудио, так и в формате самостоятельной программы для PET.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.2K
Комментарии 4

Примеры ассемблерного кода для ZX Spectrum

Assembler *Графический дизайн *Демосцена Старое железо
Tutorial

Я не буду делать длинное вступление. Один знакомый хакер однажды сказал, что 10 строк кода могут быть понятнее и интереснее, чем 1000 слов объяснений. Все эти примеры написаны на ассемблере для архитектуры Z80 и запускаются на ретро-компьютере ZX Spectrum 48k.

Что внутри?
Всего голосов 48: ↑48 и ↓0 +48
Просмотры 15K
Комментарии 26

Рисование закрашенных кругов и треугольников на Raspberry Pi Pico с помощью MicroPython

Блог компании RUVDS.com Python *Программирование микроконтроллеров *Разработка на Raspberry Pi *Демосцена
Перевод
Библиотека framebuf — это то, что, при разработке на MicroPython, даёт нам возможности по работе с основными графическими элементами. Например — с текстовыми символами, с прямоугольниками, да и с отдельными пикселями. Это позволяет создать множество интересных изображений. Но весьма полезно оснастить MicroPython ещё и возможность рисования закрашенных треугольников, кругов и колец.

Закрашенные круги

В этом руководстве речь пойдёт о реализации этих полезных мелочей. Здесь же будут продемонстрированы возможности недорогого цветного дислея, состыкованного с Raspberry Pi Pico.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 2.4K
Комментарии 8

Более удобная разработка 64-битного графического UEFI приложения

Блог компании RUVDS.com Ненормальное программирование *Демосцена UEFI *

В предыдущей статье «Разработка 64-битного графического UEFI-приложения в Visual Studio 2019» VS задействовался лишь в двух аспектах: как редактор для кода — «продвинутый Блокнот» — и как отладчик для скомпилированного приложения. Всё остальное — управление зависимостями, настройки компиляции и т.д. — было отдано на откуп фреймворку edk2. Хотелось бы использовать мощь VS как IDE более полно: как минимум заиметь в редакторе кода автодополнение.

Бонусом получим более быструю компиляцию проекта: edk2 ищет изменившиеся файлы во всём своём полугигабайтном дереве, что, очевидно, излишне.
Читать дальше →
Всего голосов 53: ↑53 и ↓0 +53
Просмотры 5.8K
Комментарии 9

Демосцена

Ненормальное программирование *История IT Демосцена Старое железо

"… особую пикантность придаёт тот факт, что всё это по сути бессмысленно..."
/ sq/skrju /



из демо 'We are demo' для Commodore 64, 2020 год)

Чаще всего, попытки объяснить людям, что такое «демосцена», начинаются со слов «компьютерное искусство...». Однако, даже по вопросу о том, что такое искусство, во все времена не было единого мнения. Явление, о котором пойдёт речь, называют искусством скорее в том смысле, в каком говорят об искусстве токаря или плотника, а не скульптора или художника. Что, конечно, не означает, что одно хуже другого.

Слово «демосцена» («demoscene») мало того, что не переводится на русский язык, но даже и на английском имеет не вполне очевидный смысл. Если со словом «demo» всё интуитивно понятно — оно происходит от слова «demonstration» («демонстрация»), то со словом «scene» всё куда сложнее. Своим появлением оно обязано вовсе не театру, как могло бы показаться, а возникшей в конце 1970-х практике нелегального распространения и взлома программного обеспечения, главным образом — компьютерных игр.

Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6.2K
Комментарии 15

Использование Amiga в 2021: создание интро для демопати

Блог компании RUVDS.com Ненормальное программирование *История IT Демосцена Старое железо
Перевод

Олдскульная компьютерная графика, а именно демосцена, продолжает здравствовать усилиями приверженных энтузиастов. Один из участников этой киберкультуры подготовил подробный обзор аудиовизуального интро, созданного им в рамках демопати Revision 2021 года для системы Amiga. — прим. ред.
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 4.4K
Комментарии 3

Разработка 64-битного графического UEFI-приложения в Visual Studio

Блог компании RUVDS.com Ненормальное программирование *Visual Studio *Демосцена UEFI *
Зимой в блоге RUVDS было несколько статей о написании загрузчиков для «классического» BIOS, в т.ч. симпатичная графическая демка, целиком помещающаяся в загрузочном секторе и работающая в VGA-режиме 320×200. Комментаторы справедливо отмечали, что в наступившем 2021 г. нет смысла осваивать это лютое легаси;
а вот статей про “Hello, World” на UEFI да с графикой действительно не хватает. Больше того — я таких вообще не припомню.» (MinimumLaw)
Под катом мы пошагово перепишем ту бутсекторную демку под UEFI, и она будет работать в полноцветном видеорежиме с высоким разрешением. С другой стороны, вместо 512 байт она будет занимать несколько десятков КБ.

Всего голосов 80: ↑80 и ↓0 +80
Просмотры 13K
Комментарии 7

TreeOS. 16-битная рождественская демка в загрузочном секторе

Блог компании RUVDS.com Ненормальное программирование *Assembler *Демосцена


В преддверии Нового Года бороздил просторы сети, и нашёл замечательную демку на ассемблере рисования новогодней ёлки. Демка не простая, а золотая, написана таким образом, чтобы работала в загрузочном секторе диска, фактически микрооперационная система, если её так можно назвать. Из-за большой любви к Новому Году и ассемблеру, решил таки её немного разобрать, и восхититься мастерством автора. Итак, поехали.
Всего голосов 41: ↑39 и ↓2 +37
Просмотры 8.2K
Комментарии 11

Архитектура операционной системы для ZX Spectrum-совместимых компьютеров

Ненормальное программирование *Системное программирование *Демосцена Старое железо
Из песочницы
NedoOS – многозадачная операционная система для «русского ZX Spectrum» со средами программирования на ассемблере, Basic, Pascal, C, NedoLang. Работает на TR-DOS, FAT16 и FAT32 с длинными именами, поддерживает tar, gz, zip, rar2 и практически все реально используемые форматы спектрумовских файлов, сетевые утилиты включают Web-браузер и Web-сервер, Telnet-клиент и Telnet-сервер, IRC-клиент и др. Под ОС пишутся игры, в том числе сетевые. Сейчас в репозитории 6 участников. Исходный код всей системы (58 программ) составляет 230 тысяч строк на ассемблере и 70 тысяч строк на Си.
Читать дальше →
Всего голосов 112: ↑112 и ↓0 +112
Просмотры 28K
Комментарии 68

Пётр Соболев: «В отличие от анимации, демосцена подразумевает написание кода»

Блог компании DataArt История IT Демосцена Старое железо Интервью


Во второй части интервью музейному проекту DataArt Пётр Соболев, также известный как frog — организатор фестиваля ENLiGHT — вспоминает историю европейской демосцены и первую российскую демопати в коммуналке, переделанной под офис Федерации шейпинга.

Напомним, что в первой части речь шла о компьютерах 1980-х и знакомстве с первыми интро и демо.
Всего голосов 39: ↑38 и ↓1 +37
Просмотры 5.9K
Комментарии 16

Пётр Соболев: «Мы просто смотрели, как что-то там летает, и тащились от того, как это сделано»

Блог компании DataArt История IT Демосцена Старое железо Интервью


Демосцена — разновидность творчества на стыке компьютерной графики, музыки и, собственно, программирования, а также сложившаяся вокруг него субкультура. Первые демоэксперименты относятся к 1980-м — времени, когда в Европе и США появилось достаточное количество домашних компьютеров, обладатели которых стремились заставить машину выполнять несвойственные ей задачи. Обычно это были короткие интро к взломанным компьютерным играм, созданные на Commodore 64, Amiga, ZX Spectrum. Расцвет демосцены пришелся на 1990-е, тогда же она пришла и в Россию.

Пётр Соболев, также известный как frog, — один из организаторов компьютерного фестиваля ENLiGHT — первой в России демопати. В первой части интервью музейному проекту DataArt он вспоминает компьютеры 1980-х и рассказывает, как в нашей стране появились первые интро и демо.
Всего голосов 54: ↑53 и ↓1 +52
Просмотры 11K
Комментарии 22

Получение исходного кода PowerPacker Cruncher от AmigaOS

C++ *C *Реверс-инжиниринг *Демосцена Игры и игровые консоли
🔥 Технотекст 2020


Всем привет,


Демо-сцена существует очень давно. Зачастую в процессе разработки очередной крутой демки приходится изобретать крутые алгоритмы: как для красивых анимаций и трекерной музыки, так и для кода. Иногда код получается большого объёма, поэтому его требуется сжать.


Понятно, что можно взять любой доступный алгоритм сжатия и использовать его у себя, но не существовало бы сейчас такого огромного количества различных упаковщиков, если бы всем хватало одного единственного алгоритма. Кому-то не нравится скорость работы, кому-то — качество сжатия, вот и изобретаются всё новые и новые алгоритмы. Одним из них и стал PowerPacker, исходные коды которого хотели получить многие, но удалось только мне.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 3K
Комментарии 11

Как я написал интро 4K на Rust — и оно победило

Алгоритмы *Rust *Демосцена
Перевод
Недавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максимально сократить код Rust.


Можете просмотреть демо-версию на Youtube, скачать исполняемый файл на Pouet или получить исходный код с Github.
Всего голосов 41: ↑41 и ↓0 +41
Просмотры 11K
Комментарии 27

Анализ кода демо Second Reality

Assembler *Работа с 3D-графикой *Реверс-инжиниринг *Демосцена
Перевод

23 июля 2013 года был опубликован исходный код демо Second Reality (1993 год). Как и многим, мне не терпелось взглянуть на внутренности демо, которое так вдохновляло нас на протяжении всех этих лет.

Я ожидал увидеть монолитный хаос из ассемблера, но вместо него я, к удивлению своему, обнаружил сложную архитектуру, изящным образом объединяющую несколько языков. Никогда раньше не видел я подобного кода, идеально представляющего два неотъемлемых аспекта разработки демо:

  • Командная работа.
  • Обфускация.

Как обычно, свои заметки я сформировал статью: надеюсь, кому-нибудь это сэкономит несколько часов, и, возможно, вдохновит остальных читать больше исходного кода и становиться более опытными инженерами.

Часть 1: введение


Демо


Прежде чем приступать к коду, дам ссылку на захват легендарного демо в HD-видео (Майкла Хата). Сегодня это единственный способ полноценно оценить демо без графических глитчей (даже DOSBox не может правильно его запускать).

Всего голосов 33: ↑33 и ↓0 +33
Просмотры 5.8K
Комментарии 6

Making of NES gameinvitro «MULTIDEFENDER»

Разработка игр *Демосцена
Итак, конец марта, на носу Revision 2020, впереди ещё долгий месяц самоизоляции, и всё началось, как обычно, с того, что мы решили написать очередную демку для NES. Конечно, “демка” — это немного громко сказано. Исходя из собственных возможностей и количества оставшегося времени до дедлайна, курс был взят на создание простенькой инвитры к Мультиматографу (российское demoparty в Вологде), состоящей из скроллера с информацией и нехитрого эффекта эквалайзера, основанного на логотипе Multimatograf.


Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 1.2K
Комментарии 6

Как же всё-таки получаются 1024 цвета в CGA? И действительно ли их 1024?

Работа с видео *История IT Демосцена Старое железо Видеокарты
🔥 Технотекст 2020
Запощенный в 2015 г. перевод «Новый графический режим: CGA в 1024 цвета» меня сильно впечатлил, но из него я так и не понял до конца, как этот трюк работает, потому что статья написана профессионалом в области ретро-компьютерной графики, и предполагает, что читатель уже имеет некоторые познания в этой области. Хотя у моего первого компьютера («Поиск» — советский клон IBM PC/XT) и был CGA, но мониторы с композитным входом я не застал, так что мне пришлось гуглить и разбираться, как же композитное видео было устроено. Для тех, кому тоже интересно «нутро» технологий 1981 г., в которых в 2015 г. обнаружились неожиданные недокументированные возможности, я собрал воедино найденный мной материал.

1. Штатные возможности CGA


У обывателя CGA обычно ассоциируется с графикой 320x200 и четырёхцветной палитрой с кислотно-жуткими цветами, как например в играх 1983 г. Alley Cat, J-bird, Lode Runner и Tapper:




Но ограничение 320x200x2bpp накладывается лишь объёмом имеющейся на адаптере видеопамяти (16 Кб), фактически же он способен производить изображение 640x200x4bpp — с пикселями, сильно вытянутыми вертикально.
Читать дальше →
Всего голосов 147: ↑147 и ↓0 +147
Просмотры 20K
Комментарии 28

Самая короткая программа вывода десятичного числа

Ненормальное программирование *Хакатоны Демосцена Старое железо
В 1984-ом году вышла культовая книга Стивена Леви “Хакеры: герои компьютерной революции”. Существует любительский русский перевод, но он далёк от идеала. Я было взялся исправлять неточности в нём, положив рядом английский оригинал (кстати, и он не без греха), да забросил после второй главы. Так или иначе, хочу обратить ваше внимание на фрагмент (можно прочитать его в виде отдельной статьи), посвящённый подпрограмме печати числа в десятичной системе. Насколько можно уменьшить такую программу? Каков предел?
Читать дальше →
Всего голосов 73: ↑71 и ↓2 +69
Просмотры 15K
Комментарии 43

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