Diff for /xmil/pccore.c between versions 1.25 and 1.29

version 1.25, 2004/08/12 17:57:36 version 1.29, 2004/08/13 02:16:33
Line 174  void iptrace_out(void) { Line 174  void iptrace_out(void) {
 #endif  #endif
   
   
 UINT pccore_getraster(UINT *h) {  
   
         SINT32  work;  
         UINT    vl;  
   
         work = nevent_getwork(NEVENT_FRAMES);  
         vl = work / 250;  
         if (h) {  
                 *h = work - (vl * 250);  
         }  
         if (corestat.vsync) {  
                 vl += corestat.vl;  
         }  
         return(vl);  
 }  
   
 void neitem_disp(UINT id) {  void neitem_disp(UINT id) {
   
         corestat.vsync = 1;          corestat.vsync = 1;
Line 197  void neitem_disp(UINT id) { Line 181  void neitem_disp(UINT id) {
         if (xmilcfg.DISPSYNC & 1) {          if (xmilcfg.DISPSYNC & 1) {
                 scrnupdate();                  scrnupdate();
         }          }
         nevent_set(id, (corestat.tl - corestat.vl) * 250,          nevent_set(id, corestat.syncclock, neitem_vsync, NEVENT_RELATIVE);
                                                                                         neitem_vsync, NEVENT_RELATIVE);  
 }  }
   
 void neitem_vsync(UINT id) {  void neitem_vsync(UINT id) {
Line 208  void neitem_vsync(UINT id) { Line 191  void neitem_vsync(UINT id) {
 }  }
   
   
   // ----
   
 // #define      SINGLESTEPONLY  // #define      SINGLESTEPONLY
   
 void pccore_exec(BRESULT draw) {  void pccore_exec(BRESULT draw) {
   
           SINT32  frameclock;
           SINT32  dispclock;
   
         corestat.drawframe = draw;          corestat.drawframe = draw;
         soundmng_sync();          soundmng_sync();
   
         corestat.tl = 266 * pccore.multiple / 2;          frameclock = 266 * RASTER_CLOCK * pccore.multiple / 2;
         corestat.vl = min(corestat.tl, crtc.e.dl);          dispclock = min(frameclock, crtc.e.dispclock);
           corestat.dispclock = dispclock;
           corestat.syncclock = frameclock - dispclock;
         corestat.vsync = 0;          corestat.vsync = 0;
         nevent_set(NEVENT_FRAMES, corestat.vl * 250,          nevent_set(NEVENT_FRAMES, dispclock, neitem_disp, NEVENT_RELATIVE);
                                                                                         neitem_disp, NEVENT_RELATIVE);  
         do {          do {
 #if !defined(SINGLESTEPONLY)  #if !defined(SINGLESTEPONLY)
                 if (CPU_REMCLOCK > 0) {                  if (CPU_REMCLOCK > 0) {
Line 227  void pccore_exec(BRESULT draw) { Line 216  void pccore_exec(BRESULT draw) {
                 }                  }
 #else  #else
                 while(CPU_REMCLOCK > 0) {                  while(CPU_REMCLOCK > 0) {
                         TRACEOUT(("%.4x", Z80_PC));  
 #if defined(TRACE) && IPTRACE  #if defined(TRACE) && IPTRACE
                         treip[trpos & (IPTRACE - 1)] = Z80_PC;                          treip[trpos & (IPTRACE - 1)] = Z80_PC;
                         trpos++;                          trpos++;
Line 241  void pccore_exec(BRESULT draw) { Line 229  void pccore_exec(BRESULT draw) {
   
         scrnupdate();          scrnupdate();
         sound_sync();          sound_sync();
           fdc_callback();
 }  }
   

Removed from v.1.25  
changed lines
  Added in v.1.29


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