Skip to content

Commit

Permalink
Fix PRG in 32K bank mode
Browse files Browse the repository at this point in the history
PRG register $5117 value is used for the entire $8000-$FFFF CPU range in 32K mode.

See https://www.nesdev.org/wiki/MMC5#PRG_mode_($5100) in PRG bankswitching
  • Loading branch information
negativeExponent authored Jun 27, 2023
1 parent 99bb679 commit 3f1e080
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/boards/mmc5.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ static void MMC5PRG(void) {
switch (mmc5psize & 3) {
case 0:
MMC5ROMWrProtect[0] = MMC5ROMWrProtect[1] = MMC5ROMWrProtect[2] = MMC5ROMWrProtect[3] = 1;
setprg32(0x8000, ((PRGBanks[1] & 0x7F) >> 2));
setprg32(0x8000, ((PRGBanks[3] & 0x7F) >> 2));
for (x = 0; x < 4; x++)
MMC5MemIn[1 + x] = 1;
break;
Expand Down

0 comments on commit 3f1e080

Please sign in to comment.