]> git.sur5r.net Git - cc65/commitdiff
Merge with current version
authorjede <jede@oric.org>
Sun, 29 Jan 2017 21:39:51 +0000 (22:39 +0100)
committerjede <jede@oric.org>
Sun, 29 Jan 2017 21:39:51 +0000 (22:39 +0100)
cfg/telemon30.cfg [new file with mode: 0644]
src/ca65/main.c
src/cc65/main.c
src/common/target.c
src/common/target.h

diff --git a/cfg/telemon30.cfg b/cfg/telemon30.cfg
new file mode 100644 (file)
index 0000000..b9f0b40
--- /dev/null
@@ -0,0 +1,43 @@
+SYMBOLS {
+
+    __ORIXHDR__:   type = import;
+
+    __STACKSIZE__: type = weak, value = $0800; # 2K stack
+
+    __RAMEND__:    type = weak, value = $9800;
+}
+MEMORY {
+    ZP:      file = "", define = yes, start = $00E0,            size = $001A;
+    ORIXHDR: file = %O, type   = ro,  start = $0000,            size = $001F;
+    BASHEAD: file = %O, define = yes, start = $0801,            size = $000D;
+    MAIN:    file = %O, define = yes, start = __BASHEAD_LAST__, size = __RAMEND__ - __MAIN_START__;
+    BSS:     file = "",               start = __ONCE_RUN__,     size = __RAMEND__ - __STACKSIZE__ - __ONCE_RUN__;
+}
+SEGMENTS {
+    ZEROPAGE: load = ZP,      type = zp;
+    ORIXHDR:  load = ORIXHDR, type = ro;
+    STARTUP:  load = MAIN,    type = ro;
+    LOWCODE:  load = MAIN,    type = ro,  optional = yes;
+    CODE:     load = MAIN,    type = ro;
+    RODATA:   load = MAIN,    type = ro;
+    DATA:     load = MAIN,    type = rw;
+    INIT:     load = MAIN,    type = rw;
+    ONCE:     load = MAIN,    type = ro,  define   = yes;
+    BASTAIL:  load = MAIN,    type = ro,  optional = yes;
+    BSS:      load = BSS,     type = bss, define   = yes;
+}
+FEATURES {
+    CONDES: type    = constructor,
+            label   = __CONSTRUCTOR_TABLE__,
+            count   = __CONSTRUCTOR_COUNT__,
+            segment = ONCE;
+    CONDES: type    = destructor,
+            label   = __DESTRUCTOR_TABLE__,
+            count   = __DESTRUCTOR_COUNT__,
+            segment = RODATA;
+    CONDES: type    = interruptor,
+            label   = __INTERRUPTOR_TABLE__,
+            count   = __INTERRUPTOR_COUNT__,
+            segment = RODATA,
+            import  = __CALLIRQ__;
+}
index 4aa60f2f057eef5425532b606fd7f1f5780dd997..91f652811246c970cdb49a68a7cc2bc24d939c4f 100644 (file)
@@ -222,6 +222,10 @@ static void SetSys (const char* Sys)
             CBMSystem ("__C16__");
             break;
 
+               case TGT_C65:
+                       CBMSystem("__C65__");
+                       break;
+
         case TGT_C64:
             CBMSystem ("__C64__");
             break;
@@ -623,11 +627,12 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 
-static void OptVersion (const char* Opt attribute ((unused)),
-                        const char* Arg attribute ((unused)))
-/* Print the assembler version */
+static void OptVersion(const char* Opt attribute((unused)),
+       const char* Arg attribute((unused)))
+       /* Print the assembler version */
 {
-    fprintf (stderr, "ca65 V%s\n", GetVersionAsString ());
+       fprintf(stderr, "%s V%s\n", ProgName, GetVersionAsString());
+       exit(EXIT_SUCCESS);
 }
 
 
index f25a44d69e5f7fd55b10305a520b2c83998c37c7..b7abf959ce80958aeb58ba87eb0e12c035c82b59 100644 (file)
@@ -746,12 +746,13 @@ static void OptVerbose (const char* Opt attribute ((unused)),
 
 
 
-static void OptVersion (const char* Opt attribute ((unused)),
-                        const char* Arg attribute ((unused)))
-/* Print the compiler version */
+
+static void OptVersion(const char* Opt attribute((unused)),
+       const char* Arg attribute((unused)))
+       /* Print the compiler version */
 {
-    fprintf (stderr, "cc65 V%s\n", GetVersionAsString ());
-    exit (EXIT_SUCCESS);
+       fprintf(stderr, "%s V%s\n", ProgName, GetVersionAsString());
+       exit(EXIT_SUCCESS);
 }
 
 
index adbc080bf613b9fc9e1712ab2988b9e2c55f0815..31274d48a505139c55b7f1736240dc246934ef91 100644 (file)
@@ -209,6 +209,8 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
     { "sim65c02",       CPU_65C02,      BINFMT_BINARY,      CTNone  },
     { "pce",            CPU_HUC6280,    BINFMT_BINARY,      CTNone  },
     { "gamate",         CPU_6502,       BINFMT_BINARY,      CTNone  },
+       { "c65",            CPU_4510,       BINFMT_BINARY,      CTPET   },
+
 };
 
 /* Target system */
index 4bc00225d1102a0da4d75835b8434e5cf5df536d..93bcfe20dd2331d43412a2d297e0c9469ffa6f6a 100644 (file)
@@ -82,6 +82,7 @@ typedef enum {
     TGT_SIM65C02,
     TGT_PCENGINE,
     TGT_GAMATE,
+       TGT_C65,
     TGT_COUNT                   /* Number of target systems */
 } target_t;