]> git.sur5r.net Git - cc65/blob - cfg/atari5200.cfg
Separate header and trailers of Atari system_check chunk.
[cc65] / cfg / atari5200.cfg
1 SYMBOLS {
2     __CARTSIZE__:        type = weak,   value = $4000;   # possible values: $4000 and $8000
3     __CART_ENTRY__:      type = import;
4     __STACKSIZE__:       type = weak,   value = $0400;   # 4 pages stack
5     __RESERVED_MEMORY__: type = export, value = $01E0;   # space for 20x24 screen buffer (default display list is in ROM)
6 }
7 MEMORY {
8     ZP:        file = "", start = $001D,                size = $00E3,                                               define = yes;
9     RAM:       file = "", start = $021C,                size = $4000 - __STACKSIZE__ - __RESERVED_MEMORY__ - $021C, define = yes;
10     ROM:       file = %O, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - $18,                                  define = yes, fill = yes, fillval = $FF;
11     CARTNAME:  file = %O, start = $BFE8,                size = $0014                                                              fill = yes, fillval = $40;
12     CARTYEAR:  file = %O, start = $BFFC,                size = $0002                                                              fill = yes, fillval = $59;
13     CARTENTRY: file = %O, start = $BFFE,                size = $0002;
14 }
15 SEGMENTS {
16     ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
17     EXTZP:     load = ZP,             type = zp,                optional = yes;
18     DLIST:     load = ROM  ,          type = ro,  define = yes, optional = yes;
19     STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
20     LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
21     ONCE:      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     CARTNAME:  load = CARTNAME,       type = ro;
27     CARTYEAR:  load = CARTYEAR,       type = ro;
28     CARTENTRY: load = CARTENTRY,      type = ro;
29 }
30 FEATURES {
31     CONDES: type    = constructor,
32             label   = __CONSTRUCTOR_TABLE__,
33             count   = __CONSTRUCTOR_COUNT__,
34             segment = ONCE;
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 }