47 lines
2.2 KiB
INI
47 lines
2.2 KiB
INI
# 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;
|
|
} |