--- np2/pccore.h 2004/01/30 01:29:13 1.17 +++ np2/pccore.h 2004/06/04 16:11:02 1.26 @@ -8,6 +8,8 @@ enum { }; enum { + CPUMODE_8MHZ = 0x20, + PCMODEL_VF = 0, PCMODEL_VM = 1, PCMODEL_VX = 2, @@ -19,13 +21,18 @@ enum { PCHDD_SCSI = 0x02, PCHDD_IDE = 0x04, + PCROM_BIOS = 0x01, + PCROM_SOUND = 0x02, + PCROM_SASI = 0x04, + PCROM_SCSI = 0x08, + PCROM_BIOS9821 = 0x10, + PCSOUND_NONE = 0x00, PCCBUS_PC9861K = 0x0001, PCCBUS_MPU98 = 0x0002 }; -#define CPUMODE_8MHz 0x20 typedef struct { // エミュレート中によく参照される奴 @@ -49,7 +56,6 @@ typedef struct { UINT8 usefd144; BYTE wait[6]; - // リセット時とかあんまり参照されない奴 char model[8]; UINT baseclock; @@ -99,7 +105,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]; @@ -113,19 +121,21 @@ typedef struct { UINT8 model; UINT8 hddif; UINT8 extmem; + BYTE dipsw[3]; // リセット時のDIPSW + UINT8 rom; 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" { @@ -153,6 +163,8 @@ void pccore_term(void); void pccore_reset(void); void pccore_exec(BOOL draw); +void pccore_postevent(UINT32 event); + #ifdef __cplusplus } #endif