--- np2/pccore.h 2004/01/29 10:54:05 1.16 +++ np2/pccore.h 2004/03/22 05:38:47 1.25 @@ -8,8 +8,11 @@ enum { }; enum { - PCMODEL_VM = 0, - PCMODEL_VX = 1, + CPUMODE_8MHZ = 0x20, + + PCMODEL_VF = 0, + PCMODEL_VM = 1, + PCMODEL_VX = 2, PCMODELMASK = 0x3f, PCMODEL_PC9821 = 0x40, PCMODEL_EPSON = 0x80, @@ -24,7 +27,6 @@ enum { PCCBUS_MPU98 = 0x0002 }; -#define CPUMODE_8MHz 0x20 typedef struct { // エミュレート中によく参照される奴 @@ -48,7 +50,6 @@ typedef struct { UINT8 usefd144; BYTE wait[6]; - // リセット時とかあんまり参照されない奴 char model[8]; UINT baseclock; @@ -98,7 +99,9 @@ typedef struct { UINT8 hdrvacc; char sasihdd[2][MAX_PATH]; // ver0.74 +#if defined(SUPPORT_SCSI) char scsihdd[4][MAX_PATH]; // ver0.74 +#endif char fontfile[MAX_PATH]; char biospath[MAX_PATH]; char hdrvroot[MAX_PATH]; @@ -110,24 +113,23 @@ typedef struct { UINT8 cpumode; UINT8 model; - UINT8 fddif; UINT8 hddif; - UINT8 extmem; - UINT8 padding[3]; + BYTE dipsw[3]; // リセット時のDIPSW + UINT8 padding; UINT32 sound; UINT32 device; UINT32 realclock; - UINT32 dispclock; - UINT32 vsyncclock; - UINT32 keyboardclock; - UINT32 midiclock; - UINT32 raster; - UINT32 hsync; } PCCORE; +enum { + COREEVENT_SHUT = 0, + COREEVENT_RESET = 1, + COREEVENT_EXIT = 2 +}; + #ifdef __cplusplus extern "C" { @@ -155,6 +157,8 @@ void pccore_term(void); void pccore_reset(void); void pccore_exec(BOOL draw); +void pccore_postevent(UINT32 event); + #ifdef __cplusplus } #endif