Всё не дает мне покоя этот картридж на аналоге MMC3 (микросхема AX5202P).


Причем первые две части Rockman видимо перехачены под маппер MMC3.
Сдампил я его под маппер MMC3 при помощи команды
famicom-duper dump --reset --mapper mmc3 --prg-size 256k --chr-size 256k --file rockman6in1(1).nes
Команду --reset приписал для того, чтобы при запуске предварительно переключилось в меню с выбором игр, так как при включении консоли стартует игра Rockboard и при нажатии на Reset переключается в нужное меню. При запуске полученного дампа через Fceux из меню стартует только одна игра Rockman 5.
При изучении сдампленного рома, я обнаружил, что меню встроено в игру Rockman 5, а обращения к дополнительным регистрам такие:
Режим адрес значение hex
start 6000 00
Rockman1 6800 12
Rockman2 6800 16
Rockman3 6800 04
Rockman4 6800 19
Rockman5 6800 00
Rockman6 6800 1B
То есть при выборе игры через меню, по адресу 6800 записывается определенное значение (для Rockman 1 - 12, для Rockman 2 - 16 и т.д.). Можно сдампить все игры по отдельности, предварительно записав нужное значение по адресу 6800, но я ковяряюсь уже второй день и не пойму как это сделать.
Функционал дополнительного регистра похоже, что такой:
0: 0 - MMC3-256, 1 - MMC3-512;
1, 2, 3: PRG addr, bit2 видимо также используется как старший адрес CHR;
4: 0 - CHR ROM, 1 - CHR RAM
Обращение по 6800 вероятно лочит регистр от записи.
Прошу помощи в написании скрипта для кластеровского дампера, чтобы сдампить данный картридж. В программировании C# я не силен, что то более простое написать могу.