Знакомство с 6502



Написать сей опус меня толкнуло общение с начинающими программистами. Описание процессора не предусматривает сравнения с z80, потому что подобный прием читателей еще больше запутает, ведь среди сообщества гораздо больше Спектрумистов, да?

Итак, приступим.

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

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

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

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

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

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

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

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


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

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

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




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