]> git.sur5r.net Git - cc65/blob - cfg/atarixl-overlay.cfg
Fixed _textcolor definition.
[cc65] / cfg / atarixl-overlay.cfg
1 FEATURES {
2     STARTADDRESS: default = $2400;
3 }
4 SYMBOLS {
5     __EXEHDR__:       type = import;
6     __SYSTEM_CHECK__: type = import;  # force inclusion of "system check" load chunk
7     __AUTOSTART__:    type = import;  # force inclusion of autostart "trailer"
8     __STACKSIZE__:    type = weak, value = $0800; # 2k stack
9     __OVERLAYSIZE__:  type = weak, value = $1000; # 4k overlay
10     __STARTADDRESS__: type = export, value = %S;
11 }
12 MEMORY {
13     ZP:          file = "", define = yes, start = $0082,                size = $007E;
14
15 # just $FFFF
16     HEADER:      file = %O,               start = $0000,                size = $0002;
17
18 # "system check" load chunk
19     SYSCHKHDR:   file = %O,               start = $0000,                size = $0004;
20     SYSCHKCHNK:  file = %O,               start = $2E00,                size = $0300;
21     SYSCHKTRL:   file = %O,               start = $0000,                size = $0006;
22
23 # "shadow RAM preparation" load chunk
24     SRPREPHDR:   file = %O,               start = $0000,                size = $0004;
25     SRPREPCHNK:  file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $7C20 - %S - __OVERLAYSIZE__ - $07FF;  # $07FF: space for temp. chargen buffer, 1K aligned
26     SRPREPTRL:   file = %O,               start = $0000,                size = $0006;
27
28 # "main program" load chunk
29     MAINHDR:     file = %O,               start = $0000,                size = $0004;
30     MAIN:        file = %O, define = yes, start = %S + __OVERLAYSIZE__ +
31                                                        __LOWBSS_SIZE__, size = $D000 - __STACKSIZE__ - %S - __OVERLAYSIZE__ - __LOWBSS_SIZE__;
32
33 # defines entry point into program
34     TRAILER:     file = %O,               start = $0000,                size = $0006;
35
36 # memory beneath the ROM preceeding the character generator
37     HIDDEN_RAM2: file = "", define = yes, start = $D800,                size = $0800;
38
39 # address of relocated character generator (same addess as ROM version)
40     CHARGEN:     file = "", define = yes, start = $E000,                size = $0400;
41
42 # memory beneath the ROM
43     HIDDEN_RAM:  file = "", define = yes, start = $E400,                size = $FFFA - $E400;
44
45 # overlays
46     OVL1:        file = "%O.1",           start = %S,                   size = __OVERLAYSIZE__;
47     OVL2:        file = "%O.2",           start = %S,                   size = __OVERLAYSIZE__;
48     OVL3:        file = "%O.3",           start = %S,                   size = __OVERLAYSIZE__;
49     OVL4:        file = "%O.4",           start = %S,                   size = __OVERLAYSIZE__;
50     OVL5:        file = "%O.5",           start = %S,                   size = __OVERLAYSIZE__;
51     OVL6:        file = "%O.6",           start = %S,                   size = __OVERLAYSIZE__;
52     OVL7:        file = "%O.7",           start = %S,                   size = __OVERLAYSIZE__;
53     OVL8:        file = "%O.8",           start = %S,                   size = __OVERLAYSIZE__;
54     OVL9:        file = "%O.9",           start = %S,                   size = __OVERLAYSIZE__;
55 }
56 SEGMENTS {
57     ZEROPAGE:    load = ZP,                            type = zp;
58     EXTZP:       load = ZP,                            type = zp,                optional = yes;
59
60     EXEHDR:      load = HEADER,                        type = ro;
61
62     SYSCHKHDR:   load = SYSCHKHDR,                     type = ro,                optional = yes;
63     SYSCHK:      load = SYSCHKCHNK,                    type = rw,  define = yes, optional = yes;
64     SYSCHKTRL:   load = SYSCHKTRL,                     type = ro,                optional = yes;
65
66     SRPREPHDR:   load = SRPREPHDR,                     type = ro;
67     LOWBSS:      load = SRPREPCHNK,                    type = bss, define = yes;  # shared btw. SRPREPCHNK and RAM, not zero initialized
68     SRPREP:      load = SRPREPCHNK,                    type = rw,  define = yes;
69     SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM,  type = rw,  define = yes, optional = yes;
70     SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw,  define = yes, optional = yes;
71     SRPREPTRL:   load = SRPREPTRL,                     type = ro;
72
73     MAINHDR:     load = MAINHDR,                       type = ro;
74     STARTUP:     load = MAIN,                          type = ro,  define = yes;
75     LOWCODE:     load = MAIN,                          type = ro,  define = yes, optional = yes;
76     ONCE:        load = MAIN,                          type = ro,                optional = yes;
77     CODE:        load = MAIN,                          type = ro,  define = yes;
78     RODATA:      load = MAIN,                          type = ro;
79     DATA:        load = MAIN,                          type = rw;
80     INIT:        load = MAIN,                          type = rw,                optional = yes;
81     BSS:         load = MAIN,                          type = bss, define = yes;
82     AUTOSTRT:    load = TRAILER,                       type = ro;
83
84     OVERLAY1:    load = OVL1,                          type = ro,  define = yes, optional = yes;
85     OVERLAY2:    load = OVL2,                          type = ro,  define = yes, optional = yes;
86     OVERLAY3:    load = OVL3,                          type = ro,  define = yes, optional = yes;
87     OVERLAY4:    load = OVL4,                          type = ro,  define = yes, optional = yes;
88     OVERLAY5:    load = OVL5,                          type = ro,  define = yes, optional = yes;
89     OVERLAY6:    load = OVL6,                          type = ro,  define = yes, optional = yes;
90     OVERLAY7:    load = OVL7,                          type = ro,  define = yes, optional = yes;
91     OVERLAY8:    load = OVL8,                          type = ro,  define = yes, optional = yes;
92     OVERLAY9:    load = OVL9,                          type = ro,  define = yes, optional = yes;
93 }
94 FEATURES {
95     CONDES: type    = constructor,
96             label   = __CONSTRUCTOR_TABLE__,
97             count   = __CONSTRUCTOR_COUNT__,
98             segment = ONCE;
99     CONDES: type    = destructor,
100             label   = __DESTRUCTOR_TABLE__,
101             count   = __DESTRUCTOR_COUNT__,
102             segment = RODATA;
103     CONDES: type    = interruptor,
104             label   = __INTERRUPTOR_TABLE__,
105             count   = __INTERRUPTOR_COUNT__,
106             segment = RODATA,
107             import  = __CALLIRQ__;
108 }