]> git.sur5r.net Git - cc65/blob - cfg/atari5200.cfg
ff74f2b7cb9b86aa12bd8f971e93ab5214a01a6c
[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 = $0300; # 3 pages stack
5 }
6 MEMORY {
7     ZP:        file = "", start = $0019,                size = $00E7,                         define = yes;
8     RAM:       file = "", start = $021C,                size = $4000 - __STACKSIZE__ - $021C, define = yes;
9     ROM:       file = %O, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - $18,            define = yes, fill = yes, fillval = $FF;
10     CARTNAME:  file = %O, start = $BFE8,                size = $0014                                        fill = yes, fillval = $40;
11     CARTYEAR:  file = %O, start = $BFFC,                size = $0002                                        fill = yes, fillval = $59;
12     CARTENTRY: file = %O, start = $BFFE,                size = $0002;
13 }
14 SEGMENTS {
15     STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
16     LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
17     INIT:      load = ROM,            type = ro,                optional = yes;
18     CODE:      load = ROM,            type = ro,  define = yes;
19     RODATA:    load = ROM,            type = ro,                optional = yes;
20     DATA:      load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
21     BSS:       load = RAM,            type = bss, define = yes, optional = yes;
22     CARTNAME:  load = CARTNAME,       type = ro,  define = yes;
23     CARTYEAR:  load = CARTYEAR,       type = ro,  define = yes;
24     CARTENTRY: load = CARTENTRY,      type = ro,  define = yes;
25     ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
26     EXTZP:     load = ZP,             type = zp,                optional = yes;
27 }
28 FEATURES {
29     CONDES: type    = constructor,
30             label   = __CONSTRUCTOR_TABLE__,
31             count   = __CONSTRUCTOR_COUNT__,
32             segment = INIT;
33     CONDES: type    = destructor,
34             label   = __DESTRUCTOR_TABLE__,
35             count   = __DESTRUCTOR_COUNT__,
36             segment = RODATA;
37     CONDES: type    = interruptor,
38             label   = __INTERRUPTOR_TABLE__,
39             count   = __INTERRUPTOR_COUNT__,
40             segment = RODATA,
41             import  = __CALLIRQ__;
42 }