Vegs blog

Наверняка, многие из вас помнят многоигровые картриджи для Dendy с романтическим сюжетом в меню и Unchained Melody. Мне давно хотелось сделать ностальгическую демку на основе этого меню, но я не решался погрузиться в изучение ассемблера 6502 и архитектуры NES.

Недавно меня в очередной раз потянуло на эму-тему, и я побрёл по тематическим сайтам. Нашёл очень много интересных проектов, которые вселили в меня светлую мысль: «Я тоже смогу!». IDA да пара справочников в руки — и вперёд! Грязный хак без заставки и списка игр я смог сделать буквально за день, поставив несколько NOP-ов для некоторых вызовов. Но во мне заговорил перфекционист, и понеслась… 2 недели пролетели незаметно, я еле смог остановить себя.

Vegs blog Vegs blog

Итак, ещё пару недель назад я был человеком, чей мозг не был обременён ассемблером, который не знает команды умножения, а уже сегодня я представляю свой первый релиз в этой области — «Unchained Nostalgia».

Что было сделано:

  • Вырезан код отображения заставки, списка и запуска игр, а также весь неиспользуемый код
  • Изменено управление и улучшена его отзывчивость
  • Появились осмысленные облака и звёзды, теперь все сцены уникальны и нет дублей только с изменённой палитрой
  • В добавленные сцены внесены незначительные изменения в положения кораблей для плавности их «передвижения»
  • Исправлены небольшие ошибки в сценах (следы пальм из меню 83-in-1, неверные атрибуты у некоторых групп тайлов и др.)
  • Оптимизирован набор тайлов, сцены упакованы в улучшенный RLE (выигрыш в объёме на 22% без потери производительности)
  • Добавлен эффект плавной смены сцен (медленный при старте, быстрый при просмотре) и эффект вспышки для «фишки»

Для запуска необходим эмулятор (например, Nestopia) и ROM-файл (в архиве unchained-nostalgia.zip). Обсуждение ведётся на форуме emu-russia.net, на Хабрахабре есть другая версия статьи.

Также есть запись демо в действии на youtube.com:

Источник: http://veg.by/