]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/vic20.cfg
Move the constructor tables into the INIT segment
[cc65] / src / ld65 / cfg / vic20.cfg
1 MEMORY {
2     ZP: start =  $0002, size = $001A, type = rw, define = yes;
3     RAM: start = $0FFF, size = $0E01, define = yes, file = %O;
4 }
5 SEGMENTS {
6     STARTUP:  load = RAM, type = ro;
7     LOWCODE:  load = RAM, type = ro,               optional = yes;
8     INIT:     load = RAM, type = ro, define = yes, optional = yes;
9     CODE:     load = RAM, type = ro;
10     RODATA:   load = RAM, type = ro;
11     DATA:     load = RAM, type = rw;
12     BSS:      load = RAM, type = bss, define = yes;
13     ZEROPAGE: load = ZP,  type = zp;
14 }
15 FEATURES {
16     CONDES: segment = INIT,
17             type = constructor,
18             label = __CONSTRUCTOR_TABLE__,
19             count = __CONSTRUCTOR_COUNT__;
20     CONDES: segment = RODATA,
21             type = destructor,
22             label = __DESTRUCTOR_TABLE__,
23             count = __DESTRUCTOR_COUNT__;
24     # condes functions with type 2 are called in the interrupt
25     CONDES: segment = RODATA,
26             type = interruptor,
27             label = __INTERRUPTOR_TABLE__,
28             count = __INTERRUPTOR_COUNT__;
29 }
30 SYMBOLS {
31     __STACKSIZE__ = $400;       # 1K stack
32 }
33
34
35