+344.48
Рейтинг
1080.83
Сила

Alex

Thinking in Binary: The Making of HoustonTracker 2

На недавнем Revision 2017 один из главных активистов однобитной музыки, utz (irrlichtproject), выступил с докладом об истории разработки им трекера HoustonTracker 2 для 8-битной (на Z80) линейки графических калькуляторов Texas Instruments — TI-82, TI-83 (TI-82STATS), TI-83+/84+/SE. Рассказ довольно мало касается собственно трекера, музыки, и однобитного синтеза звука, но даёт очень много интереснейших подробностей о самой платформе и сложностях, поджидающих новичков на пути её освоения.

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



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

VT2i и другие чиптюновые VSTi

Краткий обзор моих свежих VSTi-плагинов, предназначенных для внесения элементов чиптюна в музыку для широких масс, либо создания полных стилизаций под чиптюн в современных аудиоредакторах типа FL Studio, Reaper, Cubase, и им подобных. Все они объединены общей концепцией брутального минимализма, отсутствием GUI (интерфейс предоставляет ваша DAW) и полностью открытым исходным говнокодом.

Изучаем.


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

Разработка для Atari 2600 в браузере

Крайне интересный сайт для тех, кто хотел бы освоить программирование для Atari 2600. Содержит реализованную на HTML5 связку из эмулятора и интегрированного с ним ассемблера с хорошими отладочными возможностями, а также 36 примеров прекрасно документированного кода — начиная от простейшего, типа hello world, продолжая постепенным ростом сложности и освоением аппаратных средств платформы, и заканчивая довольно сложными этюдами, такими как классические трюки с выводом текста и 6-значных десятичных чисел (на 2600 очень трудно отображать текст) и отображением дороги в перспективной проекции, как в гоночных играх. Не обойдён вниманием и звук, поддержка которого также присутствует. В общем, всё, что нужно, чтобы начать писать собственные игры или демо.

Среди интересных возможностей — ассемблер умеет показывать время выполнения команд в тактах, что очень актуально для 2600, где вся работа с графикой напоминает по своей сути мультиколор или бордюрные эффекты на ZX Spectrum.

Напоминаю, что несмотря на близкую к предельной древность (1977 год) и крайнюю ограниченность технических средств (например, всего 128 байт ОЗУ и штатно максимум 4096 байт ПЗУ для программы), на платформе существует довольно активная сцена, создающая немало интересных продов. Прекрасный выбор для поклонников минимализма в поисках самых крупных и самых остроугольных пикселей.

Посетить незамедлительно!

Wolfenstein 3D на Game Boy Color

Куда уже только не добрались любительские порты Wolfenstein 3D. Мы уже видели впечатляющие результаты на ZX Spectrum 48K, Atari XL, Sega Genesis. Все эти проекты объединяет стремление адаптировать или написать новый код, работающий в рамках оригинальных возможностей ретро-платформ.

Game Boy Color, с его недо-Z80 на частоте 8.3 МГц с сочетании с маленьким разрешением экрана — довольно интересная платформа для подобных экспериментов. Попытки реализовать игры, аналогичные Wolf 3D, уже были, но они отличались графикой совершенно без текстур с не очень высокой скоростью работы.

Автор находящегося в процессе разработки нового порта Wolfenstein 3D для GBC решил пойти нетрадиционным путём — получить полноценную графику и высокую частоту кадров за счёт применения сопроцессора в картридже. Игра работает на 32-битном микроконтроллере производства NXP с ядром ARM Cortex-M0 на частоте 48 МГц, 16КБ ОЗУ и 128КБ ПЗУ. Интерфейс с GBC представляет собой двухпортовое статическое ОЗУ объёмом 8КБ, в которое с одной стороны идёт рендер видеобуфера от микроконтроллера, а с другой GBC забирает готовые тайлы для отображения. Также на плате присутствует 8-битное ПЗУ объёмом 512 килобайт для обычного GBC кода и маппер MBC1 для работы с ним.

Больше подробностей на странице проекта.

Бипер 20XX - обзор биперных движков 2010-2015 годов

Стараниями небезызвестного Мистера Бипа, с середины 2000-х годов давно позабытая биперная музыка вдруг пережила второе рождение. Волна интереса среди отдельных энтузиастов привела к появлению редакторов для старых биперных движков, а потом и новых движков, что в свою очередь привлекло новых авторов биперной музыки, а в результате добавилась и неплохо прижилась новая категория музыки на многих демопати. Практически случился настоящий биперный ренессанс.

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

В данном обзоре я кратко рассмотрю все известные мне биперные движки для ZX Spectrum, созданные в 2010-2015 годах. Обзор не включает некоторое количество классических движков 1980-х годов, также возвращённых к жизни за этот период.

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

NES - измерение времени выполнения кода

При разработке для ретро-платформ нередко возникает необходимость сделать оценку быстродействия разных частей программы — то, что в современной практике называется 'профилированием'. Например, после добавления новых возможностей в игру её логика перестала укладываться в один кадр, начались замедления, и требуется выяснить, на какой части кода нужно сосредоточить усилия по оптимизации в первую очередь. Конечно, для небольших фрагментов кода на ассемблере всегда можно (и нужно) посчитать время выполнения в тактах вручную, но на больших участках со сложной логикой, либо при написании программы на языке высокого уровня, этот подход не годится. Рассмотрим, какие способы решения этой задачи есть в арсенале современного разработчика для NES.


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

Разбор полётов: демо High Hopes на NES

За редкими исключениями, игровые приставки не завоевали сколько-нибудь заметной популярности в качестве демо-платформ. Эту участь разделяет и NES, оставаясь лишь изредка всплывающей в демо-конкурсах в категориях wild или oldschool экзотикой, а большинство работ для неё в основном примечательно самим выбором платформы. За многие годы существования сцены любительской разработки для NES, демо, в отличие от игр, было написано немного. На Pouet их перечислено всего десять. Наиболее высоко оценённым и популярным из них до сих пор заслуженно является High Hopes, занявшее на Assembly 2007 первое место в категории oldskool demo. На его примере сегодня мы разберём, какие особенности и хитрости применяются при реализации классических демо-эффектов на NES.




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

Карта памяти NES

Одна из первых вещей, которую приходится изучать при освоении низкоуровневого программирования для новой платформы — её карта памяти, то есть где в адресном пространстве находятся ОЗУ, ПЗУ, регистры устройств и тому подобное. Если простота устройства ZX Spectrum, которое можно описать одним предложением — 'нижние 16 килобайт ПЗУ, остальное ОЗУ, экран в начале ОЗУ, весь ввод и вывод через один порт' — позволяет не особо задумываться о самом существовании этого вопроса, то у многих других современных ему платформ дела обстоят несколько сложнее. В особенности это справедливо для NES, карту памяти которой, а также причины именно такой её организации, мы и рассмотрим в этой статье.


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

Дважды портативный ZX Spectrum

На протяжении многих лет на нашей сцене неоднократно поднималась тема портативного ZX Spectrum. Начинались и затихали обсуждения и споры на форумах, появлялись и исчезали сайты проектов, закупались и раскладывались стройными рядами микросхемы и экраны Nintendo DS, а результат так и не был достигнут. Со временем технический прогресс сделал идею неактуальной, дав каждому желающему возможность заполучить карманный ZX прямо в своём любимом смартфоне, планшете или карманной приставке. Но то, о чём мечтали спектрумисты начала века — железный портативный Spectrum, с реальным Z80, с настоящей клавиатурой, в своём собственном корпусе — всё же свершилось, и прошло у нас практически незамеченным.

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