Пишем для NES. Краткая версия.

Изложено в формате 'нет времени объяснять'. Подробное раскрытие каждого небольшого пункта потребует статьи большего объёма, чем этот обзор. Это будет сделано впоследствии, если у читателей обнаружатся конкретные интересы.

Хотите написать игру или демо для NES, Famicom, Денди?

Изучаем. Кладезь актуальной мудрости — NesDev Wiki. Вводные для начинающих — Nerdy Nights на английском, другая на русском. Помним, что старые описания неполны и неточны. Отдельно изучаем 6502. Книг и статей много, поиск начинаем отсюда.

Выбираем между ассемблером и C. Тысяча игр на ассемблере, десятки на C. Код на ассемблере в разы эффективнее, на C пишется в разы быстрее. С ассемлером проще получить помощь зала. Для отчаянных есть экзотика, от BASIC до минимальных Lisp и Python.

Выбираем ассемблер. Три популярных, десятки других. NESASM стар, имеет искусственные ограничения (пришёл с MS-DOS, перепилен с PCE/TG16) и мелкие глюки. Легко освоить, большинство старых уроков под него, выдержит средний проект. Современная альтернатива — ASM6, прост в освоении, но не так популярен. Выбор профессионала — CA65. Мощен и гибок, но сложен в освоении (линкер и конфигурация памяти).

Выбираем компилятор C — CC65. Для работы с железом есть библиотеки neslib и KNES, либо пишем свою. По скорости потолок чистого C — подобие Super Mario Bros. Можно писать частично на C, частично на ассемблере, переписывать фрагменты кода по ходу дела. Очень удобно для прототипирования.

Пишем код. Любимый текстовый редактор, bat или make файлы. Есть развитая IDE для CC65 — NESICIDE, но WIP и почти никем не используется.

Рисуем. Отдельные тайлы редактируем непосредственно в YY-CHR, NES Screen Tool, Tile Layer Pro и других, более сложные изображения импортируем из обычных форматов там же. Для сложных проектов может понадобиться свой велосипед. Без трюков NES не может отобразить полноценную картинку на весь экран, аналога Art Studio не ищите.

Музыка и звуки. Два основных трекера, но нужен проигрыватель, выбирается в зависимости от используемого ассемблера. Пишем в FamiTracker, играем FamiTone или Gradual Games Sound Engine. Пишем в Musetracker, играем MUSE. Штатного плеера FamiTracker хватит для простого демо, но не для игр. По желанию пишем свой плеер, оба трекера имеют текстовый экспорт. Для отчаянных есть древности и экзотика.

Делаем уровни. Готовых решений нет. Набираем вручную, пишем конвертер для универсальных редакторов, изобретаем свой редактор.

Для среднего или большого проекта наверняка понадобятся особые конвертеры и утилиты. Пишем на чём угодно, лишь бы работало. Обычно C++ или Python.

Отлаживаем в эмуляторах. Средства отладки развиты в FCEUX и NintendulatorDX. Высокая точность эмуляции в Nestopia и puNES, но отладчика в них нет. Даже самые точные эмуляторы не показывают всех глюков, проверяем во всех четырёх. Если пишем на C с готовой низкоуровневой библиотекой, на железе наверняка заработает. Выжимаем максимум на ассемблере — обязательно проверяем на железе при помощи Flash-картриджей (EverDrive N8, InviteNES, PowerPak — ищем в интернете) или самодельного картриджа и программатора ПЗУ.

Успехов!

ЗаRulem #15

С удовольствием сообщаю, что начата работа над 15-ым номером газеты!
Срок выхода — ноябрь 2015 года.
Ждем Ваши статьи!

Каждому автору опубликованного материала полагается полноцветный экземпляр газеты!

Интересны материалы по следующим направлениям:
1. Действующие на территории России музеи компьютерной ретротехники;
2. Глюки ZX-Evolution и способы их устранения;
3. Авторские истории об известных спектрумистах (группах) начала 90-х;
4. Истории разработки отечественного ПО (игры, демо, системки, пресса);
5. Все о Dizzy (в том числе и о DizzyAge);
6. Статьи по кодингу на Спектруме (не только ассемблер);
7. Коротенькие авторские рассказы о чем угодно;
8. Рецензии на вновь вышедшие игры и демо;
9. Отчеты о прошедших демопати.

И многое другое! Интересно все про Спектрум и про другие 8-бит ретрокомпьютеры.

Пишите в личку или:

Убить Еву

Вот уже неделю не утихают спекуляции на тему зловреда с СС'15, который так никто и не видел. Тут вам и слухи, и догадки, расследования, обвинения… Все это интересно и смешно, но не столь интересно, сколько интересен сам прецедент.

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

Чему?

Steps 2 Heaven/Voices in my mind (double a-side single)


Доброго времени суток.
Как Вы, наверное, знаете, я все свои ay работы, участвовавшие в патях, до 2014 года выпускал синглами. В 2015 году я также поддерживал конкурсы multichannel музыки. Итогом стал небольшой сингл с двумя сторонами A. Заинтересовались? Прошу пройти по ссылке ниже, там можно будет прослушать. Всего 4 трека + 1 бонус.
.: прослушать :.

Компо десятилетия (как минимум; личные заметки о ZX демокомпо на Chaos Constructions 2015)

Много букв про демы я напишу отдельно, в посте у дайвера (sorry, партия сменила вектор, см. тут). Сейчас я хочу сказать про контекст, потому что 50% ощущений от СС в этом году — это именно идеальный, выверенный до миллиметра контекст. Потому что многие привыкли считать что CC медленно угасает, скажем, по сравнению с тем же Di:Halt; многие ждали провала (если невнимательно прочитать сегодняшний http://zx-pk.ru/ то можно подумать, что провал и правда произошёл). С начала года не было ни одной по-настоящему удачной демы для классики и некоторые позёры публично похоронили сцену не раз, не два и даже не три раза. И хотя разбиение компо на 2 дня всё ещё кажется мне ошибкой, в данном контексте он сыграл в чём-то на руку. Показ мелких интр и прочей мелочи был на уровне, но всё же не головокружительным на спектруме (прости меня SerzhSoft, ты сделал МЕГАКРУТУЮ вещь, МЕГАКРУТУЮ, я очень ценю её как кодер и буду изучать, но смотреть я её не могу) и это всё позволило тому же ААА написать на зэхе вечером в субботу, что спектрумовская сцена теперь уже точно умерла, и что он достаточно натрудился и уходит на пенсию. И воскресный показ дем нужно воспринимать именно в этом, немного траурном, контексте.
Читать дальше →

Уютный уголок 8bit

Хочу рассказать вам о том, как я побывал на ForestDump3.0. Это такой небольшой фестиваль восьмибитной культуры. В прошлом году я тоже был у них на мероприятии, но вчера было во много раз круче!

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

Wct, как тулза для демомейкинга

Привет, Хайп!

Всем доброго времени суток!
Начну я этот топик, пожалуй, с этой картинки:



Хочу познакомить демомейкеров с такой тулзой, как Wct — «Wild Coding Tool», ну или же Word oCTal (на самом деле уже должно было быть Word hEX — Wex, но как-то не прижилось).

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

Онлайн-каталоги в ZXTune для Android.

Всем привет!

В связи с тем, что вышедший вчера новый релиз ZXTune для Android пополнился поддержкой еще одного онлайн-каталога, мне захотелось немного рассказать об истории возникновения и развития этой, не побоюсь этого слова, killer feature приложения.


Все началось три года назад...

Iron Maiden - Speed Of Light

Моя любимая группа, да, но и любимая сотнями других демосценеров, например. И да, новый альбом. И да, первый сингл с него. И конечно сотни пиксельной графики — старики никогда не упускали трендов!