Автор Тема: FC V3 Famicom Dumper  (Прочитано 327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн warezhunter_

  • Пользователь
  • Сообщений: 250
    • Просмотр профиля
FC V3 Famicom Dumper
« : 22 Сентябрь 2024, 07:45:28 »
Наткнулся я тут на алиэкспрессе на дампер картриджей https://aliexpress.ru/item/1005006025934882.html
Решил его взять. После того, как он ко мне пришел я решил попробовать сдампить 7 in 1 с того же алиэкспресса https://aliexpress.ru/item/32957095325.html
Картридж устроен так, что при включении консоли, высвечивается меню, где можно выбрать игры Rockman с 1 по 6 части, а при нажатии на Reset стартует игра Wily & Right no Rockboard - That's Paradise, при следующем нажатии на Reset снова выходит меню.
Определяется в клиенте:
--Cartridge information--
Title: Wily & Right no Rockboard - That's Paradise (Japan)
Description: ワイリー&ライトのロックボード ザッツパラダイス
Publisher: カプコン
Year: 1993/1/15
PRG Size: 256KB
CHR Size: 0KB
Либо
Cartridge information is not in built-in database.
Try manual-setting and dump.
Debug information: af2fa183
На самом картридже вижу микросхему AX5202P, посмотрел даташит на неё и оказалось, что это маппер ММС3 (Mapper 4). Ну сдампил я его с теми настройками, что указано в скриншоте ниже, и что получилось я приложил.
На FCEUX 2.6.6 выходит меню с артефактами.
Цель: получить ром, при запуске которого с эмулятора стартовало меню с работоспособными шестью частями игр Rockman, игра Wily & Right no Rockboard - That's Paradise (Japan) не нужна.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2236
  • Пол: Мужской
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #1 : 23 Сентябрь 2024, 09:36:17 »
Дамп китайских многоигровок это творческий процесс, и ты должен хоть немного разбираться в программировании под nes. Нужно смотреть поддерживает ли софт дампера скрипты. И на каком языке. После этого в  эмуляторе ставишь боэкпоинты на запись в регистры и смотришь как переключаются банки с играми. После этого описываешь в скрипте переключение банков и дамп каждой игры уже как обычные mmc3, прокатит только если самоблокировки регистра с банками нет. Маппер это не одна микросхема, а вся схема, поэтому это точно не 4 маппер. Не факт, что после дампа ты сможешь запустить это всё в эмуляторе, если только в эмуляторе нет похожего марпера.


Оффлайн warezhunter_

  • Пользователь
  • Сообщений: 250
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #2 : 28 Сентябрь 2024, 07:06:27 »
Скорее всего здесь 4 маппер, меню сделано под него и все остальные игры хакнуты под него.
Скачал другой клиент и с помощью него обновил прошивку дампера. Всё что мне удалось сделать, это снять дамп под маппер 4, в котором на FCEUX запускается меню и игра Rockman 5 с артефактами. Подозреваю, что если выставить параметр PRG Size больше чем 2048, начнут запускаться другие игры из меню, так как клиент снимает дамп не полностью, но клиент не дает мне это сделать, параметр PRG Size больше чем 2048 KB в клиенте не выбирается.
« Последнее редактирование: 28 Сентябрь 2024, 07:15:40 от warezhunter_ »

Оффлайн mutabor

  • Пользователь
  • Сообщений: 297
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #3 : 28 Сентябрь 2024, 08:35:43 »
Подозреваю, что если выставить параметр PRG Size больше чем 2048, начнут запускаться другие игры из меню, так как клиент снимает дамп не полностью, но клиент не дает мне это сделать, параметр PRG Size больше чем 2048 KB в клиенте не выбирается.
Нет, это так не работает. MMC3 физически не может адресовать более 2МБ памяти - просто в регистре нет больше адресов. Мапперы многоигровок, такие как SMD133, для адресации большего объема памяти имеют дополнительные регистры, и софт дампера естественно должен уметь с ними работать. Если же софт заточен только под MMC3 и ни про какие другие мапперы и доп. регистры не в курсе - он не сможет работать с такими картриджами.  Естественно все не ограничивается SMD133 - мапперы бывают разные, с разными адресами и конфигурацией регистров, и под каждый должна быть реализована поддержка в софте дампера. Нужно найти нормальный софт, или писать самому если нету.
Карик из 1го поста вообще непонятно на каком маппере - нужно изучать схему и регистры, идентифицировать и реализовывать его поддержку в дампере. Кстати там в софте из 1го поста есть выбор маппера - большой список?
Кстати SMD133 стартует в режиме MMC3-512, так что если такой карик дампить как MMC3-2048 то сдампится 4 копии по 512, т.к. старшие адреса MMC3 заблокированы.
« Последнее редактирование: 28 Сентябрь 2024, 08:54:04 от mutabor »

Оффлайн warezhunter_

  • Пользователь
  • Сообщений: 250
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #4 : 28 Сентябрь 2024, 10:00:49 »
Кстати там в софте из 1го поста есть выбор маппера - большой список?
Я выше выложил более новую версию клиента MultiDumper_full_win_20240802, в нём есть папка mapper в которой есть файлы с расширением *.nut, в этих файлах прописаны все параметры на языке C. В принципе при необходимости можно написать все функции для своего маппера и добавить в эту папку и подключить к софту.

Оффлайн mutabor

  • Пользователь
  • Сообщений: 297
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #5 : 28 Сентябрь 2024, 21:06:28 »
Посмотрел сдампленный ром - там 8 раз задублированный 5й рокмен со встроенной менюхой, без CHR. Обращения к доп регистрам такие:
режим адрес hex bin
start 6000 0   00000
game1 6800 12   10010
game2 6800 16   10110
game3 6800 4   00100
game4 6800 19   11001
game5 6800 0   00000
game6 6800 1B   11011

При этом оригинальные игры имеют следующую раскладку:
Rockman 1 UNROM 128+0
Rockman 2 MMC1 256+0
Rockman 3 MMC3 256+128
Rockman 4 MMC3 512+0
Rockman 5 MMC3 256+256
Rockman 6 MMC3 512+0

Очевидно первые 2 рокмена перепатчены под MMC3. Функционал доп регистра видимо такой:

0: 0 - MMC3-256, 1 - MMC3-512;
1, 2, 3: PRG addr, bit2 видимо также используется как старший адрес CHR;
4: 0 - CHR ROM, 1 - CHR RAM

Обращение по 6800 вероятно лочит регистр от записи.
Так что можешь теперь реализовывать все это в скрипте и дампить, как минимум каждую игру отдельно. Кстати если его сдампить как MMC3-256 с CHR - вероятно у менюхи появится графика.

Кстати еще интересно содержимое платы:
W27C02-70 is an eeprom parallel 2m-bit 256k x 8 5v 32-pin pdip.
SK29F1615PC-10 is a nor flash parallel 5v 16m-bit 2m x 8/1m x 16 120ns 42-pin pdip.

A29040B 512K FLASH
HY62256A 32K SRAM
Интересно, зачем нужна W27C02-70 на PRG и 2я SRAM  на CHR (или не CHR? по одной стороне сложно сказать)? PRG всех игр в сумме меньше 2МБ, т.е. все влезет в SK29F1615PC, а W27C02 что, для веса положили?
« Последнее редактирование: 28 Сентябрь 2024, 21:15:43 от mutabor »

Оффлайн warezhunter_

  • Пользователь
  • Сообщений: 250
    • Просмотр профиля
FC V3 Famicom Dumper
« Ответ #6 : 29 Сентябрь 2024, 07:41:49 »
Кстати если его сдампить как MMC3-256 с CHR - вероятно у менюхи появится графика.
Сдампил в режиме MMC3-256+CHR-256 появилось меню с нормальной графикой с которого стартует только одна игра Rockman 5. Под остальные игры придется видимо писать скрипт, дампить их по отдельности и потом вшивать в ром, чтобы они стартовали из меню.