Kevin Kofler 99ac7fd
diff -ur z88dk/src/copt/copt.c z88dk-64bit/src/copt/copt.c
Kevin Kofler 99ac7fd
--- z88dk/src/copt/copt.c	2002-09-15 19:10:07.000000000 +0200
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/copt/copt.c	2012-11-06 23:40:53.000000000 +0100
Kevin Kofler 99ac7fd
@@ -507,12 +507,12 @@
Kevin Kofler 99ac7fd
 		/* check for activation rules */
Kevin Kofler 99ac7fd
 		if (o->o_new && strcmp(o->o_new->l_text, "%activate\n") == 0) {
Kevin Kofler 99ac7fd
 			/* we have to prevent repeated activation of rules */
Kevin Kofler 99ac7fd
-			char signature[160];
Kevin Kofler 99ac7fd
+			char signature[240];
Kevin Kofler 99ac7fd
 			struct lnode *lnp;
Kevin Kofler 99ac7fd
 			struct onode *nn, *last;
Kevin Kofler 99ac7fd
 			int skip = 0;
Kevin Kofler 99ac7fd
 			/* since we 'install()' strings, we can compare pointers */
Kevin Kofler 99ac7fd
-			sprintf(signature, "%s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x\n",
Kevin Kofler 99ac7fd
+			sprintf(signature, (sizeof(char*)>4)?"%s%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx%016lx\n":"%s%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx\n",
Kevin Kofler 99ac7fd
 				activated,
Kevin Kofler 99ac7fd
 				vars[0], vars[1], vars[2], vars[3], vars[4],
Kevin Kofler 99ac7fd
 				vars[5], vars[6], vars[7], vars[8], vars[9]);
Kevin Kofler 99ac7fd
diff -ur z88dk/src/sccz80/io.c z88dk-64bit/src/sccz80/io.c
Kevin Kofler 99ac7fd
--- z88dk/src/sccz80/io.c	2009-06-21 23:16:52.000000000 +0200
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/sccz80/io.c	2012-11-06 23:40:53.000000000 +0100
Kevin Kofler 99ac7fd
@@ -334,7 +334,7 @@
Kevin Kofler 99ac7fd
 }
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
-void outdec(long number)
Kevin Kofler 99ac7fd
+void outdec(int number)
Kevin Kofler 99ac7fd
 {
Kevin Kofler 99ac7fd
         if ( number < 0 ) {
Kevin Kofler 99ac7fd
 		number=-number;
Kevin Kofler 99ac7fd
@@ -344,7 +344,7 @@
Kevin Kofler 99ac7fd
         outd2(number);
Kevin Kofler 99ac7fd
 }
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
-void outd2(long n)
Kevin Kofler 99ac7fd
+void outd2(int n)
Kevin Kofler 99ac7fd
 {
Kevin Kofler 99ac7fd
         if ( n > 9 ) {
Kevin Kofler 99ac7fd
                 outd2(n/10) ;
Kevin Kofler 99ac7fd
diff -ur z88dk/src/sccz80/io.h z88dk-64bit/src/sccz80/io.h
Kevin Kofler 99ac7fd
--- z88dk/src/sccz80/io.h	2009-06-21 23:16:52.000000000 +0200
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/sccz80/io.h	2012-11-06 23:40:53.000000000 +0100
Kevin Kofler 99ac7fd
@@ -26,8 +26,8 @@
Kevin Kofler 99ac7fd
 extern void ol(char *ptr);
Kevin Kofler 99ac7fd
 extern void ot(char *ptr);
Kevin Kofler 99ac7fd
 extern void blanks(void);
Kevin Kofler 99ac7fd
-extern void outdec(long number);
Kevin Kofler 99ac7fd
-extern void outd2(long n);
Kevin Kofler 99ac7fd
+extern void outdec(int number);
Kevin Kofler 99ac7fd
+extern void outd2(int n);
Kevin Kofler 99ac7fd
 extern void queuelabel(int);
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
 typedef struct {
Kevin Kofler 99ac7fd
diff -ur z88dk/src/sccz80/primary.c z88dk-64bit/src/sccz80/primary.c
Kevin Kofler 99ac7fd
--- z88dk/src/sccz80/primary.c	2009-09-06 20:58:37.000000000 +0200
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/sccz80/primary.c	2012-11-06 23:42:18.000000000 +0100
Kevin Kofler 99ac7fd
@@ -739,7 +739,7 @@
Kevin Kofler 99ac7fd
 	SYMBOL  *ptr;
Kevin Kofler 99ac7fd
     char    temp_type;
Kevin Kofler 99ac7fd
     int     itag;
Kevin Kofler 99ac7fd
-    char    nam[20];
Kevin Kofler 99ac7fd
+    char    nam[24];
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
diff -ur z88dk/src/z80asm/config.h z88dk-64bit/src/z80asm/config.h
Kevin Kofler 99ac7fd
--- z88dk/src/z80asm/config.h	2012-05-25 04:00:28.000000000 +0200
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/z80asm/config.h	2012-11-06 23:40:53.000000000 +0100
Kevin Kofler 99ac7fd
@@ -150,6 +150,12 @@
Kevin Kofler 99ac7fd
 #define MAXCODESIZE 65536
Kevin Kofler 99ac7fd
 #endif
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
+#ifdef __linux__
Kevin Kofler 99ac7fd
+#include <endian.h>
Kevin Kofler 99ac7fd
+#if __BYTE_ORDER == __BIG_ENDIAN
Kevin Kofler 99ac7fd
+#define ENDIAN 1
Kevin Kofler 99ac7fd
+#endif
Kevin Kofler 99ac7fd
+#else
Kevin Kofler 99ac7fd
 /* Some clever config-ing if we're using GNUC */
Kevin Kofler 99ac7fd
 #ifdef __BIG_ENDIAN__
Kevin Kofler 99ac7fd
 /* Sadly the compiler on OS-X falls over with the #if below... */
Kevin Kofler 99ac7fd
@@ -161,6 +167,7 @@
Kevin Kofler 99ac7fd
 #endif
Kevin Kofler 99ac7fd
 #endif  /* __GNUC__ */
Kevin Kofler 99ac7fd
 #endif
Kevin Kofler 99ac7fd
+#endif
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
 /* File name extension separator */
Kevin Kofler 99ac7fd
 #ifdef QDOS
Kevin Kofler 99ac7fd
diff -ur z88dk/src/z80asm/options.c z88dk-64bit/src/z80asm/options.c
Kevin Kofler 99ac7fd
--- z88dk/src/z80asm/options.c	2012-11-04 04:00:45.000000000 +0100
Kevin Kofler 99ac7fd
+++ z88dk-64bit/src/z80asm/options.c	2012-11-06 23:40:53.000000000 +0100
Kevin Kofler 99ac7fd
@@ -395,7 +395,7 @@
Kevin Kofler 99ac7fd
 
Kevin Kofler 99ac7fd
     else if ( *flagid == 'r' )
Kevin Kofler 99ac7fd
     {
Kevin Kofler 99ac7fd
-        sscanf( flagid + 1, "%x", &EXPLICIT_ORIGIN );
Kevin Kofler 99ac7fd
+        sscanf( flagid + 1, "%lx", &EXPLICIT_ORIGIN );
Kevin Kofler 99ac7fd
         deforigin = ON;         /* explicit origin has been defined */
Kevin Kofler 99ac7fd
     }
Kevin Kofler 99ac7fd