Skip to content
This repository was archived by the owner on Mar 16, 2026. It is now read-only.

Commit 8e804d8

Browse files
authored
[NES] Fixing incorrect control register for MMC1 CHR
[NES] Fixing incorrect control register for MMC1 CHR, notably for SHROM and SEROM (Tetris, Dr. Mario, Boulder Dash, Anticipation and some more)
1 parent be42198 commit 8e804d8

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Cart_Reader/NES.ino

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3464,8 +3464,9 @@ void readCHR(bool readrom) {
34643464
case 1:
34653465
case 155:
34663466
banks = int_pow(2, chrsize);
3467+
write_prg_byte(0x8000, 0x80); // Clear Register
3468+
write_mmc1_byte(0x8000, 0x00); // Mapper control
34673469
for (size_t i = 0; i < banks; i += 2) { // 8K/16K/32K/64K/128K (Bank #s are based on 4K Banks)
3468-
write_prg_byte(0x8000, 0x80); // Clear Register
34693470
write_mmc1_byte(0xA000, i);
34703471
dumpBankCHR(0x0, 0x2000);
34713472
}

0 commit comments

Comments
 (0)