summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/i86/v30.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/i86/v30.h')
-rw-r--r--src/emu/cpu/i86/v30.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/emu/cpu/i86/v30.h b/src/emu/cpu/i86/v30.h
new file mode 100644
index 00000000000..61792b5176d
--- /dev/null
+++ b/src/emu/cpu/i86/v30.h
@@ -0,0 +1,23 @@
+#define SetMD(x) (I.MF = (x)) /* OB [19.07.99] Mode Flag V30 */
+
+#define MD (I.MF!=0)
+
+#undef CompressFlags
+#define CompressFlags() (WORD)(CF | (PF << 2) | (AF << 4) | (ZF << 6) \
+ | (SF << 7) | (I.TF << 8) | (I.IF << 9) \
+ | (I.DF << 10) | (OF << 11)| (MD << 15))
+
+#undef ExpandFlags
+#define ExpandFlags(f) \
+{ \
+ I.CarryVal = (f) & 1; \
+ I.ParityVal = !((f) & 4); \
+ I.AuxVal = (f) & 16; \
+ I.ZeroVal = !((f) & 64); \
+ I.SignVal = (f) & 128 ? -1 : 0; \
+ I.TF = ((f) & 256) == 256; \
+ I.IF = ((f) & 512) == 512; \
+ I.DF = ((f) & 1024) == 1024; \
+ I.OverVal = (f) & 2048; \
+ I.MF = ((f) & 0x8000) == 0x8000; \
+}