summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/i86/i286.h
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2007-12-17 15:19:59 +0000
committer Aaron Giles <aaron@aarongiles.com>2007-12-17 15:19:59 +0000
commit7b77f1218624ea26dbb2efd85a19f795f5d4e02e (patch)
tree19209304095572b4fd61c2a2d6a5aa75c4e471ad /src/emu/cpu/i86/i286.h
parent3da7f476068b3ffef713218ba2fc1bd5030f2c38 (diff)
Initial checkin of MAME 0.121.mame0121
Diffstat (limited to 'src/emu/cpu/i86/i286.h')
-rw-r--r--src/emu/cpu/i86/i286.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/emu/cpu/i86/i286.h b/src/emu/cpu/i86/i286.h
new file mode 100644
index 00000000000..9243d048e21
--- /dev/null
+++ b/src/emu/cpu/i86/i286.h
@@ -0,0 +1,36 @@
+/****************************************************************************/
+/* real mode i286 emulator by Fabrice Frances */
+/* (initial work based on David Hedley's pcemu) */
+/* */
+/****************************************************************************/
+
+#include "i86.h"
+
+#define INPUT_LINE_A20 1
+
+#undef GetMemB
+#undef GetMemW
+#undef PutMemB
+#undef PutMemW
+
+/* ASG 971005 -- changed to program_read_byte_8/program_write_byte_8 */
+#define GetMemB(Seg,Off) ( (BYTE)program_read_byte_8((DefaultBase(Seg)+(Off))&AMASK))
+#define GetMemW(Seg,Off) ( (WORD)GetMemB(Seg,Off)+(WORD)(GetMemB(Seg,(Off)+1)<<8))
+#define PutMemB(Seg,Off,x) { program_write_byte_8((DefaultBase(Seg)+(Off))&AMASK,(x)); }
+#define PutMemW(Seg,Off,x) { PutMemB(Seg,Off,(BYTE)(x)); PutMemB(Seg,(Off)+1,(BYTE)((x)>>8)); }
+
+#undef PEEKBYTE
+#define PEEKBYTE(ea) ((BYTE)program_read_byte_8((ea)&AMASK))
+
+#undef ReadByte
+#undef ReadWord
+#undef WriteByte
+#undef WriteWord
+
+#define ReadByte(ea) ((BYTE)program_read_byte_8((ea)&AMASK))
+#define ReadWord(ea) (program_read_byte_8((ea)&AMASK)+(program_read_byte_8(((ea)+1)&AMASK)<<8))
+#define WriteByte(ea,val) { program_write_byte_8((ea)&AMASK,val); }
+#define WriteWord(ea,val) { program_write_byte_8((ea)&AMASK,(BYTE)(val)); program_write_byte_8(((ea)+1)&AMASK,(val)>>8); }
+
+#undef CHANGE_PC
+#define CHANGE_PC(addr) change_pc(addr)