Автор Тема: Идентифицировать маппер картриджа  (Прочитано 618 раз)

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

Оффлайн ALXR

  • Пользователь
  • Сообщений: 337
    • Просмотр профиля
Всем привет

Пытаюсь сдампить вот такой картридж, но не могу подобрать для него маппер (фотка из инета).
246985-0

Вот с таким набором игр:
246987-1

Вроде похож на Super HIK 4 in 1 (aka #49 маппер) и на #52 маппер, но видимо, ни тот и ни другой. По битам регистров не подходят.
Из примечательного: MK II Special, который в оригинале в 90 маппере, переделан в MMC3 маппер, но дампится с битой графикой (в консоли с графикой порядок).
Figher Hocker, который на самом деле Ike Ike! Nekketsu Hockey Bu, с изменённой заставкой:


Из дампа с меню в регистры верхнего маппера записываются:
Игра 1: #$A3 -> $6801
Игра 2: #$20 -> $6801
Игра 3: #$9A -> $6801
Игра 4: #$97 -> $68B3

Не очень понятно, почему выбраны именно эти адреса, судя по всему, как и в 49 и в 52 мапперах, для записи выбираются нечётные адреса в интервале $6001-$7FFFю
Размер MK2 я так и не понял какой (сдампил его в размере 16PRG+32CHR), но графика всё равно битая. Размер Street Figher 60, как полагается, 16PRG+32CHR, оставшиеся две - стандартного для MMC3 размера.

Вобщем, хочу собрать в цельный ром, но пока смог вытащить только по одной игре.

зы: если требуется, могу приложить дамп с меню и работающим MK2 с битой графикой.

дамп меню во вложении
« Последнее редактирование: 19 Апрель 2022, 18:47:13 от ALXR »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5216
    • Просмотр профиля
Идентифицировать маппер картриджа
« Ответ #1 : 19 Апрель 2022, 23:48:21 »
Фото большего размера: https://skylots.org/6536319297/kartridj-na-dendi-dendy-mortalnekettsustreet-fighter
2-я игра - Taito Basketball. Для неё записывается в регистр #$86. Получается (+ биты значения и предполагаемый размер в KiB):
1: #$A3 -> $6801. 1010 0011. 128/256
2: #$86 -> $6801. 1000 0110. 128/128
3: #$9A -> $6801. 1001 1010. 128/256
4: #$97 -> $68B3. 1001 0111. 128/128
Также:
   #$20 -> $6801. 0010 0000
   #$02 -> $6801. 0000 0010
Для Street Fighter V Turbo 60 есть дамп с таким титульником на PRG/CHR 256/256 (http://fcpic.nesbbs.com/GamePic.asp?gameid=2432), возможно с мусором.
Подходящие мапперы (MMC3 + запись в $6000-7FFF) можно найти в NintendulatorNRS\src.7z\src-mappers\src\iNES\ (https://unlicensed.games/libg/static.php?page=NintendulatorNRS), если искать через Notepad++ по файлам текст MMC3::setWRAMCallback. Может есть ещё, тогда нужно искать включение "..\Hardware\h_MMC3.h".
Я подумал, что 2-й бит (с нуля справа) отвечает за размер CHR ROM, но это может быть совпадением и иметь мусор. Также адрес регистра может не иметь значения (будет маска $E000), потому что, например, есть STA $8F00.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 337
    • Просмотр профиля
Идентифицировать маппер картриджа
« Ответ #2 : 20 Апрель 2022, 00:05:22 »
Адрес регистра точно не имеет значения. Судя по всему все нечётные по адресам $6001 и т.д. Проверял записью в $6001 - всё включается. Ещё заметил, что запись биты 8 и 4 установленные в 1 лочат регистр маппера и после этого включить другой банк можно только после reset