Тут исходная плата от кукуруку, исходный код меню, собранная игра.
Попытался разобраться как реализовано переключение банков с играми, но там какая-то магия и без схемы не очень понятно. В коде меню есть коммент:
;
; после переключения маппера на шине данных должны стоять 6-5-4 биты для 161 защелки
; микросхемные нормально переключаются и без этого трюка,а для капельных обязательно
; используются бесполезные команды портящие аккумулятор и неофициальные NOP
;
; 7 654 3210
; $0A 0 000 1010 ASL A
; $1A 0 001 1010 NOP
; $2A 0 010 1010 ROL A
; $3A 0 011 1010 NOP
; $4A 0 100 1010 LSR A
; $5A 0 101 1010 NOP
; $6A 0 110 1010 ROR A
; $7A 0 111 1010 NOP
При старте игры, после записи в регистр MMC1, следуют 4 одинаковых команды с кодом из списка выше, в зависимости от выбранной игры. Вероятно факт исполнения этих команд как-то должен детектится маппером и переключать банки, но я впервые вижу подобный изврат.
Судя по комменту, стабильность метода такая себе - видимо эта магия работает далеко не всегда, и автор протестил не все возможные варианты.