]> git.sur5r.net Git - cc65/blob - cfg/geos-apple.cfg
Merge remote-tracking branch 'upstream/master'
[cc65] / cfg / geos-apple.cfg
1 SYMBOLS {
2     __BACKBUFSIZE__: type = weak, value = $2000;
3     __OVERLAYSIZE__: type = weak, value = $0000;
4     __OVERLAYADDR__: type = weak, value = $C000 - __BACKBUFSIZE__ - __OVERLAYSIZE__;
5     __STACKSIZE__:   type = weak, value = $0400;
6     __STACKADDR__:   type = weak, value = $2000 - __STACKSIZE__;
7 }
8 MEMORY {
9     CVT:    file   = %O,  start = $0,              size = $20000;
10     ZP:     define = yes, start = $80,             size = $1A + $06;
11     EXT:    define = yes, start = $0C00,           size = __STACKADDR__ - $0C00;
12     VLIR0:  define = yes, start = $4000,           size = __OVERLAYADDR__ - $4000;
13     VLIR1:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
14     VLIR2:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
15     VLIR3:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
16     VLIR4:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
17     VLIR5:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
18     VLIR6:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
19     VLIR7:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
20     VLIR8:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
21     VLIR9:  define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
22     VLIR10: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
23     VLIR11: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
24     VLIR12: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
25     VLIR13: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
26     VLIR14: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
27     VLIR15: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
28     VLIR16: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
29     VLIR17: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
30     VLIR18: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
31     VLIR19: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
32 }
33 SEGMENTS {
34     ZEROPAGE:  type = zp,  load = ZP;
35     EXTZP:     type = zp,  load = ZP,                 optional   = yes;
36     EXTBSS:    type = bss, load = EXT,                define     = yes,  optional = yes;
37     FILEINFO:  type = ro,                 load = CVT, offset     = $002;
38     RECORDS:   type = ro,                 load = CVT, offset     = $100, optional = yes;
39     DIRENTRY:  type = ro,                 load = CVT, offset     = $180;
40     VLIRIDX0:  type = ro,                 load = CVT, align      = $200, optional = yes;
41     STARTUP:   type = ro,  run  = VLIR0,  load = CVT, align_load = $200, define   = yes;
42     LOWCODE:   type = ro,  run  = VLIR0,  load = CVT,                    optional = yes;
43     INIT:      type = ro,  run  = VLIR0,  load = CVT, define     = yes,  optional = yes;
44     CODE:      type = ro,  run  = VLIR0,  load = CVT;
45     RODATA:    type = ro,  run  = VLIR0,  load = CVT;
46     DATA:      type = rw,  run  = VLIR0,  load = CVT;
47     BSS:       type = bss, load = VLIR0,              define     = yes;
48     VLIRIDX1:  type = ro,                 load = CVT, align      = $200, optional = yes;
49     OVERLAY1:  type = ro,  run  = VLIR1,  load = CVT, align_load = $200, optional = yes;
50     VLIRIDX2:  type = ro,                 load = CVT, align      = $200, optional = yes;
51     OVERLAY2:  type = ro,  run  = VLIR2,  load = CVT, align_load = $200, optional = yes;
52     VLIRIDX3:  type = ro,                 load = CVT, align      = $200, optional = yes;
53     OVERLAY3:  type = ro,  run  = VLIR3,  load = CVT, align_load = $200, optional = yes;
54     VLIRIDX4:  type = ro,                 load = CVT, align      = $200, optional = yes;
55     OVERLAY4:  type = ro,  run  = VLIR4,  load = CVT, align_load = $200, optional = yes;
56     VLIRIDX5:  type = ro,                 load = CVT, align      = $200, optional = yes;
57     OVERLAY5:  type = ro,  run  = VLIR5,  load = CVT, align_load = $200, optional = yes;
58     VLIRIDX6:  type = ro,                 load = CVT, align      = $200, optional = yes;
59     OVERLAY6:  type = ro,  run  = VLIR6,  load = CVT, align_load = $200, optional = yes;
60     VLIRIDX7:  type = ro,                 load = CVT, align      = $200, optional = yes;
61     OVERLAY7:  type = ro,  run  = VLIR7,  load = CVT, align_load = $200, optional = yes;
62     VLIRIDX8:  type = ro,                 load = CVT, align      = $200, optional = yes;
63     OVERLAY8:  type = ro,  run  = VLIR8,  load = CVT, align_load = $200, optional = yes;
64     VLIRIDX9:  type = ro,                 load = CVT, align      = $200, optional = yes;
65     OVERLAY9:  type = ro,  run  = VLIR9,  load = CVT, align_load = $200, optional = yes;
66     VLIRIDX10: type = ro,                 load = CVT, align      = $200, optional = yes;
67     OVERLAY10: type = ro,  run  = VLIR10, load = CVT, align_load = $200, optional = yes;
68     VLIRIDX11: type = ro,                 load = CVT, align      = $200, optional = yes;
69     OVERLAY11: type = ro,  run  = VLIR11, load = CVT, align_load = $200, optional = yes;
70     VLIRIDX12: type = ro,                 load = CVT, align      = $200, optional = yes;
71     OVERLAY12: type = ro,  run  = VLIR12, load = CVT, align_load = $200, optional = yes;
72     VLIRIDX13: type = ro,                 load = CVT, align      = $200, optional = yes;
73     OVERLAY13: type = ro,  run  = VLIR13, load = CVT, align_load = $200, optional = yes;
74     VLIRIDX14: type = ro,                 load = CVT, align      = $200, optional = yes;
75     OVERLAY14: type = ro,  run  = VLIR14, load = CVT, align_load = $200, optional = yes;
76     VLIRIDX15: type = ro,                 load = CVT, align      = $200, optional = yes;
77     OVERLAY15: type = ro,  run  = VLIR15, load = CVT, align_load = $200, optional = yes;
78     VLIRIDX16: type = ro,                 load = CVT, align      = $200, optional = yes;
79     OVERLAY16: type = ro,  run  = VLIR16, load = CVT, align_load = $200, optional = yes;
80     VLIRIDX17: type = ro,                 load = CVT, align      = $200, optional = yes;
81     OVERLAY17: type = ro,  run  = VLIR17, load = CVT, align_load = $200, optional = yes;
82     VLIRIDX18: type = ro,                 load = CVT, align      = $200, optional = yes;
83     OVERLAY18: type = ro,  run  = VLIR18, load = CVT, align_load = $200, optional = yes;
84     VLIRIDX19: type = ro,                 load = CVT, align      = $200, optional = yes;
85     OVERLAY19: type = ro,  run  = VLIR19, load = CVT, align_load = $200, optional = yes;
86 }
87 FEATURES {
88     CONDES: type    = constructor,
89             label   = __CONSTRUCTOR_TABLE__,
90             count   = __CONSTRUCTOR_COUNT__,
91             segment = INIT;
92     CONDES: type    = destructor,
93             label   = __DESTRUCTOR_TABLE__,
94             count   = __DESTRUCTOR_COUNT__,
95             segment = RODATA;
96     CONDES: type    = interruptor,
97             label   = __INTERRUPTOR_TABLE__,
98             count   = __INTERRUPTOR_COUNT__,
99             segment = RODATA,
100             import  = __CALLIRQ__;
101 }