Миха42, добавляйте все 3 три рома и описание в один архив 7z, для удобства и меньшего размер (37.2 КБ - все 3). Сами ромы тоже должны иметь правильное название. v1.0.0 - не понятно что значит, нужно дописать что это хак и т. п.Этот шрифт для надписей, для большого количества текста, как у вас в настройках, выглядит так себе. Я бы выбрал обычный читаемый шрифт, можно сделать для главного экрана такой, а для настроек простой.
На счёт MMC3. Mirroring нужно ставить явно, с Horizontal точно. При запуске гарантировано будет стоять только последний банк, то есть Reset handler должен быть в пределах $E000-FFFF (в хаке нормально, а вот к "Castle Excellent (mmc3)" стоило это упомянуть). Также нужно отключать MMC3 IRQ (записать что угодно в $E000). Хотя в большинстве эмуляторов данные ромы будут нормально работать, про железо такого сказать не могу.
В вашем хаке не все значения памяти инициализируются правильно, если включить в эмуляторе случайные значения RAM, то иногда при нажатии start в игре, то код неверный стал выполняться (недокументированные инструкции), то какое-то меню с RESET вылезло.
По части всех трёх файлов в дальнейшем планируют работать лишь над одним хаком v1.0.0 обновляя лишь версию хака.
В дальнейшем обязательно установлю [h] учту ваше замечание.
Что касается текста хотелось уйти от использования однотипного текста что во всех играх, ну что ж если столь плохо, подумаю над тем чтоб сменить его если и дальше будут замечания на его счёт.
В варианте mmc3 не планировалось дальнейшее расширение рома, в виду особенностей расположения подпрограмм оригинального кода игры, по тому и оставил всё без изменений, изменив лишь особенность смены CHR-ROM с одного мапера на другой.
Касательно IRQ, ссылается сразу на его закрытие и вреда особо не должен нанести, в дальнейшем так же учту замечание, Пользоваться IRQ прерываниями в планах нету.
Что касается зеркалирования, согласно инструкций ММС3 умеет их переключать по ходу игры. Или есть опасения что может на железе произвольно запустить другое зеркалирование?
Если так же имеются опасения что произвольно могут включиться на железе произвольные настройки мапера относительно расположения банков и их зеркалирования при старте, то прошу подсказать все возможные проблемы при старте мапера, по скольку возможности запуска на железе нету для тестирования, хоть и имеется старенький клавишный СЮБОР. Тестирую на эмуляторе FCEUX.
В хаке Reset ссылается на E000, а NMI на C000 банки, располагал указатели и код относительно свободного места что появляется по мере переноса кода в другие банки. Как освободится побольше места в банке E000 постараюсь и NMI на всякий случай туда перенести.
По части случайных значений RAM и как их искать и самопроизвольного меню RESET если можно по подробнее, очень интересует данная информация. Поскольку хакингу ещё только учусь, любая информация от опытных будет полезна.
Добавлено позже:Режим Sub-command.
Во время игрового действия нажмите А или В на контроллере 2, чтобы вызвать экран Sub-command.
Данное меню блин даже при прежнем перебирании рома не нашол, хотя особо и не искал где оно прячется.
Меню было создано компанией в Японии для своего устройства расширения к приставке с целью сохранения игрового процесса и данная игра как раз была предназначена для него, для того и имеется данное меню с возможностью сохранить игровой процесс, загрузить сохранение, откатить процесс игры на 1 локацию назад, либо вернуть текущую локацию в исходное состояние на момент входа в неё. Две последних особенности в игре я нашол в коде и не планирую их менять, а наоборот надеюсь когда либо реализовать в открытую без всяких команд для вызова меню.
У меня имеется данная игра на картридже дома и там это меню отлично работает.
Но в коде как я и сказал, я это меню пока не нашол, но это лишь вопрос времени.
Так же можете наткнуться на скрытое меню настроек, которое я пока не реализовал до конца, находится на стадии линка в никуда. Сделал его открывание путём чит кода, но не стал о нём говорить по причине недароботки, даже для простого нажатия на линк подпрограммы не существующей.