какой есть приблизительный план при поиске карт уровней
Вначале найти номер уровень в памяти, далее поставить на него брейкпоинт в дебагере эмулятора перед началом уровня. Далее запускаем уровень, т.к. будет много обращений(от 1 до 10-15) к нему составляем список адресов в rom. Среди всех должен попасться тот который отвечает за чтение номера уровня и далее определение по номеру уровня нужной графики, конфигов, карт тайлов и прочее. Поскольку часто ссылки на ресурсы уровня для smd в 4байта, то номер уровня умножается на 4 (move.w (lelel_id),d0 ; lsl.w #2,d0; но может быть просто указан и номер соответсвующего архива, а анпакер уже сам высчитает адрес.
Самый удобный способ проверить за что отвечало данное обращение, подменить в этом месте (например введя код через game-genie, сменив тем самым уровень с 0 (1-ого ) на 1(2-ой). Тогда например загрузится графика 2-ого уровня а не 1-ого. (Счет почти всегда с 0-ого идёт.)
(Пример вместо lsl.w #2,d0, впишем moveq #4,d0 (т.к. 1*4=4 ; adress:7004)
Добавлено позже:Ну а как отличить данные для карт, и данные для, к примеру, чего-то еще?
На smd используй эмуль+скрипт от r57shell к IDA. Надо пробежатся по большей части игры (например скачать прохождение), тогда он(эмулятор) составит карту памяти, где проходило чтение кода. А потом через скрипт дизасмнется в ida. На Nes есть FceuX там тоже составляется карта из кода +данных, но куда ее потом загружать не знаю. (зато там показывает % отделенного )
Добавлено позже:Ну а как отличить данные для карт, и данные для, к примеру, чего-то еще?
Если данные от данных? Ну если сжатые то никак. Только методом тыка.
Если не сжатые то некоторые можно и на глаз определить. Карты тайлов например. Просто надо знать как они выглядят. Несжатаю графику определять не надо т.к. есть тайл-эдиторы.
Что касается конфигов каких-то объектов уровней, то для каждой игры они уникальны и могут быть по своему построены. Ну иногда там например бывает много нулей. Или небольших цифр (<10). Поэтому в WinHex справа они отображаются в виде точек.
Добавлено позже:Возможно, так же есть какой-то продуманный план при поиске банков музыки (SOUND BANKS)?
Ну для начала можно узнать имя используемого звукового движка.