Как воплотить в жизнь мечту детства и запрограммировать что-нибудь для Dendy

от автора

Для меня Dendy всегда была чем-то большим, чем просто приставкой. Я не только играл в неё, но и значительное время провёл внутри неё с паяльником в руках для некоторых простых модификаций. По дороге куда-нибудь я часто размышлял о том, как же создаются эти игры и как это работает внутри. Наверняка, многие из вас когда-то задавались подобными вопросами, такова уж натура будущих IT-шников 🙂

Прошли годы. С некоторой периодичностью погружался в эму-тему, изучая всё новое на тематических сайтах, но я не решался окунуться в изучение ассемблера 6502 и архитектуры NES. Внутренний конфликт рационального и иррационального. Я долго убеждал себя, что мне не нужно тратить на это время, но… сорвался. Глядя на то, какие интересные вещи делают энтузиасты эму-сцены, я взялся за свою давнюю идею со светлой мыслью: «Я тоже смогу!». Две недели пролетели незаметно, я еле смог остановить себя. И да, теперь я знаком с ассемблером без команд умножения, о чём раньше только слышал в песне о программистской молодости.

Очень вероятно, что сейчас вы вспомнили свой первый картридж для Dendy и меню с романтическим сюжетом и приятной музыкой. На таких картриджах никогда не было «серьёзных» игр, и не глядя на громкие надписи типа 9999-in-1, их обычно было что-то около пяти. Но это меню… Разве это не шедевр китайской мысли? 🙂 Мне с детства нравилась эта мелодия (Unchained Melody), а фоновые изображения сейчас навевают кучу ностальгических воспоминаний. Поэтому я взял IDA и дизассемблировал меню 300-in-1, вырезал всё лишнее, исправил ошибки, добавил фейдинг да немного приятных мелочей — и получилась ностальгическая демка Unchained Nostalgia (для запуска нужен эмулятор, например, Nestopia).

Хотите также окунуться в олдскульное программирование? Делюсь самым полезным и интересным, что я нашёл по теме.

Архитектура, программирование и отладка

Раньше для процессора 6502 писали только на ассемблере, выбор инструментов был маленьким, документации было немного и поведение железа было плохо изучено. Сегодня же таких проблем нет. В последние годы были даже разработаны библиотеки для C и полноценные игры на них, которые при этом быстро работают на скромном железе NES.

Современные разработки для NES

Если кто-то считает, что NES — мёртвая платформа, тот ошибается 🙂 Достаточно регулярно выпускаются новые игры и демки. Понятно, что это не массовый рынок, и здесь крутятся, в основном, энтузиасты, но тем не менее… Различных релизов выходит достаточно много, я поделюсь самым интересным и забавным из того, что нашёл сам.

  • CMC 80’s (2000 год) — старая демка, с длинным ностальгическим текстом и даже скрытым посланием
  • High Hopes (2007 год) — наверное, лучшая демка для NES, стоит посмотреть
  • D-Pad Hero (две части, 2009 и 2010 годы) — Guitar Hero для NES 🙂
  • Zooming Secretary (2011 год) — симулятор секретарши, выполненный с хорошей долей чувства юмора (чего только стоит отвлекающий шеф!), написано отечественным разработчиком (Shiru) и имеются исходные коды на C
  • Lan Master (2011 год) — головоломка на сисадминскую тематику с атмосферным звуком, от Shiru, исходные коды
  • Lawn Mower (2011 год) — симулятор газонокосильщика, также от Shiru (талантливый разработчик, да), исходные коды
  • Alter Ego (2011 год) — логический платформер, порт с ZX Spectrum от Shiru, исходные коды на C
  • Chase (2012 год) — это пример простой игры на C к соответствующей статье от Shiru, но вышло так хорошо, что даже жалко, что в игре всего пять уровней (обратите внимание на классные огромные надписи, нехарактерные для NES)
  • Driar (2012 год) — просто приятно выполненная игрушка
  • Retro City Rampage (2012 год) — коммерческая игра для современных консолей, но внутри есть маленький секрет в виде небольшой игры для NES с соответствующим сюжетом, посмотрите это видео о создании NES версии
  • Sir Ababol (2013 год) — платформер-лабиринт от испанской группы разработчиков игр Mojon Twins, написано на C
  • Dune Emperor (2013 год) — демка стратегии (!) под NES, к сожалению, пока что заброшена, автор — русский (Ti_)
  • Kira Kira Star Night (2013 год) — современная коммерческая (и не единственная!) игра для NES от японских разработчиков, цифровая копия для запуска в эмуляторе стоит ≈30$, настоящий картридж стоит ≈200$
  • RetroMiner (2013 год) — майним Bitcoin-ы на NES! 🙂

Зачем всё это?

Если вы задаётесь этим вопросом, может быть это и не для вас. Но на самом деле это очень интересное и увлекательное занятие. Если у вас любимой приставкой была не Dendy, то может быть вам будет интереснее сделать что-то, например, для Sega Mega Drive. Вперёд! И обязательно расскажите о том, что у вас получилось.

Спасибо за внимание

Если вы знаете что-то ещё полезное или интересное по теме — обязательно делитесь в комментариях.

ссылка на оригинал статьи http://habrahabr.ru/post/201864/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *