--- np2/pccore.h 2003/11/14 07:37:28 1.6 +++ np2/pccore.h 2003/12/21 16:05:25 1.10 @@ -8,36 +8,57 @@ enum { enum { PCMODEL_VM = 0, - PCMODEL_VX = 1 + PCMODEL_VX = 1, + PCMODELMASK = 0x3f, + + PCMODEL_PC9821 = 0x40, + PCMODEL_EPSON = 0x80 }; #define CPUMODE_8MHz 0x20 typedef struct { + // エミュレート中によく参照される奴 + BYTE uPD72020; + BYTE DISPSYNC; + BYTE RASTER; + BYTE realpal; + BYTE LCD_MODE; + BYTE skipline; + UINT16 skiplight; + + BYTE KEY_MODE; + BYTE XSHIFT; + BYTE BTN_RAPID; + BYTE BTN_MODE; + + BYTE dipsw[3]; + BYTE MOUSERAPID; + + BYTE calendar; + BYTE usefd144; + BYTE wait[6]; + + + // リセット時とかあんまり参照されない奴 + char model[8]; UINT baseclock; UINT multiple; - BYTE model; - BYTE dipsw[3]; BYTE memsw[8]; - BYTE vol14[6]; - BYTE wait[6]; - BYTE uPD72020; - BYTE KEY_MODE; - BYTE SOUND_SW; - BYTE realpal; - UINT16 samplingrate; - UINT16 delayms; - BYTE MIDIRESET; - BYTE DISPSYNC; + BYTE ITF_WORK; BYTE EXTMEM; - BYTE PROTECTMEM; // qn + BYTE grcg; + BYTE color16; + UINT32 BG_COLOR; + UINT32 FG_COLOR; - BYTE BTN_RAPID; - BYTE BTN_MODE; + UINT16 samplingrate; + UINT16 delayms; + BYTE SOUND_SW; + BYTE snd_x; - BYTE snd_x; // ver0.30 BYTE snd14opt[3]; BYTE snd26opt; BYTE snd86opt; @@ -45,40 +66,29 @@ typedef struct { BYTE spb_vrc; // ver0.30 BYTE spb_vrl; // ver0.30 BYTE spb_x; // ver0.30 - BYTE mpuopt; - BYTE MOTOR; - BYTE MOTORVOL; BYTE BEEP_VOL; - BYTE ITF_WORK; - BYTE EMM_WORK; - BYTE LCD_MODE; - UINT32 BG_COLOR; - UINT32 FG_COLOR; - - BYTE MOUSERAPID; - BYTE XSHIFT; - BYTE skipline; - UINT16 skiplight; - BYTE RASTER; - + BYTE vol14[6]; BYTE vol_fm; BYTE vol_ssg; BYTE vol_adpcm; BYTE vol_pcm; BYTE vol_rhythm; + BYTE mpuenable; + BYTE mpuopt; + BYTE pc9861enable; BYTE pc9861sw[3]; BYTE pc9861jmp[6]; - BYTE grcg; - BYTE color16; - BYTE calendar; - BYTE usefd144; + BYTE MOTOR; + BYTE MOTORVOL; + BYTE PROTECTMEM; char hddfile[2][MAX_PATH]; // ver0.30 char fontfile[MAX_PATH]; + char biospath[MAX_PATH]; } NP2CFG; typedef struct { @@ -93,7 +103,8 @@ typedef struct { UINT32 frame1000; UINT32 raster; UINT32 hsync; - BYTE cpumode; + UINT8 cpumode; + UINT8 model; } PCCORE; @@ -110,7 +121,7 @@ extern int soundrenewal; extern BOOL drawframe; extern UINT drawcount; - +void getbiospath(char *path, const char *fname, int maxlen); void screendisp(NEVENTITEM item); void screenvsync(NEVENTITEM item);