summaryrefslogtreecommitdiff
path: root/mappers/mapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'mappers/mapper.c')
-rw-r--r--mappers/mapper.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mappers/mapper.c b/mappers/mapper.c
index 099b6d7..71caff1 100644
--- a/mappers/mapper.c
+++ b/mappers/mapper.c
@@ -23,7 +23,10 @@ static void mapper_default_chr_write(struct nes_state *state, uint32_t addr, uin
static void mapper_default_tick(struct nes_state *state) { }
#include "mapper_000_0.c"
+#include "mapper_001_0.c"
#include "mapper_002_2.c"
+#include "mapper_003_0.c"
+#include "mapper_003_1.c"
#include "mapper_003_2.c"
#include "mapper_007_2.c"
#include "mapper_011_0.c"
@@ -33,7 +36,10 @@ 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( 1, 0)] = mapper_001_0_init,
[MAPPER_ID( 2, 2)] = mapper_002_2_init,
+ [MAPPER_ID( 3, 0)] = mapper_003_0_init,
+ [MAPPER_ID( 3, 1)] = mapper_003_1_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,
@@ -52,6 +58,8 @@ static void mapper_reset(struct nes_state *state) {
static void mapper_setup(struct nes_state *state) {
uint32_t mapper = state->ines.mapper << 4 | state->ines.submapper;
+ printf("Mapper %d_%x requested.\n", state->ines.mapper, state->ines.submapper);
+
mapper_reset(state);
if(mapper_table[mapper]) {
mapper_table[mapper](state);