Разработка и ромхакинг > Ромхакинг и программирование
Выдирание игр из многоигровок НЕС.
(1/8) > >>
Temon:
Собственно хочу вынуть пару игрушек из многоигровки на дендике.
Цель мероприятия - извлечение хаков нескольких популярных игр и последующее их использование на локальном сервачке. Связанно это с тем, что не все эмуляторы одинаково кузявы - например, возьмем мои любимые танчики. Сам по себе батл сити рубит без маппера. А вот многоигровка, на которой этот самый батл сити зашит, юзает маппер, позволяющий, к примеру, выбирать игры. не факт, что этот маппер поддерживают все поголовно эмуляторы. Соостветственно, если этот батл сити чем то примечателен, и меня попросят запульнуть его на локальный сервер, не всякий желающий сможет в него поиграть без смены эмуля. Вот такие траблы =))

Хотелось бы узнать: какие меня могут поджедать подводные камни в этом деле, что посоветуете для начала прочитать? С чего начать? Тоесть я примерно даже уже определил где в коде ромки начинается код искомой игрушки, но путём банального вычленения кода в отдельный файл там дело не ограничевается, как я андерстенд.

Необходимые тулзы типа хекс-редакторов там, всякого роду тайл-редакторов, пива и прямых рук присутствуют.

Обещаю не задавать глупых вопросов типа "а скиньте очень подробную инструкцию!" или "чем бит отличается от байта" и "а почему x86-ассемблер не работает". Хочу обмен опытом, во как.

Я знаю - проще попросить кого-нить типа Санчеза или других гуру, но хочу освоить сам. Собсно если доходчиво ответит именно Санчез, то будет суперъ. На сколько мне известно, он игрушки из ромов уже вычленял. Ну а уж если не получится самому, то тогда уж буду просить вынуть игруху кого то из ром-хакеров нашего городка.
CaH4e3:
Выдирать игры на нулевом маппере типа танчиков - элементарно.

1. Берешь многоигровку и nesimage, делаешь "nesimage s <file.nes>".
2. Режешь *.prg файл на куски по 16 и по 32 килобайт любым резаком, хоть ДосНавигатором.
3. Режешь *.chr файл на куски по 8 килобайт.
4. Переименовываешь каждый 16 или 32 килобайтный кусок в *.prg.
5. Переименовываешь 8 килобайтные куски в *.chr.
6. Делаешь для всех "nesimage j <file>".
7. ?????
8. PROFIT!

Камней всего три:
1. Надо найти пары, соответствующих друг другу *.prg и *.chr кусков, в чем легко может помочь оригинал.
2. Иногда графика сидит в *.prg многоигровки, так что и на куски по 8 килобайт надо порезать именно его.
3. Восстановить шесть последних байт *.prg по оригиналу, если они изменены.
Temon:
Исчерпывающе. Спасибо, буду пытаться.

Добавлено позже:
Так... Попробовал, вышло распаковать кой-какие игрушки из тестовой многоигровки, но не совсем гладко. Многоигровка в инклуде лежит.
Нормально распаковался Ice Climber - с ход без танцев с бубном запустился. Путем лазанья TileLayerPro и HEX-едитором по многоигровке подобрал какой prg к какому chr, написал батник и срастил. Собсна айсклаймбер сразу завелся. Галаксиэн тоже, но вырезался вместе с менюшкой. Думаю, это просто лечится. Сейчас это для меня не главное на самом деле. Теперь по остальным играм. При открытии выдавался CPU Jam. Поменял 6 байт в конце prg у танков - выбрал их, так как вариант Pro Battle City с многоигровки являлся хаком. Подмена байтов результата не дала - экран остался серым. Копнул глубже - открыл prg оригинала танчиков и prg из многоигровки, стал сравнивать построчно (о майн гот! =)), поменял в нескольких местах по нескольку байт на значения оригинала. Собственно заработало, но не как Pro Battle City, а как оригинал. Затем я посмотрел в конец prg обоих вариантов игры. Различия существенные. Подозреваю, что в конце prg из многоигровки лежит второй "загрузчик", который и запускает вариант pro BS. В оригинальной игре там всё забито FF. Я правильно предпологаю? Потому что если да, то я буду пытаться его оттуда выдернуть и поставить куда надо, а если нет - то хз еще. Там кода много, не хочется лезть будучи не уверенным, а то закопаюсь на долго =))
Temon:
Э... Воюю с досом =) Runtime error on 200.
HardWareMan:

--- Цитата: Temon от 18 Март 2009, 10:53:03 ---Э... Воюю с досом =) Runtime error on 200.
--- Конец цитаты ---
Хахаха!. Ищи медленный комп или юзай досбокс но на малых оборотах.
Temon:
Самое забавное - когда только скачал и написал второй монстрячный пост - всё работало. Придётся снять со стенки какую нить материнку...
Teffycom:
Кто-нибудь может выдрать из этой многоигровки зимнего бомбермена? Я пользуюсь встроенным эмулятором NES на ките, а он поддерживает маленькое кол-во мапперов.
Париться с досбоксом неохота.
evgeny:
Вот
Teffycom:
evgeny, спасибо большое!
Teffycom:
Может еще кто-нибудь выдрать из многоигровки Famicon Yarou Vol.5 7-in-1 (Unl) [!].nes хак Future Tank? Это глобальный хак танчиков, в хаке новая графика и уровни. Да и вообще, было бы круто повыдирать оттуда все игры, так как вся многоигровка состоит из довольно оригинальных хаков.
evgeny:
А мне больше понравился pulveration. По-моему куда более глобальный.
Teffycom:
Ух ты! Где нарыл?
Guyver(X.B.M.):
Опишите как прога разбивает файл многоигровки. Сам процесс, т.е. алгоритм разбивания, подробный. Может кто напишет прогу под винду (может и я), а то из под доса не запускается. А мне нужно вытащить 1 игру из рома позарез... Папику на телефон. Игра только на многоигровке существует...

Добавлено позже:
Разбивать-то вроде не сложно. Такая прога пишется за 20 минут? Сложнее совмещать ром из кусков, но это можно отдать на совесть пользователю. Просто будет вводить в 2 поля разные части и смотреть на результат...
evgeny:

--- Цитата: Cool-Spot ---Ух ты! Где нарыл?
--- Конец цитаты ---
Из дампа Санчеза Dreemgear
Teffycom:

--- Цитата ---Папику на телефон.
--- Конец цитаты ---
Мне Future Tank тоже на телефон нужен :)
evgeny:
Если игра не более 32кб, то можно просто запустить ее из многоигровки на fce ultra, сдампить область памяти 8000-FFFF, Добавить в конец рома графику и в начало заголовок (4E45531A020101000000000000000000 , последняя единичка может быть нулем в зависимости от мирроринга).
Teffycom:
evgeny, миллион благодарностей! А она, оказывается, с моим старым переводом. Сейчас поправлю и выложу англ версию.

Добавлено позже:
Так, вот нормальная английская версия.
Lipetsk:

--- Цитата: Cool-Spot от 02 Январь 2011, 15:27:05 ---evgeny, миллион благодарностей! А она, оказывается, с моим старым переводом. Сейчас поправлю и выложу англ версию.

Добавлено позже:
Так, вот нормальная английская версия.

--- Конец цитаты ---
Cool-Spot,ну тогда уж лучше нормальную русскую версию выложи.
Teffycom:
Русскую выложу, как доделаю.
Guyver(X.B.M.):
Хм. Действительно, всё не так уж и трудно, если игра мелкая, я вот вынул то что хотел из многоигровки, судоку:

http://chief-net-rezerv.narod.ru/sudoking.rar

Добавлено позже:
Жек, а если игра больше чем 32 кб? Как быть? Опиши подробнее...

Добавлено позже:
Пробовал вынуть танк А 1990. Я вытащил его, но в заставке есть косячок маленький - она на 1 кадр показывается, а потом фон исчезает. Остаётся виден только танк... Пока не получается исправить... Косяк этот был в самом роме, во многих ромах, точнее...

http://chief-net-rezerv.narod.ru/tank_a_1990.rar
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии