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

version 1.8, 2004/08/05 04:53:15 version 1.11, 2004/08/05 16:47:26
Line 12 Line 12
 #include        "sndctrl.h"  #include        "sndctrl.h"
 #include        "menu.h"  #include        "menu.h"
 #include        "font.h"  #include        "font.h"
 #include        "juliet.h"  
 #include        "xmilver.h"  #include        "xmilver.h"
 #include        "fddfile.h"  #include        "fddfile.h"
 #include        "calendar.h"  #include        "calendar.h"
Line 28  const OEMCHAR xmilversion[] = OEMTEXT(XM Line 27  const OEMCHAR xmilversion[] = OEMTEXT(XM
                                                         0, 0,                                                          0, 0,
                                                         0, 0,                                                          0, 0,
                                                         0, 0, 0,                                                          0, 0, 0,
                                                         1,  
                                                         1, 0};                                                          1, 0};
   
         PCCORE          pccore = {250, 0, 1, 0};          PCCORE          pccore = {250, 0, 1, 0};
Line 130  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 128  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
 ***********************************************************************/  ***********************************************************************/
   
 static  BYTE    keyintcnt = 0;  static  BYTE    keyintcnt = 0;
 static  BYTE    flame = 0;  
 static  BYTE    inttiming = 0;  
   
 void pccore_initialize(void) {  void pccore_initialize(void) {
   
Line 158  void pccore_reset(void) { Line 154  void pccore_reset(void) {
                 sndctrl_deinitialize();                  sndctrl_deinitialize();
                 sndctrl_initialize();                  sndctrl_initialize();
         }          }
           sound_reset();
   
         reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW);          reset_x1(xmilcfg.ROM_TYPE, xmilcfg.SOUND_SW, xmilcfg.DIP_SW);
         soundmng_play();          soundmng_play();
 }  }
Line 212  void iptrace_out(void) { Line 210  void iptrace_out(void) {
   
 void x1r_exec(void) {  void x1r_exec(void) {
   
 extern  BYTE    disp_flashscreen;          REG8    inttiming;
   
         v_cnt = 0;          v_cnt = 0;
         s_cnt = 0;          s_cnt = 0;
         xmilcfg.DISPSYNC &= 1;          xmilcfg.DISPSYNC &= 1;
         inttiming = xmilcfg.CPU8MHz & 1;          inttiming = xmilcfg.CPU8MHz & 1;
 //      TRACEOUT(("*sync"));  
   
         while(s_cnt < 266) {          while(s_cnt < 266) {
                 while(h_cnt < pccore.HSYNC_CLK) {                  while(h_cnt < pccore.HSYNC_CLK) {
 #if defined(TRACE)  
 //                      TRACEOUT(("%.4x", Z80_PC));  
 //                      if (Z80_PC == 0x8198) {  
 //                              TRACEOUT(("---->sound"));  
 //                      }  
 //                      if (Z80_PC == 0x8188) {  
 //                              TRACEOUT(("-- poll sound"));  
 //                      }  
 #endif  
 #if IPTRACE  #if IPTRACE
                         treip[trpos & (IPTRACE - 1)] = Z80_PC;                          treip[trpos & (IPTRACE - 1)] = Z80_PC;
                         trpos++;                          trpos++;
Line 242  extern BYTE disp_flashscreen; Line 230  extern BYTE disp_flashscreen;
                 h_cntbase += pccore.HSYNC_CLK;                  h_cntbase += pccore.HSYNC_CLK;
                 inttiming ^= 2;                  inttiming ^= 2;
                 if (inttiming != 3) {                  if (inttiming != 3) {
                         if (xmilcfg.SOUNDPLY) {                          sound_makesample(pcmbufsize[s_cnt]);
                                 sound_makesample(pcmbufsize[s_cnt]);  //                      if (xmilcfg.SOUNDPLY) {
                                 juliet2_exec();  //                              juliet2_exec();
                         }  //                      }
                         s_cnt++;                          s_cnt++;
                         x1_ctc_int();                          x1_ctc_int();
                         if (!((++keyintcnt) & 15)) {                          if (!((++keyintcnt) & 15)) {
Line 257  extern BYTE disp_flashscreen; Line 245  extern BYTE disp_flashscreen;
                 }                  }
                 v_cnt++;                  v_cnt++;
                 if (crtc.s.CRT_YL == v_cnt) {                  if (crtc.s.CRT_YL == v_cnt) {
 //                      TRACEOUT(("--->sync"));  
                         pcg.r.vsync = 1;                          pcg.r.vsync = 1;
                         if (xmilcfg.DISPSYNC == 1) {                          if (xmilcfg.DISPSYNC == 1) {
                                 xmilcfg.DISPSYNC |= 0x80;                                  xmilcfg.DISPSYNC |= 0x80;
Line 265  extern BYTE disp_flashscreen; Line 252  extern BYTE disp_flashscreen;
                         }                          }
                 }                  }
         }          }
         if (++flame >= 60) {          sound_sync();
                 flame = 0;          calendar_inc();
                 calendar_inc();  
         }  
         if (!xmilcfg.SOUNDPLY) {  
                 sound_makesample(framesoundcnt);  
         }  
         if (!(xmilcfg.DISPSYNC & 0x80)) {          if (!(xmilcfg.DISPSYNC & 0x80)) {
                 scrnupdate();                  scrnupdate();
         }          }

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


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