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

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


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

Как за месяц выучить zx basic и написать дему или making of “white stars”. Часть #1

Записи велись во время написания демо со 2 ноября 2015 года.

Напомню, 7 сентября 2015 года, было объявлено забавное и необычное демокомпо — BASE-X. Необычность его в том, что принимаемые на компо демо должны быть написаны исключительно на zx basic. Интерес к бейсику есть, о чём говорит не нулевое количество демо, написанных на бейсике и возникновение компо — это весьма закономерное событие.

Мне всегда был интересен бейсик с точки зрения простоты понимания его непрограммистом. А уж что может быть проще, чем реализация бейсика на zx spectrum? Фактически, не являясь программистом, взять и что-то написать на бейсике — довольно просто и я уже не раз предпринимал попытки (EVM — 3bm openair 2011, 3bm heartbeat — 3bm 2015) что-то сделать по-быстрому, используя обрывки воспоминаний из детства и первый попавшийся гаджет под рукой — Nintendo DS с эмулятором ZX Spectrum. Но ведь всегда хочется чего-то большего и цельного, а не просто попытка попищать бипером и показать что-то на экране. А после выхода таких замечательных продуктов, как Silabba, Back to basics и Silent attraction зудеть стало еще сильнее…


Посмотрим, что там назудело?

Artfield 2015: Проблема №1

Господа, у меня к вам немного нытья предложение от которого трудно отказаться.

В общем, у фестиваля назрела первая проблема (уже назревает и вторая, но об этом позже) — выступать некому. Вот от слова совсем. Поэтому у меня к вам просьба: приезжайте, расскажите что-нибудь интересное. Я даже готов оплатить билеты туда-обратно, если не очень далеко (Москва или ±500 км от Воронежа в другую сторону).

Серьезно. Тут же собрались самые крутые ребята демосцены. Расскажите, как кодить под спектрум. Как рисовать Gigascreen. Как управляться с трекерами для Turbosound (я, например, открыл, офигел и закрыл, нигде никаких FAQ). На выходе будем иметь презентации, видео вашего выступлению и большущий респект.

Я бы пошел в личку к каждому, если бы знал, к кому.

Друзья, мне нужна ваша помощь, серьезно.

Формат записи программы Апогея БК-01 на магнитофон

Всем привет. Что-то нашло на меня, и я, полный сил и уверенности в себе, решил разобраться с апогеем. Первым делом возник вопрос с эмулятором. Мне посоветовали Emu80, в котором находятся аж сразу несколько эмуляторов советских ПЭВМ — Апогей БК-01, Партнер, ЮТ-88, Радио-86РК, Микроша и другие.

После первого запуска апогея я запустил демку моего друга Kakos_nonos — «This Is Apogey 2». Файл успешно считался при помощи использования команды «I», но Какос не любит считать контрольные суммы, поэтому после её проверки появился вопросик. Само видео запуска вы можете лицезреть ниже.



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

Прием заявок на events.retroscene.org

Здравствуйте.

Наконец дошли руки настроить приём работ на events: http://events.retroscene.org/af2015.

Шесть конкурсов:
  • ZX Graphics
  • NES Graphics
  • Artfield Pixelart
  • ANSI-art
  • AY Music
  • NES Music

Если какие-то ошибки в оформлении или подаче материала — буду рад услышать и исправить.

P.S. Я не слишком много пишу? Специально завел отдельный бложек, а он весь на главной. Это никого не напрягает? Можно посты как-то убрать из ленты или лучше не стоит? Извините, если выгляжу глупо с постами или вопросами, я не знаю, как тут заведено =)

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

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




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

Artfield 2015: JUNIOR


Анонс

28 ноября 2015 года в Воронеже состоится 12 фестиваль ретрокомпьютеров ArtField.

Впервые в этом году фестиваль состоится в новом формате фестиваля искусства. Долгое время мероприятие проходило в формате выставки ретрокомпьютеров, но всё меняется, пришло время и нашему фестивалю стать чем-то иным.

Дата проведения фестиваля
28 ноября 2015

Место проведения фестиваля
Воронеж, главный корпус Воронежского Государственного Университета

Посещение фестиваля бесплатное.

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

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

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


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