Diff for /np2/pccore.h between versions 1.10 and 1.28

version 1.10, 2003/12/21 16:05:25 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
   #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 133  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

Removed from v.1.10  
changed lines
  Added in v.1.28


RetroPC.NET-CVS <cvs@retropc.net>