--- np2/pccore.h 2004/02/11 17:39:59 1.19 +++ 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,8 +56,6 @@ typedef struct { UINT8 usefd144; BYTE wait[6]; - UINT8 userkey[2][16]; - // リセット時とかあんまり参照されない奴 char model[8]; UINT baseclock; @@ -100,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]; @@ -115,7 +122,7 @@ typedef struct { UINT8 hddif; UINT8 extmem; BYTE dipsw[3]; // リセット時のDIPSW - UINT8 padding; + UINT8 rom; UINT32 sound; UINT32 device; @@ -123,6 +130,12 @@ typedef struct { UINT32 realclock; } PCCORE; +enum { + COREEVENT_SHUT = 0, + COREEVENT_RESET = 1, + COREEVENT_EXIT = 2 +}; + #ifdef __cplusplus extern "C" { @@ -150,6 +163,8 @@ void pccore_term(void); void pccore_reset(void); void pccore_exec(BOOL draw); +void pccore_postevent(UINT32 event); + #ifdef __cplusplus } #endif