summaryrefslogtreecommitdiff
path: root/mappers
diff options
context:
space:
mode:
authorPeter Fors <peter.fors@mindkiller.com>2025-05-03 01:00:10 +0200
committerPeter Fors <peter.fors@mindkiller.com>2025-05-03 01:00:10 +0200
commit8ed5a368077388c676a4ef27cca9f3a58d91e484 (patch)
tree7e96f35ac933fe97a69c2a8f66f8c22f7a9beb6a /mappers
parent5808f00555c48e1cc1cc110af6a5cd73ddf13010 (diff)
cleanup and rewrite of memory_read()
Diffstat (limited to 'mappers')
-rw-r--r--mappers/mapper.c4
-rw-r--r--mappers/mapper.h4
-rw-r--r--mappers/mapper_003_0.c27
-rw-r--r--mappers/mapper_003_0.h4
4 files changed, 4 insertions, 35 deletions
diff --git a/mappers/mapper.c b/mappers/mapper.c
index d63e2a0..099b6d7 100644
--- a/mappers/mapper.c
+++ b/mappers/mapper.c
@@ -24,7 +24,7 @@ static void mapper_default_tick(struct nes_state *state) { }
#include "mapper_000_0.c"
#include "mapper_002_2.c"
-#include "mapper_003_0.c"
+#include "mapper_003_2.c"
#include "mapper_007_2.c"
#include "mapper_011_0.c"
#include "mapper_066_0.c"
@@ -34,7 +34,7 @@ static void mapper_default_tick(struct nes_state *state) { }
static void (*mapper_table[4096])(struct nes_state *state) = {
[MAPPER_ID( 0, 0)] = mapper_000_0_init,
[MAPPER_ID( 2, 2)] = mapper_002_2_init,
- [MAPPER_ID( 3, 0)] = mapper_003_0_init,
+ [MAPPER_ID( 3, 2)] = mapper_003_2_init,
[MAPPER_ID( 7, 2)] = mapper_007_2_init,
[MAPPER_ID(11, 0)] = mapper_011_0_init,
[MAPPER_ID(66, 0)] = mapper_011_0_init,
diff --git a/mappers/mapper.h b/mappers/mapper.h
index 0961370..863201b 100644
--- a/mappers/mapper.h
+++ b/mappers/mapper.h
@@ -1,7 +1,7 @@
#include "mapper_000_0.h"
#include "mapper_002_2.h"
-#include "mapper_003_0.h"
+#include "mapper_003_2.h"
#include "mapper_007_2.h"
#include "mapper_011_0.h"
#include "mapper_066_0.h"
@@ -21,7 +21,7 @@ struct mapper_functions {
union mapper_data {
struct mapper_000_0 m000_0;
struct mapper_002_2 m002_2;
- struct mapper_003_0 m003_0;
+ struct mapper_003_2 m003_2;
struct mapper_007_2 m007_2;
struct mapper_011_0 m011_0;
struct mapper_066_0 m066_0;
diff --git a/mappers/mapper_003_0.c b/mappers/mapper_003_0.c
deleted file mode 100644
index 5ccfb53..0000000
--- a/mappers/mapper_003_0.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-static uint8_t mapper_003_0_prg_read(struct nes_state *state, uint32_t addr) {
- return state->prg_rom[addr & 0x7fff];
-}
-
-static void mapper_003_0_prg_write(struct nes_state *state, uint32_t addr, uint8_t value) {
- struct mapper_003_0 *mapper = (struct mapper_003_0 *)&state->map;
-
- if(addr >= 0x8000) {
- mapper->chr_ptr = state->chr_rom + (value & 3) * 0x2000;
- }
-}
-
-static uint8_t mapper_003_0_chr_read(struct nes_state *state, uint32_t addr) {
- struct mapper_003_0 *mapper = (struct mapper_003_0 *)&state->map;
- return mapper->chr_ptr[addr];
-}
-
-static void mapper_003_0_init(struct nes_state *state) {
- struct mapper_003_0 *mapper = (struct mapper_003_0 *)&state->map;
-
- mapper->chr_ptr = state->chr_rom;
-
- state->mapper.prg_read = mapper_003_0_prg_read;
- state->mapper.prg_write = mapper_003_0_prg_write;
- state->mapper.chr_read = mapper_003_0_chr_read;
-}
diff --git a/mappers/mapper_003_0.h b/mappers/mapper_003_0.h
deleted file mode 100644
index f03b106..0000000
--- a/mappers/mapper_003_0.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-struct mapper_003_0 {
- uint8_t *chr_ptr;
-} __attribute__((packed, aligned(64)));