Человек, который знает как писать программный код для NES, знает как расширить ром, а также знает, что в роме достаточно места для небольших хаков. Поэтому отвечать нет смысла. Это делается в пару кликов в Hex-редакторе и пару кликов в редакторе заголовка iNES/NES 2.0, также нужно в CPU $FFE0 изменить на 07 08 09 0A 0B 0C 0D 0E, чтобы учитывать bus conflict, потом код хака должен переключать банки в нужном месте.
UPD: Для расширения Nflate (
https://www.romhacking.net/utilities/425/), GUI для него через Advanced NES ROM Utility - Split / Expand / Patch / Fix Checksum (
https://www.romhacking.net/utilities/1699/). Есть ROM Expander Pro (
https://www.romhacking.net/utilities/831/), но нужно конфиг писать. Nflate давно не обновлялся, поэтому новые мапперы поддерживать не будет, а также стоит учитывать, что не всегда можно однозначно расширить, например, в MMC1 может быть фиксированный банк CPU $8000-BFFF, тогда добавлять нужно в другой части рома, проверять самостоятельно в отладчике.
UPD2: Nflate даже не проверяет маппер
