--- np2/i286c/i286c_fe.c 2003/11/29 03:38:26 1.10 +++ np2/i286c/i286c_fe.c 2004/02/18 18:29:29 1.14 @@ -1,7 +1,6 @@ #include "compiler.h" -#include "i286.h" +#include "cpucore.h" #include "i286c.h" -#include "memory.h" #include "i286c.mcr" @@ -17,7 +16,7 @@ I286_F6 _nop_int(UINT op) { I286_F6 _inc_ea8(UINT op) { UINT32 madr; - BYTE *out; + UINT8 *out; REG8 res; if (op >= 0xc0) { @@ -37,13 +36,13 @@ I286_F6 _inc_ea8(UINT op) { } res = *out; INCBYTE(res) - *out = (BYTE)res; + *out = (UINT8)res; } I286_F6 _dec_ea8(UINT op) { UINT32 madr; - BYTE *out; + UINT8 *out; REG8 res; if (op >= 0xc0) { @@ -63,7 +62,7 @@ I286_F6 _dec_ea8(UINT op) { } res = *out; DECBYTE(res) - *out = (BYTE)res; + *out = (UINT8)res; } I286_F6 _inc_ea16(UINT op) { @@ -146,7 +145,7 @@ I286_F6 _call_far_ea16(UINT op) { REGPUSH0(I286_IP) I286_IP = i286_memoryread_w(seg + ad); I286_CS = i286_memoryread_w(seg + LOW16(ad + 2)); - CS_BASE = I286_CS << 4; + CS_BASE = SEGSELECT(I286_CS); } else { INT_NUM(6, I286_IP - 2); @@ -175,7 +174,7 @@ I286_F6 _jmp_far_ea16(UINT op) { ad = GET_EA(op, &seg); I286_IP = i286_memoryread_w(seg + ad); I286_CS = i286_memoryread_w(seg + LOW16(ad + 2)); - CS_BASE = I286_CS << 4; + CS_BASE = SEGSELECT(I286_CS); } else { INT_NUM(6, I286_IP - 2);