segments and aren't written to the output file. Before that, the "not going to output file" was implicit because of the bss type of the segments contained. The new attribute makes this explicit. git-svn-id: svn://svn.cc65.org/cc65/trunk@4853 b7a2c559-68d2-44c3-8de9-860c34a00d81
62 lines
2.0 KiB
INI
62 lines
2.0 KiB
INI
SYMBOLS {
|
|
__STACKSIZE__: type = weak, value = $0300; # 3 pages stack
|
|
}
|
|
MEMORY {
|
|
ZP: file = "", start = $0002, size = $001A, type = rw, define = yes;
|
|
|
|
# INES Cartridge Header
|
|
HEADER: file = %O, start = $0000, size = $0010, fill = yes;
|
|
|
|
# 2 16K ROM Banks
|
|
# - startup
|
|
# - code
|
|
# - rodata
|
|
# - data (load)
|
|
ROM0: file = %O, start = $8000, size = $7FF4, fill = yes, define = yes;
|
|
|
|
# Hardware Vectors at End of 2nd 8K ROM
|
|
ROMV: file = %O, start = $FFF6, size = $000C, fill = yes;
|
|
|
|
# 1 8k CHR Bank
|
|
ROM2: file = %O, start = $0000, size = $2000, fill = yes;
|
|
|
|
# standard 2k SRAM (-zeropage)
|
|
# $0100-$0200 cpu stack
|
|
# $0200-$0500 3 pages for ppu memory write buffer
|
|
# $0500-$0800 3 pages for cc65 parameter stack
|
|
SRAM: file = "", start = $0500, size = __STACKSIZE__, define = yes;
|
|
|
|
# additional 8K SRAM Bank
|
|
# - data (run)
|
|
# - bss
|
|
# - heap
|
|
RAM: file = "", start = $6000, size = $2000, define = yes;
|
|
}
|
|
SEGMENTS {
|
|
HEADER: load = HEADER, type = ro;
|
|
STARTUP: load = ROM0, type = ro, define = yes;
|
|
LOWCODE: load = ROM0, type = ro, optional = yes;
|
|
INIT: load = ROM0, type = ro, define = yes, optional = yes;
|
|
CODE: load = ROM0, type = ro, define = yes;
|
|
RODATA: load = ROM0, type = ro, define = yes;
|
|
DATA: load = ROM0, run = RAM, type = rw, define = yes;
|
|
VECTORS: load = ROMV, type = rw;
|
|
CHARS: load = ROM2, type = rw;
|
|
BSS: load = RAM, type = bss, define = yes;
|
|
ZEROPAGE: load = ZP, type = zp;
|
|
}
|
|
FEATURES {
|
|
CONDES: segment = INIT,
|
|
type = constructor,
|
|
label = __CONSTRUCTOR_TABLE__,
|
|
count = __CONSTRUCTOR_COUNT__;
|
|
CONDES: segment = RODATA,
|
|
type = destructor,
|
|
label = __DESTRUCTOR_TABLE__,
|
|
count = __DESTRUCTOR_COUNT__;
|
|
CONDES: segment = RODATA,
|
|
type = interruptor,
|
|
label = __INTERRUPTOR_TABLE__,
|
|
count = __INTERRUPTOR_COUNT__;
|
|
}
|