X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=rmac.h;h=f282460176f9cdd1ed547ffd38d310245a7567f9;hp=61c7618071327a52ad990d483562a23be2fc372f;hb=66b362fa203d0850e8dce8045adb454e354c22ce;hpb=4ca28ba07da9f3848c2e3db0e2e9cbcaa787dd29 diff --git a/rmac.h b/rmac.h index 61c7618..f282460 100644 --- a/rmac.h +++ b/rmac.h @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for all Atari computers // RMAC.H - Main Application Code -// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -19,7 +19,7 @@ // // TARGET SPECIFIC BUILD SETTINGS // -#if defined(WIN32) || defined (WIN64) +#if defined(WIN32) || defined(WIN64) #include #include // Release platform - windows @@ -27,6 +27,7 @@ #define _OPEN_FLAGS _O_TRUNC|_O_CREAT|_O_BINARY|_O_RDWR #define _OPEN_INC _O_RDONLY|_O_BINARY #define _PERM_MODE _S_IREAD|_S_IWRITE + #ifdef _MSC_VER #if _MSC_VER > 1000 #pragma warning(disable:4996) @@ -58,8 +59,8 @@ #include #include - // Release platform - mac OS-X or Linux - #define PLATFORM "OSX/Linux" + // Release platform - Linux or mac OS-X + #define PLATFORM "Linux/OSX" #define _OPEN_FLAGS O_TRUNC|O_CREAT|O_RDWR #define _OPEN_INC O_RDONLY #define _PERM_MODE S_IRUSR|S_IWUSR @@ -76,7 +77,9 @@ // WARNING WARNING WARNING #define DO_PRAGMA(x) _Pragma (#x) #define WARNING(desc) DO_PRAGMA(message (#desc)) -#else + + #else + // Release platform - not specified #include #define PLATFORM "Unknown" @@ -87,8 +90,10 @@ #define DO_PRAGMA(x) _Pragma (#x) #define WARNING(desc) DO_PRAGMA(message (#desc)) #endif + #endif + // // Endian related, for safe handling of endian-sensitive data // USAGE: GETBExx() is *always* an rvalue, a = pointer to a uint8_t, @@ -189,7 +194,8 @@ PTR uint32_t lw; // LONG (for some reason) SYM ** sy; // SYM pointer TOKEN * tk; // TOKEN pointer - double * dp; // Double pointer (temporary!) + double * dp; // Double pointer + int64_t * i64; // 64-bit signed int pointer }; // Symbol spaces @@ -269,6 +275,8 @@ enum OPT_BASE_DISP = 5, OPT_NULL_BRA = 6, OPT_CLR_DX = 7, + OPT_ADDA_ADDQ = 8, + OPT_ADDA_LEA = 9, OPT_COUNT // Dummy, used to count number of optimisation switches }; @@ -276,6 +284,7 @@ enum extern int verb_flag; extern int debug; extern int rgpu, rdsp; +extern int robjproc; extern int dsp56001; extern int err_flag; extern int err_fd; @@ -298,6 +307,7 @@ extern int activecpu; extern int activefpu; // Exported functions +void strtoupper(char * s); char * fext(char *, char *, int); int nthpath(char *, int, char *); int ParseOptimization(char * optstring);