--- np2/pccore.h 2003/10/16 17:57:05 1.1 +++ np2/pccore.h 2003/12/04 13:54:28 1.9 @@ -1,39 +1,60 @@ #include "nevent.h" +enum { + PCBASECLOCK25 = 2457600, + PCBASECLOCK20 = 1996800 +}; + +enum { + PCMODEL_VM = 0, + PCMODEL_VX = 1 +}; + +#define CPUMODE_8MHz 0x20 + typedef struct { - UINT baseclock; - UINT multiple; + // エミュレート中によく参照される奴 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 memsw[8]; - BYTE vol14[6]; + BYTE MOUSERAPID; + + BYTE calendar; + BYTE usefd144; BYTE wait[6]; - BYTE KEY_MODE; - BYTE SOUND_SW; -// BYTE NOWAIT; // 0 -// BYTE DRAW_SKIP; // 2 - BYTE realpal; // ver0.28 - UINT16 samplingrate; - UINT16 delayms; -// BYTE WINSNAP; // 1 -// BYTE DISPCLK; // 0 - BYTE MIDIRESET; -// BYTE MOUSE_SW; // 0 - BYTE DISPSYNC; - BYTE EXTMEM; - BYTE PROTECTMEM; // qn - BYTE BTN_RAPID; - BYTE BTN_MODE; + // リセット時とかあんまり参照されない奴 + char model[8]; + UINT baseclock; + UINT multiple; -// BYTE JOYPAD1; // ver0.28 -// BYTE JOYPAD2; -// BYTE JOY1BTN[4]; + BYTE memsw[8]; + + BYTE ITF_WORK; + BYTE EXTMEM; + BYTE grcg; + BYTE color16; + UINT32 BG_COLOR; + UINT32 FG_COLOR; + + UINT16 samplingrate; + UINT16 delayms; + BYTE SOUND_SW; + BYTE snd_x; - BYTE snd_x; // ver0.30 BYTE snd14opt[3]; BYTE snd26opt; BYTE snd86opt; @@ -41,48 +62,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 I286SAVE; // 0 -// BYTE MIMPIDEF; // 0 -// BYTE REMOVEHD; // 0 -// BYTE KEYBOARD; // KEY_UNKNOWN - BYTE MOUSERAPID; - BYTE XSHIFT; -// BYTE F12COPY; // 0 - BYTE skipline; - UINT16 skiplight; - BYTE RASTER; - - BYTE vol_fm; // ver0.27 + BYTE vol14[6]; + BYTE vol_fm; BYTE vol_ssg; BYTE vol_adpcm; BYTE vol_pcm; BYTE vol_rhythm; - BYTE pc9861enable; // ver0.29 + BYTE mpuenable; + BYTE mpuopt; + + BYTE pc9861enable; BYTE pc9861sw[3]; BYTE pc9861jmp[6]; -// UINT paddingx; // 1 -// UINT paddingy; // 1 - BYTE grcg; -// BYTE background; // 0 - 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 { @@ -92,24 +94,15 @@ typedef struct { UINT32 dispclock; UINT32 vsyncclock; UINT32 mouseclock; - UINT32 dsoundclock; - UINT32 dsoundclock2; UINT32 keyboardclock; UINT32 midiclock; - UINT32 sampleclock; UINT32 frame1000; UINT32 raster; UINT32 hsync; BYTE cpumode; + BYTE model; } PCCORE; -enum { - PCBASECLOCK25 = 2457600, - PCBASECLOCK20 = 1996800 -}; - -#define CPUMODE_8MHz 0x20 - #ifdef __cplusplus extern "C" { @@ -119,14 +112,12 @@ extern const char np2version[]; extern NP2CFG np2cfg; extern PCCORE pc; -extern BYTE dip_default[3]; -extern BYTE msw_default[8]; extern BYTE screenupdate; 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);