EOY minor update.
[rmac] / sect.h
diff --git a/sect.h b/sect.h
index 84ad789c9456c931e14573cbff248b477c3ce136..14dc65f86b046be347c32592a408f288ef10267f 100644 (file)
--- a/sect.h
+++ b/sect.h
@@ -1,7 +1,7 @@
 //
 // RMAC - Reboot's Macro Assembler for all Atari computers
 // SECT.H - Code Generation, Fixups and Section Management
-// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilized with the kind permission of Landon Dyer
 //
@@ -54,7 +54,9 @@
 #define D_ZEROFILL(n)  {chcheck(n); memset(chptr, 0, n); chptr+=n; sloc+=n; \
        ch_size+=n; if (orgactive) orgaddr+=n;}
 
-#define NSECTS       16                        // Max. number of sections
+//OK, this is bad, mmkay? The constants defined in rmac.h are used as indices into an array which means that this was never meant to be defined this way--at least if it was, it was a compromise that has come home to bite us all in the ass.  !!! FIX !!!
+//#define NSECTS       16                      // Max. number of sections
+#define NSECTS       256                       // Max. number of sections
 
 // Tunable (storage) definitions
 #define CH_THRESHOLD    32             // Minimum amount of space in code chunk
@@ -82,6 +84,7 @@
 
 #define FU_SEXT      0x0010            // Ok to sign extend
 #define FU_PCREL     0x0020            // Subtract PC first
+#define FU_PCRELX    0x1000000 // 030 variant
 #define FU_EXPR      0x0040            // Expression (not symbol) follows
 
 #define FU_GLOBAL    0x0080            // Mark global symbol