--- np2/i286c/cpucore.h 2003/12/12 01:04:40 1.3 +++ np2/i286c/cpucore.h 2003/12/26 00:11:51 1.7 @@ -160,6 +160,8 @@ typedef struct { UINT32 ovflag; I286DTR GDTR; I286DTR IDTR; + I286DTR LDTRC; // ver0.73 + UINT16 LDTR; // ver0.73 UINT16 MSW; UINT8 resetreq; // ver0.72 UINT8 itfbank; // ver0.72 @@ -168,6 +170,12 @@ typedef struct { typedef struct { // for ver0.73 BYTE *ext; UINT32 extsize; +#if defined(CPUSTRUC_MEMWAIT) + UINT8 tramwait; + UINT8 vramwait; + UINT8 grcgwait; + UINT8 padding; +#endif } I286EXT; typedef struct { @@ -185,6 +193,7 @@ extern const UINT8 iflags[]; void i286c_initialize(void); void i286c_reset(void); +void i286c_shut(void); void CPUCALL i286c_interrupt(REG8 vect); @@ -247,6 +256,13 @@ void v30c_step(void); #define CPU_TYPE i286core.s.cpu_type +#if defined(CPUSTRUC_MEMWAIT) +#define MEMWAIT_TRAM i286core.e.tramwait +#define MEMWAIT_VRAM i286core.e.vramwait +#define MEMWAIT_GRCG i286core.e.grcgwait +#endif + + #define CPU_isDI (!(i286core.s.r.w.flag & I_FLAG)) #define CPU_isEI (i286core.s.r.w.flag & I_FLAG) #define CPU_CLI i286core.s.r.w.flag &= ~I_FLAG; \ @@ -260,4 +276,5 @@ void v30c_step(void); #define CPU_INTERRUPT(v) i286c_interrupt(v) #define CPU_EXEC i286c #define CPU_EXECV30 v30c +#define CPU_SHUT i286c_shut