]> git.sur5r.net Git - cc65/blob - cfg/atarixl-largehimem.cfg
Fixed _textcolor definition.
[cc65] / cfg / atarixl-largehimem.cfg
1 # This config file provides a single big upper memory block (HIDDEN_RAM).
2 # To achieve this, it relocates the character generator from $E000 to CHARGEN.
3 # The runtime library must be compiled with CHARGEN_RELOC for this config
4 # file to work. See libsrc/atari/Makefile.inc.
5
6 FEATURES {
7     STARTADDRESS: default = $2400;
8 }
9 SYMBOLS {
10     __EXEHDR__:       type = import;
11     __SYSTEM_CHECK__: type = import;  # force inclusion of "system check" load chunk
12     __AUTOSTART__:    type = import;  # force inclusion of autostart "trailer"
13     __STACKSIZE__:    type = weak, value = $0800; # 2k stack
14     __STARTADDRESS__: type = export, value = %S;
15 }
16 MEMORY {
17     ZP:         file = "", define = yes, start = $0082,                size = $007E;
18
19 # just $FFFF
20     HEADER:     file = %O,               start = $0000,                size = $0002;
21
22 # "system check" load chunk
23     SYSCHKHDR:  file = %O,               start = $0000,                size = $0004;
24     SYSCHKCHNK: file = %O,               start = $2E00,                size = $0300;
25     SYSCHKTRL:  file = %O,               start = $0000,                size = $0006;
26
27 # "shadow RAM preparation" load chunk
28     SRPREPHDR:  file = %O,               start = $0000,                size = $0004;
29     SRPREPCHNK: file = %O, define = yes, start = %S,                   size = $7C20 - %S - $07FF;  # $07FF: space for temp. chargen buffer, 1K aligned
30     SRPREPTRL:  file = %O,               start = $0000,                size = $0006;
31
32 # "main program" load chunk
33     MAINHDR:    file = %O,               start = $0000,                size = $0004;
34     MAIN:       file = %O, define = yes, start = %S + __LOWBSS_SIZE__, size = $D000 - __STACKSIZE__ - %S - __LOWBSS_SIZE__;
35
36 # defines entry point into program
37     TRAILER:    file = %O,               start = $0000,                size = $0006;
38
39 # address of relocated character generator
40     CHARGEN:    file = "", define = yes, start = $D800,                size = $0400;
41
42 # memory beneath the ROM
43     HIDDEN_RAM: file = "", define = yes, start = $DC00,                size = $FFFA - $DC00;
44 }
45 SEGMENTS {
46     ZEROPAGE:    load = ZP,                           type = zp;
47     EXTZP:       load = ZP,                           type = zp,                optional = yes;
48
49     EXEHDR:      load = HEADER,                       type = ro;
50
51     SYSCHKHDR:   load = SYSCHKHDR,                    type = ro,                optional = yes;
52     SYSCHK:      load = SYSCHKCHNK,                   type = rw,  define = yes, optional = yes;
53     SYSCHKTRL:   load = SYSCHKTRL,                    type = ro,                optional = yes;
54
55     SRPREPHDR:   load = SRPREPHDR,                    type = ro;
56     LOWBSS:      load = SRPREPCHNK,                   type = bss, define = yes;  # shared btw. SRPREPCHNK and RAM, not zero initialized
57     SRPREP:      load = SRPREPCHNK,                   type = rw,  define = yes;
58     SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
59     SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
60     SRPREPTRL:   load = SRPREPTRL,                    type = ro;
61
62     MAINHDR:     load = MAINHDR,                      type = ro;
63     STARTUP:     load = MAIN,                         type = ro,  define = yes;
64     LOWCODE:     load = MAIN,                         type = ro,  define = yes, optional = yes;
65     ONCE:        load = MAIN,                         type = ro,                optional = yes;
66     CODE:        load = MAIN,                         type = ro,  define = yes;
67     RODATA:      load = MAIN,                         type = ro;
68     DATA:        load = MAIN,                         type = rw;
69     INIT:        load = MAIN,                         type = rw,                optional = yes;
70     BSS:         load = MAIN,                         type = bss, define = yes;
71     AUTOSTRT:    load = TRAILER,                      type = ro;
72 }
73 FEATURES {
74     CONDES: type    = constructor,
75             label   = __CONSTRUCTOR_TABLE__,
76             count   = __CONSTRUCTOR_COUNT__,
77             segment = ONCE;
78     CONDES: type    = destructor,
79             label   = __DESTRUCTOR_TABLE__,
80             count   = __DESTRUCTOR_COUNT__,
81             segment = RODATA;
82     CONDES: type    = interruptor,
83             label   = __INTERRUPTOR_TABLE__,
84             count   = __INTERRUPTOR_COUNT__,
85             segment = RODATA,
86             import  = __CALLIRQ__;
87 }