-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathcontra.cfg
47 lines (42 loc) · 2.16 KB
/
contra.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
# defines where the banks will be loaded into CPU address space
MEMORY {
# Define CPU memory map for zero page, not saved to ROM
ZEROPAGE: start = $00, size = $100, type = rw;
RAM: start = $100, size = $6ff, type = rw, fill = no;
# INES Cartridge Header, not loaded into CPU memory
HEADER: start = $0000, size = $0010, fill = yes;
OAMRAM: file="", start = $0200, size = $0100, type = rw;
# UxROM (002) bank layout
BANK_0: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_1: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_2: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_3: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_4: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_5: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_6: start = $8000, size = $4000, type = ro, fill = yes, fillval = $FF;
BANK_7: start = $C000, size = $3C00, type = ro, fill = yes, fillval = $FF;
# BANK_7 is actually still $4000 bytes large, but the hardware vectors, and
# the NES_FOOTER, which are on BANK7, are counted separately
# Hardware Vectors at End of 2nd 8K ROM (NES hard-coded location)
DPCM_SAMPLES: start = $FC00, size = $03D0, type = ro, fill = no;
NES_FOOTER: start = $FFD0, size = $002A, type = ro, fill = no;
VECTORS: start = $FFFA, size = $0006, type = ro, fill = no;
}
# defines the order of the segments as they are stored in the .nes ROM file
SEGMENTS {
ZEROPAGE: load = ZEROPAGE, type = zp;
RAM: load = RAM, type = bss;
HEADER: load = HEADER, type = ro;
OAMRAM: load = OAMRAM, type = bss, define=yes, optional=yes;
BANK_0: load = BANK_0, type = ro;
BANK_1: load = BANK_1, type = ro;
BANK_2: load = BANK_2, type = ro;
BANK_3: load = BANK_3, type = ro;
BANK_4: load = BANK_4, type = ro;
BANK_5: load = BANK_5, type = ro;
BANK_6: load = BANK_6, type = ro;
BANK_7: load = BANK_7, type = ro;
DPCM_SAMPLES: load = DPCM_SAMPLES, type = ro;
NES_FOOTER: load = NES_FOOTER, type = ro;
VECTORS: load = VECTORS, type = ro;
}