From 460cea425f29fe83f1eb3915d2913e0393466f26 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Thu, 27 Jun 2013 13:04:52 +0200
Subject: [PATCH 1/3] No delimiter comment between includes and first segment.
---
libsrc/sim6502/exehdr.s | 2 --
1 file changed, 2 deletions(-)
diff --git a/libsrc/sim6502/exehdr.s b/libsrc/sim6502/exehdr.s
index 9c895834c..865bd6553 100644
--- a/libsrc/sim6502/exehdr.s
+++ b/libsrc/sim6502/exehdr.s
@@ -6,8 +6,6 @@
.export __EXEHDR__ : absolute = 1 ; Linker referenced
-; ------------------------------------------------------------------------
-
.segment "EXEHDR"
.byte .defined(__SIM65C02__)
From 3af758ced542b6f7bc1973664bc82ef6c053079b Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Thu, 27 Jun 2013 23:09:54 +0200
Subject: [PATCH 2/3] Have __PLUS4__ imply __C16__.
---
include/cbm264.h | 2 +-
libsrc/dbg/dbg.c | 2 +-
src/ca65/main.c | 3 ++-
src/cc65/main.c | 3 ++-
4 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/cbm264.h b/include/cbm264.h
index 9ede10f47..ff7468d30 100644
--- a/include/cbm264.h
+++ b/include/cbm264.h
@@ -39,7 +39,7 @@
/* Check for errors */
-#if !defined(__PLUS4__) && !defined(__C16__)
+#if !defined(__C16__)
# error This module may only be used when compiling for the Plus/4 or C16!
#endif
diff --git a/libsrc/dbg/dbg.c b/libsrc/dbg/dbg.c
index c0c2da971..00ff28722 100644
--- a/libsrc/dbg/dbg.c
+++ b/libsrc/dbg/dbg.c
@@ -47,7 +47,7 @@ static char GetKeyUpdate (void);
/* Color definitions */
-#if defined(__PLUS4__) || defined(__C16__)
+#if defined(__C16__)
# define COLOR_BORDER (BCOLOR_DARKBLUE | CATTR_LUMA6)
# define COLOR_BACKGROUND COLOR_WHITE
# define COLOR_TEXTHIGH COLOR_BLACK
diff --git a/src/ca65/main.c b/src/ca65/main.c
index c862dcaad..4b2f9d178 100644
--- a/src/ca65/main.c
+++ b/src/ca65/main.c
@@ -230,7 +230,8 @@ static void SetSys (const char* Sys)
break;
case TGT_PLUS4:
- CBMSystem ("__PLUS4__");
+ CBMSystem ("__C16__");
+ NewSymbol ("__PLUS4__", 1);
break;
case TGT_CBM510:
diff --git a/src/cc65/main.c b/src/cc65/main.c
index cadad83d0..a27822ed8 100644
--- a/src/cc65/main.c
+++ b/src/cc65/main.c
@@ -186,7 +186,8 @@ static void SetSys (const char* Sys)
break;
case TGT_PLUS4:
- cbmsys ("__PLUS4__");
+ cbmsys ("__C16__");
+ DefineNumericMacro ("__PLUS4__", 1);
break;
case TGT_CBM510:
From 5edcd639e0f3f933550739daf59f520dd0fafd6d Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Fri, 28 Jun 2013 00:30:24 +0200
Subject: [PATCH 3/3] Made EXTZP segment option for modules.
This allows to remove the "add empty EXTZP segement to avoid warnings"
approach.
---
cfg/module.cfg | 2 +-
libsrc/runtime/zeropage.s | 7 -------
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/cfg/module.cfg b/cfg/module.cfg
index edc87fb17..349197eb0 100644
--- a/cfg/module.cfg
+++ b/cfg/module.cfg
@@ -10,7 +10,7 @@ SEGMENTS {
DATA: load = COMBINED, type = rw, define = yes;
BSS: load = COMBINED, type = bss, define = yes;
ZEROPAGE: load = ZP, type = zp;
- EXTZP: load = ZP, type = zp;
+ EXTZP: load = ZP, type = zp, optional = yes;
}
FILES {
%O: format = o65;
diff --git a/libsrc/runtime/zeropage.s b/libsrc/runtime/zeropage.s
index b4af44e33..2bbe7ceee 100644
--- a/libsrc/runtime/zeropage.s
+++ b/libsrc/runtime/zeropage.s
@@ -22,10 +22,3 @@ tmp2: .res 1
tmp3: .res 1
tmp4: .res 1
regbank: .res regbanksize ; Register bank
-
-; Add an empty EXTZP zeropage segment to avoid linker warnings that this
-; segment does not exist (it does not exist in most builtin linker configs
-; but is used when linking modules).
-
-.segment "EXTZP" : zeropage
-