1
Картриджи / диски / "Многоигровки" на Денди
« : Сегодня в 16:20:48 »Обещал написать по поводу записи удалось его перезаписатьДополню.
Сборка famicom-dumper-client
.NET 8.0 для famicom-dumper-client нужен потому что я переключил проект на него с .NET 6, в этом не было необходимости. Новые версии famicom-dumper-client можно собрать самому: скачать исходный https://github.com/ClusterM/famicom-dumper-client (Code > Download ZIP), установить Visual Studio https://visualstudio.microsoft.com/ru/ (выбрать Разработка классических приложений .NET), открыть famicom-dumper.sln, предложит установить .NET 6.0 - соглашаетесь, в Solution Explorer открыть FlashWriters > CoolboyWriter.cs, найти функцию private void SelectBank(int bank) и заменить её на такой код:
Код: [Выделить]
dotnet publish -c release -r win-x64 --no-self-contained
У меня заменяется код для других версий CoolBoy (submapper), поэтому --coolboy-submapper указывать при записи наверно не нужно.Генерация нового рома многоигровки
Последняя версия скрипта в MultiRom2.rar, поэтому не нужны MultiRom.rar и Gen_MultiRom.rar. На основе рома с меню многоигровки появляется новый сборник. При сборке сообщение Skipped | Not Supported означает отсутствии поддержки маппера (поддержка 0, 4, 7, и 3, но с регистрами от CoolBoy), это касается и маленьких ромов с мапперами 4 и 7 (PRG или CHR меньше 128 КиБ), для расширения ромов прикладываю скрипт expand_rom.py, нужно вызвать с аргументами указывающими на входной ром и выходной.
В этой версии скрипта есть предупреждение не о WRAM, а об адресе Reset (адрес с которого запускается код), для MMC3 он должен быть в пределах $E000-FFFF, но здесь $C000-DFFF сработает, а вот $8000-BFFF - нет, такое встречается в плохих хаках на MMC3 и работает в эмуляторах, которые инициализируют там PRG банки 0 и 1.
При желании можно для каждой игры добавить превью (изображение при выборе игры в меню), есть место на 768 игр, но у меня просто чёрное окно. Для этого нужно убрать строчки в скрипте:
Обновлённый скрипт извлечения ромов из дампа сборника
Прикладываю новую версию extract_365_in_1.py для извлечения отдельных ромов из сборника, теперь поддерживаются сборки после моего скрипта.