summaryrefslogtreecommitdiff
path: root/mapper.c
blob: 0b595ff06c16ab87082c21ce97ca022305703e3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29


#include "mapper_nrom.c"
// #include "mapper_mmc1.c"
// #include "mapper_uxrom.c"

static void mapper_setup(struct nes_state *state) {
	printf("Mapper: %d\n", state->ines.mapper);
	switch(state->ines.mapper) {
		case 0:
			state->mapper.read  = mapper_nrom_read;
			state->mapper.write = mapper_nrom_write;
			state->mapper.tick  = mapper_nrom_tick;
			state->mapper.init  = mapper_nrom_init;
			state->mapper.init(state);
			break;

		default:
			// fallback: NROM-compatible
			state->mapper.read  = mapper_nrom_read;
			state->mapper.write = mapper_nrom_write;
			state->mapper.tick  = mapper_nrom_tick;
			state->mapper.init  = mapper_nrom_init;
			state->mapper.init(state);
			break;
	}
}