|
|
| version 1.9, 2003/11/28 08:01:32 | version 1.12, 2003/12/04 06:41:23 |
|---|---|
| Line 9 | Line 9 |
| #include "i286c.mcr" | #include "i286c.mcr" |
| I286REG i286reg; | I286CORE i286core; |
| const BYTE iflags[256] = { // Z_FLAG, S_FLAG, P_FLAG | const BYTE iflags[256] = { // Z_FLAG, S_FLAG, P_FLAG |
| 0x44, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x00, | 0x44, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x00, |
| Line 135 void i286_initialize(void) { | Line 135 void i286_initialize(void) { |
| void i286_reset(void) { | void i286_reset(void) { |
| i286_initialize(); | ZeroMemory(&i286core.s, sizeof(i286core.s)); |
| ZeroMemory(&i286reg, sizeof(i286reg)); | |
| I286_CS = 0x1fc0; | I286_CS = 0x1fc0; |
| CS_BASE = 0x1fc00; | CS_BASE = 0x1fc00; |
| i286core.s.adrsmask = 0xfffff; | |
| } | } |
| void i286_resetprefetch(void) { | void i286_resetprefetch(void) { |
| } | } |
| void CPUCALL i286_intnum(UINT vect, UINT IP) { | void CPUCALL i286_intnum(UINT vect, REG16 IP) { |
| const BYTE *ptr; | const BYTE *ptr; |
| REGPUSH0(REAL_FLAGREG) | REGPUSH0(REAL_FLAGREG) |
| REGPUSH0(I286_CS) | REGPUSH0(I286_CS) |
| REGPUSH0((UINT16)IP) | REGPUSH0(IP) |
| I286_FLAG &= ~(T_FLAG | I_FLAG); | I286_FLAG &= ~(T_FLAG | I_FLAG); |
| I286_TRAP = 0; | I286_TRAP = 0; |