]> git.sur5r.net Git - cc65/blob - cfg/atari-cart.cfg
Use constants for screen width and height.
[cc65] / cfg / atari-cart.cfg
1 FEATURES {
2     STARTADDRESS: default = $2000;
3 }
4 SYMBOLS {
5     __CARTSIZE__:        type = weak,   value = $2000; # possible values: $2000 and $4000
6     __CART_HEADER__:     type = import;
7     __STACKSIZE__:       type = weak,   value = $0800; # 2k stack
8     __STARTADDRESS__:    type = export, value = %S;
9     __RESERVED_MEMORY__: type = export, value = $0000;
10     __CARTFLAGS__:       type = weak,   value = $01;   # see documentation for other possible values
11 }
12 MEMORY {
13     ZP:         file = "", define = yes, start = $0082,                size = $007E;
14     RAM:        file = "", define = yes, start = %S,                   size = __CARTSIZE__;
15     ROM:        file = %O, define = yes, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - 6, fill = yes, fillval = $FF;
16     CARTID:     file = %O,               start = $BFFA,                size = $0006;
17 }
18 SEGMENTS {
19     STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
20     LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
21     INIT:      load = ROM,            type = ro,                optional = yes;
22     CODE:      load = ROM,            type = ro,  define = yes;
23     RODATA:    load = ROM,            type = ro,                optional = yes;
24     DATA:      load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
25     BSS:       load = RAM,            type = bss, define = yes, optional = yes;
26     CARTHDR:   load = CARTID,         type = ro;
27     ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
28     EXTZP:     load = ZP,             type = zp,                optional = yes;
29 }
30 FEATURES {
31     CONDES: type    = constructor,
32             label   = __CONSTRUCTOR_TABLE__,
33             count   = __CONSTRUCTOR_COUNT__,
34             segment = INIT;
35     CONDES: type    = destructor,
36             label   = __DESTRUCTOR_TABLE__,
37             count   = __DESTRUCTOR_COUNT__,
38             segment = RODATA;
39     CONDES: type    = interruptor,
40             label   = __INTERRUPTOR_TABLE__,
41             count   = __INTERRUPTOR_COUNT__,
42             segment = RODATA,
43             import  = __CALLIRQ__;
44 }