Извини и ты, но функция чексуммы не мной писана, и не SGCExplorer'ом изменена. А она именно пропускает кусок C0000 байт.
Ты не понимаешь. Реальное ПЗУ 512 кб, но маппируется в 2 мб. Приставка видит так игру, и чтобы обратиться к реальному второму банку, надо на самом деле обращаться к его мапу за первым мегабайтом. Это
нормально для этой игры, просто так предусмотрено разработчиками.
Зачем они это сделали - другой вопрос. Поэтому функцию переделали, как и переделали остальной код - изменили ссылки на второй банк.
Тебя же не удивляет, что ром для NES может содержать всего 1 банк PRG (16 кб), но он будет виден и приставкой, и эмулятором как два банка: с $8000 и с $C000, как первый и как последний. И ничто не мешает написать ром так, что он будет обращаться в оба куска памяти, и без зеркалирования банка ром не будет работать. Не удивляет, потому что это нормально для NES, но не для сеги.
Добавлено позже:Можно ромы Квакшота REV001 представить так:
[!] = a000b
[a1][c][!] = aaaab
[b1] = abbbb
[b2] = ab
a, b - два банка, 0 - это нули.
"Правильным" с точки зрения логических адресов дампом должен быть aaaabbbb, такому условию дамп "[a1][c][!]" удовлетворяет только частично, т.к. обрезан. И есть ещё кривой b1, ни туда, ни сюда.