From ed41715142f419021ed8fef5522ea1f363f16441 Mon Sep 17 00:00:00 2001 From: Peter Fors Date: Sun, 2 Nov 2025 09:16:03 +0100 Subject: fix multiple mappers --- mknes_ppu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mknes_ppu.c') diff --git a/mknes_ppu.c b/mknes_ppu.c index 1a40de0..8006ff6 100644 --- a/mknes_ppu.c +++ b/mknes_ppu.c @@ -277,13 +277,14 @@ shift_and_fetch: switch(dot % 8) { case 1: { - uint32_t nt_addr = 0x2000 | (ppu->vram_addr & 0x0fff); - ppu->bg_next_tile_id = state->mapper_function.ciram_read(state, nt_addr); + // uint32_t nt_addr = 0x2000 | (ppu->vram_addr & 0xfff); + // ppu->bg_next_tile_id = state->mapper_function.ciram_read(state, nt_addr); + ppu->bg_next_tile_id = state->mapper_function.ciram_read(state, ppu->vram_addr); } break; case 3: { uint32_t attr_addr = 0x23c0 | (ppu->vram_addr & 0x0c00) | ((ppu->vram_addr >> 4) & 0x38) | ((ppu->vram_addr >> 2) & 0x07); - uint8_t attr = state->mapper_function.ciram_read(state, attr_addr & 0x0fff); + uint8_t attr = state->mapper_function.ciram_read(state, attr_addr); uint8_t shift = ((ppu->vram_addr >> 4) & 4) | (ppu->vram_addr & 2); ppu->bg_next_tile_attrib = (attr >> shift) & 3; } break; -- cgit v1.2.3