summaryrefslogtreecommitdiff
path: root/mknes_ppu_registers.c
diff options
context:
space:
mode:
Diffstat (limited to 'mknes_ppu_registers.c')
-rw-r--r--mknes_ppu_registers.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/mknes_ppu_registers.c b/mknes_ppu_registers.c
index 6720958..0defd0c 100644
--- a/mknes_ppu_registers.c
+++ b/mknes_ppu_registers.c
@@ -47,11 +47,13 @@ static inline void ppu_write(struct nes_state *state, uint32_t offset, uint8_t v
case 7: {
uint32_t addr = ppu->vram_addr;
- if(addr <= 0x1fff) {
+ if(addr < 0x2000) {
state->mapper_function.chr_write(state, addr, value);
- } else if(addr >= 0x2000 && addr <= 0x3eff) {
+
+ } else if(addr < 0x3f00) {
state->mapper_function.ciram_write(state, addr, value);
- } else if(addr >= 0x3f00 && addr <= 0x3fff) {
+
+ } else if(addr < 0x4000) {
uint32_t pal_addr = addr & 0x1f;
if((pal_addr & 3) == 0) {
pal_addr &= ~0x10;
@@ -92,13 +94,15 @@ static inline uint8_t ppu_read(struct nes_state *state, uint32_t offset) {
case 7: {
uint32_t addr = ppu->vram_addr;
- if(addr <= 0x1fff) {
+ if(addr < 0x2000) {
result = ppu->vram_read_buffer;
ppu->vram_read_buffer = state->mapper_function.chr_read(state, addr);
- } else if(addr >= 0x2000 && addr <= 0x3eff) {
+
+ } else if(addr < 0x3f00) {
result = ppu->vram_read_buffer;
ppu->vram_read_buffer = state->mapper_function.ciram_read(state, addr);
- } else if(addr >= 0x3f00 && addr <= 0x3fff) {
+
+ } else if(addr < 0x4000) {
uint32_t pal_addr = addr & 0x1f;
if((pal_addr & 0x13) == 0x10) {
pal_addr &= ~0x10;