-
Notifications
You must be signed in to change notification settings - Fork 20
/
mapper1.cfg
104 lines (95 loc) · 5.16 KB
/
mapper1.cfg
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
MEMORY {
ZERO: file = "", start = $0000, size = $0100, type = rw;
STACK: file = "", start = $0100, size = $0100, type = rw;
# INES Cartridge Header
HEADER: file = %O, start = $0000, size = $0010, fill = yes;
# First ROM bank contains game code that doesn't always need to
# be in memory (i.e. not called from an interrupt handler or
# during tile copying)
ROM0: file = %O, start = $8000, size = $3FFF, fill = yes, bank = 0;
CODEIDENT: file = %O, start = $BFFF, size = $1, fill = yes, bank = 0;
# 4 PRG ROM banks for tiles
CHR1: file = %O, start = $18000, size = $3FFF, fill = yes, bank = 1;
CHR1IDENT: file = %O, start = $1BFFF, size = $1, fill = yes, bank = 1;
CHR2: file = %O, start = $28000, size = $3FFF, fill = yes, bank = 2;
CHR2IDENT: file = %O, start = $2BFFF, size = $1, fill = yes, bank = 2;
CHR3: file = %O, start = $38000, size = $3FFF, fill = yes, bank = 3;
CHR3IDENT: file = %O, start = $3BFFF, size = $1, fill = yes, bank = 3;
CHR4: file = %O, start = $48000, size = $3FFF, fill = yes, bank = 4;
CHR4IDENT: file = %O, start = $4BFFF, size = $1, fill = yes, bank = 4;
# 8 ROM banks for audio
AUDIO0: file = %O, start = $58000, size = $3FFF, fill = yes, bank = 5;
AUDIO0IDENT: file = %O, start = $5BFFF, size = $1, fill = yes, bank = 5;
AUDIO1: file = %O, start = $68000, size = $3FFF, fill = yes, bank = 6;
AUDIO1IDENT: file = %O, start = $6BFFF, size = $1, fill = yes, bank = 6;
AUDIO2: file = %O, start = $78000, size = $3FFF, fill = yes, bank = 7;
AUDIO2IDENT: file = %O, start = $7BFFF, size = $1, fill = yes, bank = 7;
AUDIO3: file = %O, start = $88000, size = $3FFF, fill = yes, bank = 8;
AUDIO3IDENT: file = %O, start = $8BFFF, size = $1, fill = yes, bank = 8;
AUDIO4: file = %O, start = $98000, size = $3FFF, fill = yes, bank = 9;
AUDIO4IDENT: file = %O, start = $9BFFF, size = $1, fill = yes, bank = 9;
AUDIO5: file = %O, start = $A8000, size = $3FFF, fill = yes, bank = 10;
AUDIO5IDENT: file = %O, start = $ABFFF, size = $1, fill = yes, bank = 10;
AUDIO6: file = %O, start = $B8000, size = $3FFF, fill = yes, bank = 11;
AUDIO6IDENT: file = %O, start = $BBFFF, size = $1, fill = yes, bank = 11;
AUDIO7: file = %O, start = $C8000, size = $3FFF, fill = yes, bank = 12;
AUDIO7IDENT: file = %O, start = $CBFFF, size = $1, fill = yes, bank = 12;
# 2 ROM banks for additional code and data
UI: file = %O, start = $D8000, size = $3FFF, fill = yes, bank = 13;
UIIDENT: file = %O, start = $DBFFF, size = $1, fill = yes, bank = 13;
EXTRA: file = %O, start = $E8000, size = $3FFF, fill = yes, bank = 14;
EXTRAIDENT: file = %O, start = $EBFFF, size = 1, fill = yes, bank = 14;
# Last ROM bank is always loaded
FIXED: file = %O, start = $C000, size = $3FF6, fill = yes, bank = 15;
VECTOR: file = %O, start = $FFF6, size = $000A, fill = yes, bank = 15;
# standard 2k SRAM (-zeropage)
# $0100-$0200 cpu stack
SPRITE: file = "", start = $0200, size = $0100;
RAM: file = "", start = $0300, size = $0200;
TEMP: file = "", start = $0500, size = $0300;
# Save RAM
SRAM: file = "", start = $6000, size = $2000, fill = yes;
}
SEGMENTS {
HEADER: load = HEADER, type = ro;
CODE: load = ROM0, type = ro;
RODATA: load = ROM0, type = ro;
DATA: load = FIXED, type = ro;
FIXED: load = FIXED, type = ro;
VECTORS: load = VECTOR, type = ro;
BSS: load = RAM, type = rw;
TEMP: load = TEMP, type = rw;
SPRITE: load = SPRITE, type = rw;
CHR1: load = CHR1, type = ro;
CHR2: load = CHR2, type = ro;
CHR3: load = CHR3, type = ro;
CHR4: load = CHR4, type = ro;
UI: load = UI, type = ro;
EXTRA: load = EXTRA, type = ro;
AUDIO0: load = AUDIO0, type = ro;
AUDIO1: load = AUDIO1, type = ro;
AUDIO2: load = AUDIO2, type = ro;
AUDIO3: load = AUDIO3, type = ro;
AUDIO4: load = AUDIO4, type = ro;
AUDIO5: load = AUDIO5, type = ro;
AUDIO6: load = AUDIO6, type = ro;
AUDIO7: load = AUDIO7, type = ro;
CODEIDENT: load = CODEIDENT, type = ro;
CHR1IDENT: load = CHR1IDENT, type = ro;
CHR2IDENT: load = CHR2IDENT, type = ro;
CHR3IDENT: load = CHR3IDENT, type = ro;
CHR4IDENT: load = CHR4IDENT, type = ro;
UIIDENT: load = UIIDENT, type = ro;
EXTRAIDENT: load = EXTRAIDENT, type = ro;
AUDIO0IDENT: load = AUDIO0IDENT, type = ro;
AUDIO1IDENT: load = AUDIO1IDENT, type = ro;
AUDIO2IDENT: load = AUDIO2IDENT, type = ro;
AUDIO3IDENT: load = AUDIO3IDENT, type = ro;
AUDIO4IDENT: load = AUDIO4IDENT, type = ro;
AUDIO5IDENT: load = AUDIO5IDENT, type = ro;
AUDIO6IDENT: load = AUDIO6IDENT, type = ro;
AUDIO7IDENT: load = AUDIO7IDENT, type = ro;
ZEROPAGE: load = ZERO, type = zp;
STACK: load = STACK, type = rw;
SRAM: load = SRAM, type = rw;
}