summaryrefslogtreecommitdiff
path: root/mappers
diff options
context:
space:
mode:
Diffstat (limited to 'mappers')
-rw-r--r--mappers/mapper_002_2.c9
-rw-r--r--mappers/mapper_066_0.c16
2 files changed, 8 insertions, 17 deletions
diff --git a/mappers/mapper_002_2.c b/mappers/mapper_002_2.c
index e6cddf7..d3df77d 100644
--- a/mappers/mapper_002_2.c
+++ b/mappers/mapper_002_2.c
@@ -4,11 +4,10 @@ __attribute__((section(".mapper_002_2")))
static uint8_t mapper_002_2_prg_rom_read(struct nes_state *state, uint32_t addr) {
struct mapper_002_2 *mapper = &state->mapper_data.m002_2;
-
- if(addr >= 0x8000 && addr < 0xc000) {
+ if(addr < 0xc000) {
return mapper->prg_bank0[addr & 0x3fff];
- } else if(addr >= 0xc000) {
+ } else {
return mapper->prg_bank1[addr & 0x3fff];
}
return 0;
@@ -18,9 +17,7 @@ __attribute__((section(".mapper_002_2")))
static void mapper_002_2_prg_rom_write(struct nes_state *state, uint32_t addr, uint8_t value) {
struct mapper_002_2 *mapper = &state->mapper_data.m002_2;
- if(addr >= 0x8000) {
- mapper->prg_bank0 = state->prg_rom + ((value & 0x0f) * 0x4000);
- }
+ mapper->prg_bank0 = state->prg_rom + ((value & 0x0f) * 0x4000);
}
__attribute__((section(".mapper_002_2")))
diff --git a/mappers/mapper_066_0.c b/mappers/mapper_066_0.c
index ccd00fe..bd4c124 100644
--- a/mappers/mapper_066_0.c
+++ b/mappers/mapper_066_0.c
@@ -3,23 +3,18 @@ __attribute__((section(".mapper_066_0")))
static uint8_t mapper_066_0_prg_rom_read(struct nes_state *state, uint32_t addr) {
struct mapper_066_0 *mapper = &state->mapper_data.m066_0;
- if(addr >= 0x8000) {
- return state->prg_rom[addr & 0x7fff];
- }
- return 0;
+ return mapper->prg_offset[addr & 0x7fff];
}
__attribute__((section(".mapper_066_0")))
static void mapper_066_0_prg_rom_write(struct nes_state *state, uint32_t addr, uint8_t value) {
struct mapper_066_0 *mapper = &state->mapper_data.m066_0;
- if(addr >= 0x8000) {
- uint32_t prg_bank = (value >> 4) & 3;
- uint32_t chr_bank = (value >> 0) & 3;
+ uint32_t prg_bank = (value >> 4) & 3;
+ uint32_t chr_bank = (value >> 0) & 3;
- mapper->prg_offset = state->prg_rom + (prg_bank * 0x8000);
- mapper->chr_offset = state->chr_rom + (chr_bank * 0x2000);
- }
+ mapper->prg_offset = state->prg_rom + (prg_bank * 0x8000);
+ mapper->chr_offset = state->chr_rom + (chr_bank * 0x2000);
}
__attribute__((section(".mapper_066_0")))
@@ -39,4 +34,3 @@ static void mapper_066_0_init(struct nes_state *state) {
state->mapper_function.prg_rom_write = mapper_066_0_prg_rom_write;
state->mapper_function.chr_read = mapper_066_0_chr_read;
}
-