From: ol.sc
Date: Sun, 21 Mar 2010 17:10:17 +0000 (+0000)
Subject: - No more HEAP segment
X-Git-Tag: V2.13.3~790
X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4b689107a4cb2a4d75827f294cde3a1646814890;p=cc65
- No more HEAP segment
- RAM reduced by __STACKSIZE__
- Unified formatting
git-svn-id: svn://svn.cc65.org/cc65/trunk@4633 b7a2c559-68d2-44c3-8de9-860c34a00d81
---
diff --git a/src/ld65/cfg/apple2-dos33.cfg b/src/ld65/cfg/apple2-dos33.cfg
index 22168e4b2..8e532b2b7 100644
--- a/src/ld65/cfg/apple2-dos33.cfg
+++ b/src/ld65/cfg/apple2-dos33.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0803;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $9600 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D000, size = $3000, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $9600 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D000, size = $3000;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2-loader.cfg b/src/ld65/cfg/apple2-loader.cfg
index f79e0a8c0..51db3f7ad 100644
--- a/src/ld65/cfg/apple2-loader.cfg
+++ b/src/ld65/cfg/apple2-loader.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0800;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $BF00 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $BF00 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2-reboot.cfg b/src/ld65/cfg/apple2-reboot.cfg
index f49c74ec2..824ef264b 100644
--- a/src/ld65/cfg/apple2-reboot.cfg
+++ b/src/ld65/cfg/apple2-reboot.cfg
@@ -4,12 +4,15 @@
FEATURES {
STARTADDRESS: default = $0800;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $BF00 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D000, size = $1000, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $BF00 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D000, size = $1000;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -33,11 +36,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2-system.cfg b/src/ld65/cfg/apple2-system.cfg
index 9a59946a0..7bf2f39b6 100644
--- a/src/ld65/cfg/apple2-system.cfg
+++ b/src/ld65/cfg/apple2-system.cfg
@@ -1,11 +1,14 @@
# Configuration for ProDOS 8 system programs (without the header)
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = "";
- RAM: start = $2000, size = $9F00, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = "", start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = $2000, size = $9F00 - __STACKSIZE__;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -29,11 +32,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2.cfg b/src/ld65/cfg/apple2.cfg
index 577caab1b..68c76502e 100644
--- a/src/ld65/cfg/apple2.cfg
+++ b/src/ld65/cfg/apple2.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0803;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $9600 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $9600 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2enh-dos33.cfg b/src/ld65/cfg/apple2enh-dos33.cfg
index 22168e4b2..8e532b2b7 100644
--- a/src/ld65/cfg/apple2enh-dos33.cfg
+++ b/src/ld65/cfg/apple2enh-dos33.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0803;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $9600 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D000, size = $3000, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $9600 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D000, size = $3000;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2enh-loader.cfg b/src/ld65/cfg/apple2enh-loader.cfg
index f79e0a8c0..51db3f7ad 100644
--- a/src/ld65/cfg/apple2enh-loader.cfg
+++ b/src/ld65/cfg/apple2enh-loader.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0800;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $BF00 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $BF00 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2enh-reboot.cfg b/src/ld65/cfg/apple2enh-reboot.cfg
index f49c74ec2..824ef264b 100644
--- a/src/ld65/cfg/apple2enh-reboot.cfg
+++ b/src/ld65/cfg/apple2enh-reboot.cfg
@@ -4,12 +4,15 @@
FEATURES {
STARTADDRESS: default = $0800;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $BF00 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D000, size = $1000, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $BF00 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D000, size = $1000;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -33,11 +36,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2enh-system.cfg b/src/ld65/cfg/apple2enh-system.cfg
index 9a59946a0..7bf2f39b6 100644
--- a/src/ld65/cfg/apple2enh-system.cfg
+++ b/src/ld65/cfg/apple2enh-system.cfg
@@ -1,11 +1,14 @@
# Configuration for ProDOS 8 system programs (without the header)
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = "";
- RAM: start = $2000, size = $9F00, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = "", start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = $2000, size = $9F00 - __STACKSIZE__;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -29,11 +32,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/apple2enh.cfg b/src/ld65/cfg/apple2enh.cfg
index 577caab1b..68c76502e 100644
--- a/src/ld65/cfg/apple2enh.cfg
+++ b/src/ld65/cfg/apple2enh.cfg
@@ -3,12 +3,15 @@
FEATURES {
STARTADDRESS: default = $0803;
}
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0080, size = $001A, define = yes;
- HEADER: start = $0000, size = $0004, file = %O;
- RAM: start = %S, size = $9600 - %S, file = %O, define = yes;
- MOVE: start = $0000, size = $FFFF, file = %O, define = yes;
- LC: start = $D400, size = $0C00, define = yes;
+ ZP: define = yes, start = $0080, size = $001A;
+ HEADER: file = %O, start = $0000, size = $0004;
+ RAM: file = %O, define = yes, start = %S, size = $9600 - __STACKSIZE__ - %S;
+ MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
+ LC: define = yes, start = $D400, size = $0C00;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
@@ -32,11 +35,8 @@ FEATURES {
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
+ CONDES: segment = RODATA,
+ type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__;
}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
-}
diff --git a/src/ld65/cfg/atari.cfg b/src/ld65/cfg/atari.cfg
index 1b8ee8b2a..88757512c 100644
--- a/src/ld65/cfg/atari.cfg
+++ b/src/ld65/cfg/atari.cfg
@@ -6,10 +6,10 @@ SYMBOLS {
__RESERVED_MEMORY__: value = $0000, weak = yes;
}
MEMORY {
- ZP: start = $0082, size = $007E, type = rw, define = yes;
- HEADER: start = $0000, size = $0006, file = %O;
- RAM: start = %S, size = $BC20 - __STACKSIZE__ - %S, file = %O;
- TRAILER: start = $0000, size = $0006, file = %O;
+ ZP: define = yes, start = $0082, size = $007E;
+ HEADER: file = %O, start = $0000, size = $0006;
+ RAM: file = %O, start = %S, size = $BC20 - __STACKSIZE__ - %S;
+ TRAILER: file = %O, start = $0000, size = $0006;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
@@ -21,22 +21,21 @@ SEGMENTS {
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss, define = yes;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
EXTZP: load = ZP, type = zp, optional = yes;
AUTOSTRT: load = TRAILER, type = ro;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/atmos.cfg b/src/ld65/cfg/atmos.cfg
index b6a3704d5..a71fca5a2 100644
--- a/src/ld65/cfg/atmos.cfg
+++ b/src/ld65/cfg/atmos.cfg
@@ -1,38 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $00E2, size = $001A, type = rw, define = yes;
- TAPEHDR: start = $0000, size = $000E, type = ro, file = %O;
- RAM: start = $0500, size = $9300, file = %O, define = yes;
+ ZP: define = yes, start = $00E2, size = $001A;
+ TAPEHDR: file = %O, type = ro, start = $0000, size = $000E;
+ RAM: file = %O, define = yes, start = $0500, size = $9300 - __STACKSIZE__;
}
SEGMENTS {
TAPEHDR: load = TAPEHDR, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
-
-
diff --git a/src/ld65/cfg/bbc.cfg b/src/ld65/cfg/bbc.cfg
index fa3069e65..f0d608f24 100644
--- a/src/ld65/cfg/bbc.cfg
+++ b/src/ld65/cfg/bbc.cfg
@@ -1,34 +1,31 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0070, size = $0020, type = rw, define = yes;
- RAM: start = $0E00, size = $7200, file = %O;
+ ZP: define = yes, start = $0070, size = $0020;
+ RAM: file = %O, start = $0E00, size = $7200 - __STACKSIZE__;
}
SEGMENTS {
- STARTUP: load = RAM, type = ro, define = yes;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ STARTUP: load = RAM, type = ro, define = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
-
diff --git a/src/ld65/cfg/c128.cfg b/src/ld65/cfg/c128.cfg
index 71c11cffd..9b0e7c754 100644
--- a/src/ld65/cfg/c128.cfg
+++ b/src/ld65/cfg/c128.cfg
@@ -1,35 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $1BFF, size = $000E, file = %O;
- RAM: start = $1C0D, size = $A3F3, file = %O, define = yes;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $1BFF, size = $000E;
+ RAM: file = %O, define = yes, start = $1C0D, size = $A3F3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/c16.cfg b/src/ld65/cfg/c16.cfg
index d2700fa37..7386b34cc 100644
--- a/src/ld65/cfg/c16.cfg
+++ b/src/ld65/cfg/c16.cfg
@@ -1,35 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $0FFF, size = $000E, file = %O;
- RAM: start = $100D, size = $6FF3, file = %O;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $0FFF, size = $000E;
+ RAM: file = %O, start = $100D, size = $6FF3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/c64.cfg b/src/ld65/cfg/c64.cfg
index 2ce94b6fe..f7a126e08 100644
--- a/src/ld65/cfg/c64.cfg
+++ b/src/ld65/cfg/c64.cfg
@@ -1,37 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $07FF, size = $000E, file = %O;
- RAM: start = $080D, size = $C7F3, file = %O, define = yes;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $07FF, size = $000E;
+ RAM: file = %O, define = yes, start = $080D, size = $C7F3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
-
diff --git a/src/ld65/cfg/cbm510.cfg b/src/ld65/cfg/cbm510.cfg
index 9c9d373f2..7a77930bf 100644
--- a/src/ld65/cfg/cbm510.cfg
+++ b/src/ld65/cfg/cbm510.cfg
@@ -1,42 +1,41 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0781, weak = yes; # ~2k stack
+}
MEMORY {
- HEADER: start = $0001, size = $0050, fill = yes, fillval = 0, type = rw, file = %O;
- ZP: start = $0051, size = $00AD, fill = yes, fillval = 0, type = rw, file = %O, define = yes;
- STARTUP: start = $00FE, size = $0102, fill = yes, fillval = 0, file = %O;
- PAGE2: start = $0200, size = $0100, fill = yes, fillval = 0, file = %O;
- PAGE3: start = $0300, size = $0100, fill = yes, fillval = 0, file = %O;
- RAM: start = $0400, size = $DC00, file = %O;
- CHARRAM: start = $E000, size = $1000, define = yes, file = "";
- VIDRAM: start = $F000, size = $0400, define = yes, file = "";
+ HEADER: file = %O, start = $0001, size = $0050, fill = yes;
+ ZP: file = %O, define = yes, start = $0051, size = $00AD, fill = yes;
+ STARTUP: file = %O, start = $00FE, size = $0102, fill = yes;
+ PAGE2: file = %O, start = $0200, size = $0100, fill = yes;
+ PAGE3: file = %O, start = $0300, size = $0100, fill = yes;
+ RAM: file = %O, start = $0400, size = $DC00 - __STACKSIZE__;
+ CHARRAM: file = "", define = yes, start = $E000, size = $1000;
+ VIDRAM: file = "", define = yes, start = $F000, size = $0400;
}
SEGMENTS {
- EXEHDR: load = HEADER, type = rw;
- STARTUP: load = STARTUP, type = rw;
- PAGE2: load = PAGE2, type = rw;
- PAGE3: load = PAGE3, type = rw;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
- ZEROPAGE: load = ZP, type = zp;
- EXTZP: load = ZP, type = rw, define = yes;
+ EXEHDR: load = HEADER, type = rw;
+ STARTUP: load = STARTUP, type = rw;
+ PAGE2: load = PAGE2, type = rw;
+ PAGE3: load = PAGE3, type = rw;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
+ EXTZP: load = ZP, type = rw, define = yes;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0781, weak = yes; # ~2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/cbm610.cfg b/src/ld65/cfg/cbm610.cfg
index 79dd77580..7df52e845 100644
--- a/src/ld65/cfg/cbm610.cfg
+++ b/src/ld65/cfg/cbm610.cfg
@@ -1,40 +1,39 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- HEADER: start = $0001, size = $0050, type = rw, fill = yes, fillval = 0, file = %O;
- ZP: start = $0051, size = $00AD, type = rw, define = yes, fill = yes, fillval = 0, file = %O;
- STARTUP: start = $00FE, size = $0102, fill = yes, fillval = 0, file = %O;
- PAGE2: start = $0200, size = $0100, fill = yes, fillval = 0, file = %O;
- PAGE3: start = $0300, size = $0100, fill = yes, fillval = 0, file = %O;
- RAM: start = $0400, size = $FAAE, file = %O;
+ HEADER: file = %O, start = $0001, size = $0050, fill = yes;
+ ZP: file = %O, define = yes, start = $0051, size = $00AD, fill = yes;
+ STARTUP: file = %O, start = $00FE, size = $0102, fill = yes;
+ PAGE2: file = %O, start = $0200, size = $0100, fill = yes;
+ PAGE3: file = %O, start = $0300, size = $0100, fill = yes;
+ RAM: file = %O, start = $0400, size = $FAAE - __STACKSIZE__;
}
SEGMENTS {
- EXEHDR: load = HEADER, type = rw;
- STARTUP: load = STARTUP, type = rw;
- PAGE2: load = PAGE2, type = rw;
- PAGE3: load = PAGE3, type = rw;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
- CODE: load = RAM, type = ro;
- RODATA: load = RAM, type = ro;
- DATA: load = RAM, type = rw;
- BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
- ZEROPAGE: load = ZP, type = zp;
- EXTZP: load = ZP, type = rw, define = yes;
+ EXEHDR: load = HEADER, type = rw;
+ STARTUP: load = STARTUP, type = rw;
+ PAGE2: load = PAGE2, type = rw;
+ PAGE3: load = PAGE3, type = rw;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
+ CODE: load = RAM, type = ro;
+ RODATA: load = RAM, type = ro;
+ DATA: load = RAM, type = rw;
+ BSS: load = RAM, type = bss, define = yes;
+ ZEROPAGE: load = ZP, type = zp;
+ EXTZP: load = ZP, type = rw, define = yes;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/geos.cfg b/src/ld65/cfg/geos.cfg
index 05673385d..d38153b8f 100644
--- a/src/ld65/cfg/geos.cfg
+++ b/src/ld65/cfg/geos.cfg
@@ -1,35 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0400, weak = yes; # 1k stack
+}
MEMORY {
- ZP: start = $0058, size = $0028, type = rw, define = yes;
- HEADER: start = $0204, size = $01FC, file = %O;
- RAM: start = $0400, size = $5C00, define = yes, file = %O;
+ ZP: define = yes, start = $0058, size = $0028;
+ HEADER: file = %O, start = $0204, size = $01FC;
+ RAM: file = %O, define = yes, start = $0400, size = $5C00 - __STACKSIZE__;
}
SEGMENTS {
HEADER: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
EXTZP: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0400, weak = yes; # 1k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/lunix.cfg b/src/ld65/cfg/lunix.cfg
index 946e405f6..8e29d634d 100644
--- a/src/ld65/cfg/lunix.cfg
+++ b/src/ld65/cfg/lunix.cfg
@@ -1,41 +1,43 @@
# ld65 Linker-configuration for LUnix, Next Generation.
+
+SYMBOLS {
+ __HEAPSIZE__: value = $2000, weak = yes; # 8k heap [temporary, until LUnix malloc() exists]
+ __STACKSIZE__: value = $0400, weak = yes; # 1k stack (do typical LUnix apps. need 2k?)
+}
MEMORY {
- ZP: start = $0080, size = $0040; # userzp buffer
- RAM: start = %S, size = $7600;
+ ZP: start = $0080, size = $0040;
+ RAM: start = %S, size = $7600 - __STACKSIZE__;
}
SEGMENTS {
- ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers
- STARTUP: load = RAM, type = ro; # First initiation code
- LOWCODE: load = RAM, type = ro, optional = yes; # Legacy from other platforms
- INIT: load = RAM, type = ro, define = yes, optional = yes;
- CODE: load = RAM, type = ro; # Program
- RODATA: load = RAM, type = ro; # Literals, constants
- DATA: load = RAM, type = rw; # Initialized variables
- BSS: load = RAM, type = bss, define = yes; # Uninitialized variables
+ ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers
+ STARTUP: load = RAM, type = ro; # First initialization code
+ LOWCODE: load = RAM, type = ro, optional = yes; # Legacy from other platforms
+ INIT: load = RAM, type = ro, define = yes, optional = yes; # Library initialization code
+ CODE: load = RAM, type = ro; # Program
+ RODATA: load = RAM, type = ro; # Literals, constants
+ DATA: load = RAM, type = rw; # Initialized variables
+ BSS: load = RAM, type = bss, define = yes; # Uninitialized variables
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
FILES {
%O: format = o65;
}
FORMATS {
- o65: os = lunix, type = small,
+ o65: os = lunix,
+ type = small,
export = main, # Program entry-point
import = LUNIXKERNEL; # Kernel entry-points
}
-SYMBOLS {
- __HEAPSIZE__: value = $2000, weak = yes; # 8k heap [temporary, until LUnix malloc() exists]
- __STACKSIZE__: value = $0400, weak = yes; # 1k stack (do typical LUnix apps. need 2k?)
-}
diff --git a/src/ld65/cfg/lynx.cfg b/src/ld65/cfg/lynx.cfg
index 8aee49f2c..c60482472 100644
--- a/src/ld65/cfg/lynx.cfg
+++ b/src/ld65/cfg/lynx.cfg
@@ -1,36 +1,35 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0000, size = $0100, type = rw, define = yes;
- HEADER: start = $0000, size = $000A, file = %O;
- RAM: start = $0400, size = $BC38, define = yes, file = %O;
+ ZP: define = yes, start = $0000, size = $0100;
+ HEADER: file = %O, start = $0000, size = $000A;
+ RAM: file = %O, define = yes, start = $0400, size = $BC38 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
- EXTZP: load = ZP, type = zp, optional = yes;
- APPZP: load = ZP, type = zp, optional = yes;
+ EXTZP: load = ZP, type = zp, optional = yes;
+ APPZP: load = ZP, type = zp, optional = yes;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/module.cfg b/src/ld65/cfg/module.cfg
index e36bc5f96..72db8c79b 100644
--- a/src/ld65/cfg/module.cfg
+++ b/src/ld65/cfg/module.cfg
@@ -16,7 +16,6 @@ FILES {
%O: format = o65;
}
FORMATS {
- o65: os = cc65, type = small;
+ o65: os = cc65,
+ type = small;
}
-
-
diff --git a/src/ld65/cfg/nes.cfg b/src/ld65/cfg/nes.cfg
index 2e2bb108e..be9ee94b5 100644
--- a/src/ld65/cfg/nes.cfg
+++ b/src/ld65/cfg/nes.cfg
@@ -1,37 +1,37 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0300, weak = yes; # 3 pages stack
+}
MEMORY {
-
- ZP: start = $02, size = $1A, type = rw, define = yes;
+ ZP: start = $0002, size = $001A, type = rw, define = yes;
# INES Cartridge Header
- HEADER: start = $0, size = $10, file = %O ,fill = yes;
+ HEADER: start = $0000, size = $0010, file = %O, fill = yes;
# 2 16K ROM Banks
# - startup
# - code
# - rodata
# - data (load)
- ROM0: start = $8000, size = $7ff4, file = %O ,fill = yes, define = yes;
+ ROM0: start = $8000, size = $7FF4, file = %O, fill = yes, define = yes;
# Hardware Vectors at End of 2nd 8K ROM
- ROMV: start = $fff6, size = $c, file = %O, fill = yes;
+ ROMV: start = $FFF6, size = $000C, file = %O, fill = yes;
# 1 8k CHR Bank
- ROM2: start = $0000, size = $2000, file = %O, fill = yes;
+ ROM2: start = $0000, size = $2000, file = %O, fill = yes;
# standard 2k SRAM (-zeropage)
# $0100-$0200 cpu stack
# $0200-$0500 3 pages for ppu memory write buffer
# $0500-$0800 3 pages for cc65 parameter stack
- SRAM: start = $0500, size = $0300, define = yes;
+ SRAM: start = $0500, size = __STACKSIZE__, define = yes;
# additional 8K SRAM Bank
# - data (run)
# - bss
# - heap
RAM: start = $6000, size = $2000, define = yes;
-
}
-
SEGMENTS {
HEADER: load = HEADER, type = ro;
STARTUP: load = ROM0, type = ro, define = yes;
@@ -43,25 +43,19 @@ SEGMENTS {
VECTORS: load = ROMV, type = rw;
CHARS: load = ROM2, type = rw;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes;
ZEROPAGE: load = ZP, type = zp;
}
-
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-
-SYMBOLS {
- __STACKSIZE__: value = $0300, weak = yes; # 3 pages stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/none.cfg b/src/ld65/cfg/none.cfg
index 7d89bcf6c..3cbc2d700 100644
--- a/src/ld65/cfg/none.cfg
+++ b/src/ld65/cfg/none.cfg
@@ -1,31 +1,30 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0000, size = $0001F, type = rw, define = yes;
- RAM: start = %S, size = $10000, file = %O;
+ ZP: define = yes, start = $0000, size = $0001F;
+ RAM: file = %O, start = %S, size = $10000 - __STACKSIZE__;
}
SEGMENTS {
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = rw;
RODATA: load = RAM, type = rw;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/pet.cfg b/src/ld65/cfg/pet.cfg
index 33990c4f4..6d224604e 100644
--- a/src/ld65/cfg/pet.cfg
+++ b/src/ld65/cfg/pet.cfg
@@ -1,36 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0055, size = $001A, type = rw, define = yes;
- HEADER: start = $03FF, size = $000E, file = %O;
- RAM: start = $040D, size = $7BF3, file = %O;
+ ZP: define = yes, start = $0055, size = $001A;
+ HEADER: file = %O, start = $03FF, size = $000E;
+ RAM: file = %O, start = $040D, size = $7BF3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
diff --git a/src/ld65/cfg/plus4.cfg b/src/ld65/cfg/plus4.cfg
index 4b098cc79..903a9debb 100644
--- a/src/ld65/cfg/plus4.cfg
+++ b/src/ld65/cfg/plus4.cfg
@@ -1,35 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $0FFF, size = $000E, file = %O;
- RAM: start = $100D, size = $ECF3, file = %O;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $0FFF, size = $000E;
+ RAM: file = %O, start = $100D, size = $ECF3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0800, weak = yes; # 2k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/supervision-128k.cfg b/src/ld65/cfg/supervision-128k.cfg
index fe0b4e39c..7f3ee51cc 100644
--- a/src/ld65/cfg/supervision-128k.cfg
+++ b/src/ld65/cfg/supervision-128k.cfg
@@ -16,7 +16,6 @@ MEMORY {
BANKROM7: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
ROM: start = $c000, size = $4000, fill = yes, fillval = $FF, file = %O;
}
-
SEGMENTS {
LOWCODE: load = ROM, type = ro, optional = yes;
INIT: load = ROM, type = ro, define = yes, optional = yes;
@@ -29,8 +28,7 @@ SEGMENTS {
BANK6: load = BANKROM6, type = ro;
BANK7: load = BANKROM7, type = ro;
ZEROPAGE: load = RAM, type = bss, define = yes;
- DATA: load = RAM, type = bss, offset = $0200, define = yes;
+ DATA: load = RAM, type = bss, define = yes, offset = $0200;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
- VECTOR: load = ROM, type = ro, offset = $3FFA;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
}
diff --git a/src/ld65/cfg/supervision-16k.cfg b/src/ld65/cfg/supervision-16k.cfg
index 1dbb8b520..5ec5db54e 100644
--- a/src/ld65/cfg/supervision-16k.cfg
+++ b/src/ld65/cfg/supervision-16k.cfg
@@ -19,21 +19,19 @@ SEGMENTS {
FFF0: load = ROM, type = ro, offset = $3FF0;
VECTOR: load = ROM, type = ro, offset = $3FFA;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp, define = yes;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
diff --git a/src/ld65/cfg/supervision-64k.cfg b/src/ld65/cfg/supervision-64k.cfg
index d8eadb693..4cafdecae 100644
--- a/src/ld65/cfg/supervision-64k.cfg
+++ b/src/ld65/cfg/supervision-64k.cfg
@@ -12,7 +12,6 @@ MEMORY {
BANKROM3: start = $8000, size = $4000, fill = yes, fillval = $FF, file = %O;
ROM: start = $C000, size = $4000, fill = yes, fillval = $FF, file = %O;
}
-
SEGMENTS {
LOWCODE: load = ROM, type = ro, optional = yes;
INIT: load = ROM, type = ro, define = yes, optional = yes;
@@ -22,8 +21,7 @@ SEGMENTS {
BANK2: load = BANKROM2, type = ro;
BANK3: load = BANKROM3, type = ro;
ZEROPAGE: load = RAM, type = bss, define = yes;
- DATA: load = RAM, type = bss, offset = $0200, define = yes;
+ DATA: load = RAM, type = bss, define = yes, offset = $0200;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
- VECTOR: load = ROM, type = ro, offset = $3FFA;
+ VECTOR: load = ROM, type = ro, offset = $3FFA;
}
diff --git a/src/ld65/cfg/supervision.cfg b/src/ld65/cfg/supervision.cfg
index 19c5572ff..22bfa446e 100644
--- a/src/ld65/cfg/supervision.cfg
+++ b/src/ld65/cfg/supervision.cfg
@@ -7,9 +7,8 @@ MEMORY {
CPUSTACK: start = $0100, size = $0100;
RAM: start = $0200, size = $1E00, define = yes;
VRAM: start = $4000, size = $2000;
- ROM: start = $8000, size = $8000, fill = yes, fillval = $ff, file = %O, define = yes;
+ ROM: start = $8000, size = $8000, fill = yes, fillval = $FF, file = %O, define = yes;
}
-
SEGMENTS {
LOWCODE: load = ROM, type = ro, optional = yes;
INIT: load = ROM, type = ro, define = yes, optional = yes;
@@ -19,21 +18,19 @@ SEGMENTS {
FFF0: load = ROM, type = ro, offset = $7FF0;
VECTOR: load = ROM, type = ro, offset = $7FFA;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp, define = yes;
}
-
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
+ CONDES: segment = RODATA,
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
- CONDES: type = interruptor,
- segment = RODATA,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/vic20-32k.cfg b/src/ld65/cfg/vic20-32k.cfg
index 666cd15ea..1aeffcc88 100644
--- a/src/ld65/cfg/vic20-32k.cfg
+++ b/src/ld65/cfg/vic20-32k.cfg
@@ -1,37 +1,37 @@
# Memory configuration for the VIC-20 with 32K RAM Cartridge
# Contributed by Stefan Haubenthal
+
+SYMBOLS {
+ __STACKSIZE__: value = $0400, weak = yes; # 1k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $11FF, size = $000E, file = %O;
- RAM: start = $120D, size = $6DF3, file = %O, define = yes;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $11FF, size = $000E;
+ RAM: file = %O, define = yes, start = $120D, size = $6DF3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0400, weak = yes; # 1k stack
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
diff --git a/src/ld65/cfg/vic20.cfg b/src/ld65/cfg/vic20.cfg
index 03eba699d..e4afc6fab 100644
--- a/src/ld65/cfg/vic20.cfg
+++ b/src/ld65/cfg/vic20.cfg
@@ -1,39 +1,34 @@
+SYMBOLS {
+ __STACKSIZE__: value = $0400, weak = yes; # 1k stack
+}
MEMORY {
- ZP: start = $0002, size = $001A, type = rw, define = yes;
- HEADER: start = $0FFF, size = $000E, file = %O;
- RAM: start = $100D, size = $0DF3, file = %O, define = yes;
+ ZP: define = yes, start = $0002, size = $001A;
+ HEADER: file = %O, start = $0FFF, size = $000E;
+ RAM: file = %O, define = yes, start = $100D, size = $0DF3 - __STACKSIZE__;
}
SEGMENTS {
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
- LOWCODE: load = RAM, type = ro, optional = yes;
- INIT: load = RAM, type = ro, define = yes, optional = yes;
+ LOWCODE: load = RAM, type = ro, optional = yes;
+ INIT: load = RAM, type = ro, define = yes, optional = yes;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
ZPSAVE: load = RAM, type = bss;
BSS: load = RAM, type = bss, define = yes;
- HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack
ZEROPAGE: load = ZP, type = zp;
}
FEATURES {
CONDES: segment = INIT,
- type = constructor,
- label = __CONSTRUCTOR_TABLE__,
- count = __CONSTRUCTOR_COUNT__;
+ type = constructor,
+ label = __CONSTRUCTOR_TABLE__,
+ count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = destructor,
- label = __DESTRUCTOR_TABLE__,
- count = __DESTRUCTOR_COUNT__;
+ type = destructor,
+ label = __DESTRUCTOR_TABLE__,
+ count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA,
- type = interruptor,
- label = __INTERRUPTOR_TABLE__,
- count = __INTERRUPTOR_COUNT__;
-}
-SYMBOLS {
- __STACKSIZE__: value = $0400, weak = yes; # 1k stack
-
+ type = interruptor,
+ label = __INTERRUPTOR_TABLE__,
+ count = __INTERRUPTOR_COUNT__;
}
-
-
-