]> git.sur5r.net Git - cc65/blob - cfg/lynx-uploader.cfg
Merge pull request #587 from polluks/master
[cc65] / cfg / lynx-uploader.cfg
1 SYMBOLS {
2     __STACKSIZE__:        type = weak, value = $0800; # 2k stack
3     __STARTOFDIRECTORY__: type = weak, value = $00CB; # start just after loader
4     __BANK0BLOCKSIZE__:   type = weak, value = $0400; # bank 0 cart block size
5     __BANK1BLOCKSIZE__:   type = weak, value = $0000; # bank 1 block size
6     __EXEHDR__:           type = import;
7     __BOOTLDR__:          type = import;
8     __DEFDIR__:           type = import;
9     __UPLOADER__:         type = import;
10 }
11 MEMORY {
12     ZP:     file = "", define = yes, start = $0000, size = $0100;
13     HEADER: file = %O,               start = $0000, size = $0040;
14     BOOT:   file = %O,               start = $0200, size = __STARTOFDIRECTORY__;
15     DIR:    file = %O,               start = $0000, size = 8;
16     MAIN:   file = %O, define = yes, start = $0200, size = $BD38 - __STACKSIZE__;
17     UPLDR:  file = %O, define = yes, start = $BFDC, size = $005C;
18 }
19 SEGMENTS {
20     ZEROPAGE: load = ZP,     type = zp;
21     EXTZP:    load = ZP,     type = zp,                optional = yes;
22     APPZP:    load = ZP,     type = zp,                optional = yes;
23     EXEHDR:   load = HEADER, type = ro;
24     BOOTLDR:  load = BOOT,   type = ro;
25     DIRECTORY:load = DIR,    type = ro;
26     STARTUP:  load = MAIN,   type = ro,  define = yes;
27     LOWCODE:  load = MAIN,   type = ro,  define = yes, optional = yes;
28     ONCE:     load = MAIN,   type = ro,  define = yes, optional = yes;
29     CODE:     load = MAIN,   type = ro,  define = yes;
30     RODATA:   load = MAIN,   type = ro,  define = yes;
31     DATA:     load = MAIN,   type = rw,  define = yes;
32     BSS:      load = MAIN,   type = bss, define = yes;
33     UPCODE:   load = UPLDR,  type = ro,  define = yes;
34     UPDATA:   load = UPLDR,  type = rw,  define = yes;
35 }
36 FEATURES {
37     CONDES: type    = constructor,
38             label   = __CONSTRUCTOR_TABLE__,
39             count   = __CONSTRUCTOR_COUNT__,
40             segment = ONCE;
41     CONDES: type    = destructor,
42             label   = __DESTRUCTOR_TABLE__,
43             count   = __DESTRUCTOR_COUNT__,
44             segment = RODATA;
45     CONDES: type    = interruptor,
46             label   = __INTERRUPTOR_TABLE__,
47             count   = __INTERRUPTOR_COUNT__,
48             segment = RODATA,
49             import  = __CALLIRQ__;
50 }