|
|
| version 1.11, 2004/01/09 04:36:02 | version 1.28, 2007/11/11 12:46:06 |
|---|---|
| Line 1 | Line 1 |
| #include "nevent.h" | #include "nevent.h" |
| #include "statsave.h" | |
| enum { | enum { |
| PCBASECLOCK25 = 2457600, | PCBASECLOCK25 = 2457600, |
| Line 7 enum { | Line 8 enum { |
| }; | }; |
| enum { | enum { |
| PCMODEL_VM = 0, | CPUMODE_8MHZ = 0x20, |
| PCMODEL_VX = 1, | |
| PCMODELMASK = 0x3f, | |
| PCMODEL_VF = 0, | |
| PCMODEL_VM = 1, | |
| PCMODEL_VX = 2, | |
| PCMODELMASK = 0x3f, | |
| PCMODEL_PC9821 = 0x40, | PCMODEL_PC9821 = 0x40, |
| PCMODEL_EPSON = 0x80 | PCMODEL_EPSON = 0x80, |
| PCHDD_SASI = 0x01, | |
| 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 { | typedef struct { |
| // エミュレート中によく参照される奴 | // エミュレート中によく参照される奴 |
| BYTE uPD72020; | UINT8 uPD72020; |
| BYTE DISPSYNC; | UINT8 DISPSYNC; |
| BYTE RASTER; | UINT8 RASTER; |
| BYTE realpal; | UINT8 realpal; |
| BYTE LCD_MODE; | UINT8 LCD_MODE; |
| BYTE skipline; | UINT8 skipline; |
| UINT16 skiplight; | UINT16 skiplight; |
| BYTE KEY_MODE; | UINT8 KEY_MODE; |
| BYTE XSHIFT; | UINT8 XSHIFT; |
| BYTE BTN_RAPID; | UINT8 BTN_RAPID; |
| BYTE BTN_MODE; | UINT8 BTN_MODE; |
| BYTE dipsw[3]; | UINT8 dipsw[3]; |
| BYTE MOUSERAPID; | UINT8 MOUSERAPID; |
| BYTE calendar; | UINT8 calendar; |
| BYTE usefd144; | UINT8 usefd144; |
| BYTE wait[6]; | UINT8 wait[6]; |
| // リセット時とかあんまり参照されない奴 | // リセット時とかあんまり参照されない奴 |
| char model[8]; | OEMCHAR model[8]; |
| UINT baseclock; | UINT baseclock; |
| UINT multiple; | UINT multiple; |
| BYTE memsw[8]; | UINT8 memsw[8]; |
| BYTE ITF_WORK; | UINT8 ITF_WORK; |
| BYTE EXTMEM; | UINT8 EXTMEM; |
| BYTE grcg; | UINT8 grcg; |
| BYTE color16; | UINT8 color16; |
| UINT32 BG_COLOR; | UINT32 BG_COLOR; |
| UINT32 FG_COLOR; | UINT32 FG_COLOR; |
| UINT16 samplingrate; | UINT16 samplingrate; |
| UINT16 delayms; | UINT16 delayms; |
| BYTE SOUND_SW; | UINT8 SOUND_SW; |
| BYTE snd_x; | UINT8 snd_x; |
| BYTE snd14opt[3]; | UINT8 snd14opt[3]; |
| BYTE snd26opt; | UINT8 snd26opt; |
| BYTE snd86opt; | UINT8 snd86opt; |
| BYTE spbopt; | UINT8 spbopt; |
| BYTE spb_vrc; // ver0.30 | UINT8 spb_vrc; // ver0.30 |
| BYTE spb_vrl; // ver0.30 | UINT8 spb_vrl; // ver0.30 |
| BYTE spb_x; // ver0.30 | UINT8 spb_x; // ver0.30 |
| BYTE BEEP_VOL; | UINT8 BEEP_VOL; |
| BYTE vol14[6]; | UINT8 vol14[6]; |
| BYTE vol_fm; | UINT8 vol_fm; |
| BYTE vol_ssg; | UINT8 vol_ssg; |
| BYTE vol_adpcm; | UINT8 vol_adpcm; |
| BYTE vol_pcm; | UINT8 vol_pcm; |
| BYTE vol_rhythm; | UINT8 vol_rhythm; |
| BYTE mpuenable; | UINT8 mpuenable; |
| BYTE mpuopt; | UINT8 mpuopt; |
| BYTE pc9861enable; | UINT8 pc9861enable; |
| BYTE pc9861sw[3]; | UINT8 pc9861sw[3]; |
| BYTE pc9861jmp[6]; | UINT8 pc9861jmp[6]; |
| BYTE MOTOR; | UINT8 fddequip; |
| BYTE MOTORVOL; | UINT8 MOTOR; |
| BYTE PROTECTMEM; | UINT8 MOTORVOL; |
| UINT8 PROTECTMEM; | |
| char hddfile[2][MAX_PATH]; // ver0.30 | UINT8 hdrvacc; |
| char fontfile[MAX_PATH]; | |
| char biospath[MAX_PATH]; | OEMCHAR sasihdd[2][MAX_PATH]; // ver0.74 |
| char hdrvroot[MAX_PATH]; | #if defined(SUPPORT_SCSI) |
| OEMCHAR scsihdd[4][MAX_PATH]; // ver0.74 | |
| #endif | |
| OEMCHAR fontfile[MAX_PATH]; | |
| OEMCHAR biospath[MAX_PATH]; | |
| OEMCHAR hdrvroot[MAX_PATH]; | |
| } NP2CFG; | } NP2CFG; |
| typedef struct { | typedef struct { |
| UINT32 baseclock; | UINT32 baseclock; |
| UINT multiple; | UINT multiple; |
| UINT32 realclock; | |
| UINT32 dispclock; | |
| UINT32 vsyncclock; | |
| UINT32 mouseclock; | |
| UINT32 keyboardclock; | |
| UINT32 midiclock; | |
| UINT32 frame1000; | |
| UINT32 raster; | |
| UINT32 hsync; | |
| UINT8 cpumode; | UINT8 cpumode; |
| UINT8 model; | UINT8 model; |
| UINT8 hddif; | |
| UINT8 extmem; | |
| UINT8 dipsw[3]; // リセット時のDIPSW | |
| UINT8 rom; | |
| UINT32 sound; | |
| UINT32 device; | |
| UINT32 realclock; | |
| } PCCORE; | } PCCORE; |
| enum { | |
| COREEVENT_SHUT = 0, | |
| COREEVENT_RESET = 1, | |
| COREEVENT_EXIT = 2 | |
| }; | |
| typedef struct | |
| { | |
| UINT8 screenupdate; | |
| UINT8 screendispflag; | |
| UINT8 drawframe; | |
| UINT8 hardwarereset; | |
| } PCSTAT; | |
| #ifdef __cplusplus | #ifdef __cplusplus |
| extern "C" { | extern "C" { |
| #endif | #endif |
| extern const char np2version[]; | extern const OEMCHAR np2version[]; |
| extern NP2CFG np2cfg; | extern NP2CFG np2cfg; |
| extern PCCORE pc; | extern PCCORE pccore; |
| extern BYTE screenupdate; | extern PCSTAT pcstat; |
| extern int soundrenewal; | extern UINT8 soundrenewal; |
| extern BOOL drawframe; | |
| extern UINT drawcount; | extern UINT drawcount; |
| void getbiospath(char *path, const char *fname, int maxlen); | void getbiospath(OEMCHAR *path, const OEMCHAR *fname, int maxlen); |
| void screendisp(NEVENTITEM item); | void screendisp(NEVENTITEM item); |
| void screenvsync(NEVENTITEM item); | void screenvsync(NEVENTITEM item); |
| Line 134 void pccore_term(void); | Line 169 void pccore_term(void); |
| void pccore_reset(void); | void pccore_reset(void); |
| void pccore_exec(BOOL draw); | void pccore_exec(BOOL draw); |
| void pccore_postevent(UINT32 event); | |
| #ifdef __cplusplus | #ifdef __cplusplus |
| } | } |
| #endif | #endif |