Diff for /xmil/pccore.c between versions 1.11 and 1.18

version 1.11, 2004/08/05 16:47:26 version 1.18, 2004/08/09 02:47:01
Line 4 Line 4
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "sysmng.h"  #include        "sysmng.h"
 #include        "timemng.h"  #include        "timemng.h"
   #include        "xmilver.h"
 #include        "z80core.h"  #include        "z80core.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "draw.h"  #include        "timing.h"
   #include        "calendar.h"
   #include        "keystat.h"
   #include        "palettes.h"
   #include        "makescrn.h"
 #include        "sound.h"  #include        "sound.h"
 #include        "sndctrl.h"  #include        "sndctrl.h"
 #include        "menu.h"  
 #include        "font.h"  #include        "font.h"
 #include        "xmilver.h"  
 #include        "fddfile.h"  #include        "fddfile.h"
 #include        "calendar.h"  
 #include        "timing.h"  
 #include        "defrom.res"  #include        "defrom.res"
 #include        "keystat.h"  
   
   
 const OEMCHAR xmilversion[] = OEMTEXT(XMILVER_CORE);  const OEMCHAR xmilversion[] = OEMTEXT(XMILVER_CORE);
   
         XMILCFG         xmilcfg = {     0, 0, 1, 0, 1, 2, 0, 1,          XMILCFG         xmilcfg = { 2, 0, 1,
                                                         22050, 1000, 0, 80,                                                          1, 0, 0, 0,
                                                         0, 0,                                                          22050, 500, 0, 0, 80,
                                                         0, 0,                                                          0, 0, 0, 0};
                                                         0, 0, 0,  
                                                         1, 0};  
   
         PCCORE          pccore = {250, 0, 1, 0};          PCCORE          pccore = {250, 0, 1, 0};
           CORESTAT        corestat;
         BYTE            mMAIN[0x10000];          BYTE            mMAIN[0x10000];
         BYTE            mBIOS[0x8000];          BYTE            mBIOS[0x8000];
         BYTE            mBANK[16][0x8000];  #if defined(SUPPORT_BANKMEM)
         WORD            v_cnt;          UINT8           mBANK[16][0x8000];
         int                     s_cnt;  #endif
           UINT            v_cnt;
           UINT            s_cnt;
   
         BYTE            *RAM0r;          BYTE            *RAM0r;
         BYTE            *RAM0w;          BYTE            *RAM0w;
         DWORD           h_cntbase;          DWORD           h_cntbase;
         BRESULT         soundrenewal;  
   
   
   
Line 47  const OEMCHAR xmilversion[] = OEMTEXT(XM Line 47  const OEMCHAR xmilversion[] = OEMTEXT(XM
         IPL-ROM LOAD          IPL-ROM LOAD
 ***********************************************************************/  ***********************************************************************/
   
 void ipl_load(void) {  static void ipl_load(void) {
   
         FILEH   hdl;          FILEH   hdl;
   
Line 73  void ipl_load(void) { Line 73  void ipl_load(void) {
         初期化          初期化
 ***********************************************************************/  ***********************************************************************/
   
 BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) {  static BRESULT reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) {
   
         pccore.HSYNC_CLK = 250;          pccore.HSYNC_CLK = 250;
         pccore.ROM_TYPE = ROM_TYPE;          pccore.ROM_TYPE = ROM_TYPE;
Line 90  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 90  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
                 scrnmng_setcolormode(FALSE);                  scrnmng_setcolormode(FALSE);
         }          }
   
         textdrawproc_renewal();  
         ipl_load();          ipl_load();
   
         Z80_RESET();          Z80_RESET();
Line 117  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 116  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
         subcpu_reset();          subcpu_reset();
         vramio_reset();          vramio_reset();
   
           pal_reset();
           makescrn_reset();
         timing_reset();          timing_reset();
         return(SUCCESS);          return(SUCCESS);
 }  }
Line 132  static BYTE keyintcnt = 0; Line 133  static BYTE keyintcnt = 0;
 void pccore_initialize(void) {  void pccore_initialize(void) {
   
         sndctrl_initialize();          sndctrl_initialize();
           makescrn_initialize();
   
         init_draw();  
         font_load(NULL, TRUE);          font_load(NULL, TRUE);
   
         crtc_initialize();          crtc_initialize();
         pcg_initialize();          pcg_initialize();
         ppi_initialize();          ppi_initialize();
   
         reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW);  
   
 //      keystat_initialize();  
 //      keystat_reset();  
 }  }
   
 void pccore_reset(void) {  void pccore_reset(void) {
   
         soundmng_stop();          soundmng_stop();
         if (soundrenewal) {          if (corestat.soundrenewal) {
                 soundrenewal = 0;                  corestat.soundrenewal = 0;
                 sndctrl_deinitialize();                  sndctrl_deinitialize();
                 sndctrl_initialize();                  sndctrl_initialize();
         }          }
Line 206  void iptrace_out(void) { Line 202  void iptrace_out(void) {
 }  }
 #endif  #endif
   
   void pccore_exec(BRESULT draw) {
   
 void x1r_exec(void) {  
   
         REG8    inttiming;          REG8    inttiming;
   
           corestat.drawframe = draw;
           soundmng_sync();
   
         v_cnt = 0;          v_cnt = 0;
         s_cnt = 0;          s_cnt = 0;
         xmilcfg.DISPSYNC &= 1;  
         inttiming = xmilcfg.CPU8MHz & 1;          inttiming = xmilcfg.CPU8MHz & 1;
   
         while(s_cnt < 266) {          while(s_cnt < 266) {
                 while(h_cnt < pccore.HSYNC_CLK) {                  while(h_cnt < pccore.HSYNC_CLK) {
 #if IPTRACE  #if defined(TRACE) && IPTRACE
                         treip[trpos & (IPTRACE - 1)] = Z80_PC;                          treip[trpos & (IPTRACE - 1)] = Z80_PC;
                         trpos++;                          trpos++;
 #endif  #endif
Line 246  void x1r_exec(void) { Line 242  void x1r_exec(void) {
                 v_cnt++;                  v_cnt++;
                 if (crtc.s.CRT_YL == v_cnt) {                  if (crtc.s.CRT_YL == v_cnt) {
                         pcg.r.vsync = 1;                          pcg.r.vsync = 1;
                         if (xmilcfg.DISPSYNC == 1) {                          if (xmilcfg.DISPSYNC & 1) {
                                 xmilcfg.DISPSYNC |= 0x80;  
                                 scrnupdate();                                  scrnupdate();
                         }                          }
                 }                  }
         }          }
         sound_sync();          scrnupdate();
         calendar_inc();          calendar_inc();
         if (!(xmilcfg.DISPSYNC & 0x80)) {          sound_sync();
                 scrnupdate();  
         }  
 }  }
   

Removed from v.1.11  
changed lines
  Added in v.1.18


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