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

Демосцена *

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

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

Самый маленький эмулятор x86

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

Копаясь в проектах-победителях IOCCC, неожиданно наткнулся на самый маленький эмулятор x86 архитектуры на свете — 4043 байт!

Читать далее

Новости

Развлечения джентельменов: Binary Golf

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

Перепробовав все возможные излишества, девиации и грани декаданса, истинный джентельмен всегда возвращается к компилятору.

Причаститься

Реверс-инжиниринг 128-битного дракона

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


КДПВ для этой статьи сгенерировала программа размером всего в 16 байт. Под катом разберёмся в том, как в столь скромном объёме сумел спрятаться дракон и какие силы поддерживают его жизнь. Для лучшего понимания происходящего мы портируем эту красоту на JavaScript.

Читать дальше →

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 05 — GDI рендер

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

Приветствую, Хабравчане!

В данной статье опишу реализацию GDI рендера для Windows. Узнаем как программировали деды под windows в середине 1990-ых. И наконец создадим функциональный рендер, с возможностью рисовать все типы изображений.

Loading, please wait

Истории

Блокбастеры в нескольких килобайтах: панорамная история демосцены

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

Даниил Шеповалов однажды сказал: "чтобы сделать классную демку, необходимо было быть гением в математике, программировании, теории оптимизации, уметь рисовать черные квадраты не хуже Малевича и сочинять такую трекерную музыку, чтобы после ее прослушивания DJ Грув отрастил длинный хаир и ушел играть в подземный переход на губной гармошке. <...> Кодер — это ого! Кодер — это огогого!!! Почти каждый из них круто сечет фишку еще и в алгоритмизации, дискретной математике, методах оптимизации и хрен еще знает в чем. Бывает правда, что кодер и не догадывается, как называются дисциплины, которые он знает в совершенстве, но это уже дело десятое".

Сегодня в фокусе уникальный жанр программирования, за которым кроется целая бездна: история технологий, человеческие судьбы, удивительные культурные артефакты. Постараюсь рассказать о демосцене так много, как только получится. И да, в статье вы найдете огромное количество потрясающих видеороликов, иллюстрирующих это уникальное явление, признанное в некоторых странах Европы культурным наследием UNESCO.

Читать далее

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 04 — Компиляторная археология

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

В данной статье затронем частичку компиляторной истории. И постараемся собрать проект под компилятор 1995 года. Вы спросите, но зачем? Я отвечу: Потому, что можем!

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 03 — Начинаем разрабатывать фреймворк

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

Приветствую, Хабравчане!

В данной статье я начну реализацию кроссплатформенной библиотеки LDL. Опишу её исходный код, архитектуру. Пока библиотека умеет только рисовать несколько примитивов, но я только в начале реализации. Если интересно заходите.

Loading, please wait

Совмещаем Ассемблер и Си в одном проекте

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

Здравствуйте, на связи nikhotmsk с очередным потоком сугубо-технических мыслей. В своей прошлой статье я обещал не использовать жаргонный язык и улучшить читаемость статей. Так вот, сообщаю, что из этого ничего не получилось. Поэтому если вы ничего не поймете, то это значит, что у вас не хватило знаний, как говорил персонаж из книги - "Чтобы что-то узнать, надо уже что-то знать". Но расстраиваться не нужно.

Глядя на главную картинку вы уже почувствовали неладное. Да, я программирую для старинного компьютера ZX Spectrum. Того самого, который построен на чипе Zilog Z80, и у которого графическая память, пожалуй, самая запутанная среди всех ретро-машин. Но наша статья не об этом, а о том, как всё же совместить Ассемблер и Си. Методы, описанные здесь, скорее всего подойдут и к вашему проекту. Ведь теория остается неизменной.

Поехали

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 02 — Рисуем в Windows

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

Приветствую Хабравчане!

В прошлой статье получилось создать минимальную программу "Hello world!" размером 3,5 кб. Теперь будем рисовать нативными средствами Windows.

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 01 — Маленькая программа

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

Приветствую, Хабравчане!

Решил сделать цикл статей по написанию на С++, различных небольших программ. Под новые и старые ОС. Мне кажется мы стали забывать как раньше программировали:) Для себя определил несколько важных критериев.

Loading, please wait

256 байт веселья, или как развлечь себя Ассемблером когда скучно

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

Это еще одна статья про демосцену, сайзкодинг, ассемблер, MS‑DOS и ретрокодинг. То есть, о том, как ночами напролет добровольно и бесплатно писать бесполезный и очень трудоемкий код, и получать от этого массу удовольствия (и седую бороду). Даже если вы уже пробовали и вам не понравилось, вам все равно стоит почитать. Возможно, вы что‑то делали не так. Например, использовали не те буквы и цифры. А еще тут есть подборка «демок» размером в 256 байт!

Читать далее

История авиасимуляторов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8K
Глюк с мостами в MSFS 2020

Ходят слухи, что современные игровые симуляторы типа Microsoft Flight Simulator (MSFS) реально используются в обучении будущих пилотов. Честно говоря, в такие слухи не очень верится: это как изучать боевые искусства по Mortal Kombat. Но потрясающий реализм современных игр как бы намекает, что всякое возможно…

Если дать игроку штурвал, шлем VR, кресло на гидравлической платформе с наклонами и тряской (5D), то это будет похоже на пилотирование настоящего самолёта. Есть реальные истории, как после многолетней игры на MSFS люди спокойно сдают на лицензию пилота, потому что в одномоторнике им известны все элементы управления.

А на гражданском лайнере полёт вообще бóльшую часть времени на автопилоте.
Читать дальше →

Новогодний DIY: В лесу крутилась ёлочка

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

Незаметно подошло время новогодних праздников, а значит, самое время сообразить очередной тематический проект. Например, электронную самоделку. Например, прилагательное ёлочку из светодиодов. На Ардуино. Но не спешите расходиться с постными лицами, ведь я собираюсь вращать её со скоростью 1800 оборотов в минуту! Надеваем защитные очки и приступаем к созданию праздника.
Читать дальше →

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

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Толкаем байты, или Простейший эмулятор своими руками

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

Есть хороший способ начать свой путь в системное программирование: написать эмулятор и ассемблер для какого-нибудь простого процессора. Сегодня популярностью в узких кругах пользуются fantasy consoles: виртуальные игровые приставки в ретродухе. Я расскажу, как создать свой вариант виртуальной приставки BytePusher с процессором, имеющим всего одну команду. Если вы интересуетесь системным программированием, любите изучать необычные архитектуры процессоров или цените произведения из области демосцены, то эта статья для вас.

Читать далее

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

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

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

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

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

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

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

Читать далее

Демосцена и FreeBSD

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

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

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

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

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

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

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

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

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

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

Пошумим же!

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

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

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

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

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

Читать далее

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

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

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

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

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

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