diff --git a/Core/MMC3_52.h b/Core/MMC3_52.h index 2878225b..26f327b8 100644 --- a/Core/MMC3_52.h +++ b/Core/MMC3_52.h @@ -27,11 +27,12 @@ protected: { if(_extraReg & 0x40) { page &= 0x7F; - page |= ((_extraReg & 0x04) | ((_extraReg >> 4) & 0x03)) << 7; + page |= (((_extraReg & 0x20) >> 3) | ((_extraReg & 0x10) >> 4) | ((_extraReg & 0x04) >> 1)) << 7; } else { page &= 0xFF; - page |= ((_extraReg & 0x04) | ((_extraReg >> 4) & 0x02)) << 7; + page |= (((_extraReg & 0x20) >> 3) | ((_extraReg & 0x10) >> 4)) << 7; } + MMC3::SelectCHRPage(slot, page, memoryType); } @@ -62,4 +63,4 @@ protected: MMC3::WriteRegister(addr, value); } } -}; \ No newline at end of file +};