From feb212df62b5a06d8c1153b40a35ecdaa7aade7e Mon Sep 17 00:00:00 2001 From: uz Date: Tue, 22 Sep 2009 09:33:49 +0000 Subject: [PATCH] New linker config for the VIC-20 with 32K cartridge by Stefan Haubenthal. git-svn-id: svn://svn.cc65.org/cc65/trunk@4205 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- packages/rpm/redhat/cc65.spec | 2 +- src/ld65/cfg/vic20-32k.cfg | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/ld65/cfg/vic20-32k.cfg diff --git a/packages/rpm/redhat/cc65.spec b/packages/rpm/redhat/cc65.spec index 47261617c..a0932e448 100644 --- a/packages/rpm/redhat/cc65.spec +++ b/packages/rpm/redhat/cc65.spec @@ -90,7 +90,6 @@ in HTML format. Other formats can be generated from the sources. %doc doc/internal.txt %doc doc/newvers.txt %doc samples -%doc src/ld65/cfg/*.cfg @@ -446,6 +445,7 @@ programs for the Commodore VIC20 using the cc65 crosscompiler. %files vic20 %attr(644,root,root) /usr/lib/cc65/lib/vic20.lib %attr(644,root,root) /usr/lib/cc65/joy/vic20-*.joy +%attr(644,root,root) /usr/lib/cc65/cfg/vic20-*.cfg diff --git a/src/ld65/cfg/vic20-32k.cfg b/src/ld65/cfg/vic20-32k.cfg new file mode 100644 index 000000000..1b164fc4b --- /dev/null +++ b/src/ld65/cfg/vic20-32k.cfg @@ -0,0 +1,34 @@ +# Memory configuration for the VIC-20 with 32K RAM Cartridge +# Contributed by Stefan Haubenthal +MEMORY { + ZP: start = $0002, size = $001A, type = rw, define = yes; + RAM: start = $11FF, size = $6E01, define = yes, file = %O; +} +SEGMENTS { + STARTUP: load = RAM, type = ro; + 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__; + CONDES: segment = RODATA, + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; + CONDES: segment = RODATA, + type = interruptor, + label = __INTERRUPTOR_TABLE__, + count = __INTERRUPTOR_COUNT__; +} +SYMBOLS { + __STACKSIZE__ = $400; # 1K stack +} -- 2.39.5