]> git.sur5r.net Git - cc65/blob - cfg/atari5200.cfg
atari5200: put default display list into its own memory area
[cc65] / cfg / atari5200.cfg
1 SYMBOLS {
2     __CARTSIZE__:        type = weak,   value = $4000;   # possible values: $4000 and $8000
3     __DLISTSIZE__:       type = weak,   value = $0000;
4     __CART_ENTRY__:      type = import;
5     __STACKSIZE__:       type = weak,   value = $0400;   # 4 pages stack
6     __RESERVED_MEMORY__: type = export, value = $01E0;   # space for 20x24 screen buffer (default display list is in ROM)
7 }
8 MEMORY {
9     ZP:        file = "", start = $001D,                 size = $00E3,                                               define = yes;
10     RAM:       file = "", start = $021C,                 size = $4000 - __STACKSIZE__ - __RESERVED_MEMORY__ - $021C, define = yes;
11     ROM:       file = %O, start = $C000 - __CARTSIZE__,  size = __CARTSIZE__ - __DLISTSIZE__ - $18,                  define = yes, fill = yes, fillval = $FF;
12     DLIST:     file = %O, start = $BFE8 - __DLISTSIZE__, size = __DLISTSIZE__;
13     CARTNAME:  file = %O, start = $BFE8,                 size = $0014                                                              fill = yes, fillval = $40;
14     CARTYEAR:  file = %O, start = $BFFC,                 size = $0002                                                              fill = yes, fillval = $59;
15     CARTENTRY: file = %O, start = $BFFE,                 size = $0002;
16 }
17 SEGMENTS {
18     ZEROPAGE:  load = ZP,             type = zp,                optional = yes;
19     EXTZP:     load = ZP,             type = zp,                optional = yes;
20     STARTUP:   load = ROM,            type = ro,  define = yes, optional = yes;
21     LOWCODE:   load = ROM,            type = ro,  define = yes, optional = yes;
22     ONCE:      load = ROM,            type = ro,                optional = yes;
23     CODE:      load = ROM,            type = ro,  define = yes;
24     RODATA:    load = ROM,            type = ro,                optional = yes;
25     DATA:      load = ROM, run = RAM, type = rw,  define = yes, optional = yes;
26     BSS:       load = RAM,            type = bss, define = yes, optional = yes;
27     DLIST:     load = DLIST,          type = ro,  define = yes, optional = yes;
28     CARTNAME:  load = CARTNAME,       type = ro,  define = yes;
29     CARTYEAR:  load = CARTYEAR,       type = ro,  define = yes;
30     CARTENTRY: load = CARTENTRY,      type = ro,  define = yes;
31 }
32 FEATURES {
33     CONDES: type    = constructor,
34             label   = __CONSTRUCTOR_TABLE__,
35             count   = __CONSTRUCTOR_COUNT__,
36             segment = ONCE;
37     CONDES: type    = destructor,
38             label   = __DESTRUCTOR_TABLE__,
39             count   = __DESTRUCTOR_COUNT__,
40             segment = RODATA;
41     CONDES: type    = interruptor,
42             label   = __INTERRUPTOR_TABLE__,
43             count   = __INTERRUPTOR_COUNT__,
44             segment = RODATA,
45             import  = __CALLIRQ__;
46 }