]> Shamusworld >> Repos - rmac/blobdiff - sect.h
Multiple fixes for 020+ mode, including:
[rmac] / sect.h
diff --git a/sect.h b/sect.h
index 65264ae313e4113c7452ac8430f3c66794c6a380..b7e73af7c1ac13f857b0707f42fdcc45b55aa22f 100644 (file)
--- a/sect.h
+++ b/sect.h
@@ -1,7 +1,7 @@
 //
-// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
+// RMAC - Reboot's Macro Assembler for all Atari computers
 // SECT.H - Code Generation, Fixups and Section Management
-// Copyright (C) 199x Landon Dyer, 2017 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilised with the kind permission of Landon Dyer
 //
@@ -59,7 +59,7 @@
 // token.L     expression list
 // (etc)
 // ENDEXPR.L   (end of expression)
-#define FUMASK       0x000F            // Mask for fixup cases:(shouldn't this be $7F?)
+#define FUMASK       0x000F            // Mask for fixup cases:
 #define FU_QUICK     0x0000            // Fixup 3-bit quick instruction field
 #define FU_BYTE      0x0001            // Fixup byte
 #define FU_WORD      0x0002            // Fixup word
@@ -113,6 +113,30 @@ SECT {
        CHUNK * sfix;                           // Last fixup chunk
 };
 
+// 680x0 defines
+#define CPU_68000 1
+#define CPU_68020 2
+#define CPU_68030 4
+#define CPU_68040 8
+#define CPU_68060 16
+#define FPU_NONE  0
+#define FPU_68881 1
+#define FPU_68882 2
+#define FPU_68040 4
+
+// Helper macros to test for active CPU
+#define CHECK00 if (activecpu == CPU_68000) return error(unsupport)
+#define CHECK20 if (activecpu == CPU_68020) return error(unsupport)
+#define CHECK30 if (activecpu == CPU_68030) return error(unsupport)
+#define CHECK40 if (activecpu == CPU_68040) return error(unsupport)
+#define CHECK60 if (activecpu == CPU_68060) return error(unsupport)
+#define CHECKNO00 if (activecpu != CPU_68000) return error(unsupport)
+#define CHECKNO20 if (activecpu != CPU_68020) return error(unsupport)
+#define CHECKNO30 if (activecpu != CPU_68030) return error(unsupport)
+#define CHECKNO40 if (activecpu != CPU_68040) return error(unsupport)
+#define CHECKNO60 if (activecpu != CPU_68060) return error(unsupport)
+
+
 // Globals, external etc
 extern uint32_t sloc;
 extern uint16_t scattr;