diff options
author | 2007-12-17 15:19:59 +0000 | |
---|---|---|
committer | 2007-12-17 15:19:59 +0000 | |
commit | 7b77f1218624ea26dbb2efd85a19f795f5d4e02e (patch) | |
tree | 19209304095572b4fd61c2a2d6a5aa75c4e471ad /src/emu/cpu/i86/i286.h | |
parent | 3da7f476068b3ffef713218ba2fc1bd5030f2c38 (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.h | 36 |
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) |