|
|
| version 1.25, 2005/02/07 14:46:10 | version 1.27, 2005/03/05 06:02:29 |
|---|---|
| Line 4 | Line 4 |
| #include "v30patch.h" | #include "v30patch.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "dmap.h" | #include "dmax86.h" |
| #include "i286c.mcr" | #include "i286c.mcr" |
| #if defined(ENABLE_TRAP) | |
| #include "steptrap.h" | |
| #endif | |
| I286CORE i286core; | I286CORE i286core; |
| Line 263 void i286c(void) { | Line 266 void i286c(void) { |
| if (I286_TRAP) { | if (I286_TRAP) { |
| do { | do { |
| #if defined(ENABLE_TRAP) | |
| steptrap(CPU_CS, CPU_IP); | |
| #endif | |
| GET_PCBYTE(opcode); | GET_PCBYTE(opcode); |
| i286op[opcode](); | i286op[opcode](); |
| if (I286_TRAP) { | if (I286_TRAP) { |
| i286c_interrupt(1); | i286c_interrupt(1); |
| } | } |
| dmap_i286(); | dmax86(); |
| } while(I286_REMCLOCK > 0); | } while(I286_REMCLOCK > 0); |
| } | } |
| else if (dmac.working) { | else if (dmac.working) { |
| do { | do { |
| #if defined(ENABLE_TRAP) | |
| steptrap(CPU_CS, CPU_IP); | |
| #endif | |
| GET_PCBYTE(opcode); | GET_PCBYTE(opcode); |
| i286op[opcode](); | i286op[opcode](); |
| dmap_i286(); | dmax86(); |
| } while(I286_REMCLOCK > 0); | } while(I286_REMCLOCK > 0); |
| } | } |
| else { | else { |
| do { | do { |
| #if defined(ENABLE_TRAP) | |
| steptrap(CPU_CS, CPU_IP); | |
| #endif | |
| GET_PCBYTE(opcode); | GET_PCBYTE(opcode); |
| i286op[opcode](); | i286op[opcode](); |
| } while(I286_REMCLOCK > 0); | } while(I286_REMCLOCK > 0); |
| Line 300 void i286c_step(void) { | Line 312 void i286c_step(void) { |
| if (I286_OV) { | if (I286_OV) { |
| I286_FLAG |= (O_FLAG); | I286_FLAG |= (O_FLAG); |
| } | } |
| dmap_i286(); | dmax86(); |
| } | } |