Diff for /np2/pccore.c between versions 1.107 and 1.108

version 1.107, 2007/11/03 00:00:18 version 1.108, 2007/11/11 12:46:06
Line 75  const OEMCHAR np2version[] = OEMTEXT(NP2 Line 75  const OEMCHAR np2version[] = OEMTEXT(NP2
                                                 0, PCMODEL_VX, 0, 0, {0x3e, 0x73, 0x7b}, 0,                                                  0, PCMODEL_VX, 0, 0, {0x3e, 0x73, 0x7b}, 0,
                                                 0, 0,                                                  0, 0,
                                                 PCBASECLOCK25 * PCBASEMULTIPLE};                                                  PCBASECLOCK25 * PCBASEMULTIPLE};
           PCSTAT  pcstat = {3, TRUE, FALSE, FALSE};
   
         UINT8   screenupdate = 3;  //      UINT8   screenupdate = 3;
         int             screendispflag = 1;  //      int             screendispflag = 1;
         int             soundrenewal = 0;          UINT8   soundrenewal = 0;
         BOOL    drawframe;  //      BOOL    drawframe;
         UINT    drawcount = 0;          UINT    drawcount = 0;
         BOOL    hardwarereset = FALSE;  //      BOOL    hardwarereset = FALSE;
   
   
 // ---------------------------------------------------------------------------  // ---------------------------------------------------------------------------
Line 425  static void drawscreen(void) { Line 426  static void drawscreen(void) {
                 gdc_updateclock();                  gdc_updateclock();
         }          }
   
         if (!drawframe) {          if (!pcstat.drawframe) {
                 return;                  return;
         }          }
         if ((gdcs.textdisp & GDCSCRN_EXT) || (gdcs.grphdisp & GDCSCRN_EXT)) {          if ((gdcs.textdisp & GDCSCRN_EXT) || (gdcs.grphdisp & GDCSCRN_EXT)) {
Line 439  static void drawscreen(void) { Line 440  static void drawscreen(void) {
                 dispsync_renewalhorizontal();                  dispsync_renewalhorizontal();
                 tramflag.renewal |= 1;                  tramflag.renewal |= 1;
                 if (dispsync_renewalmode()) {                  if (dispsync_renewalmode()) {
                         screenupdate |= 2;                          pcstat.screenupdate |= 2;
                 }                  }
         }          }
         if (gdcs.palchange) {          if (gdcs.palchange) {
                 gdcs.palchange = 0;                  gdcs.palchange = 0;
                 pal_change(0);                  pal_change(0);
                 screenupdate |= 1;                  pcstat.screenupdate |= 1;
         }          }
         if (gdcs.grphdisp & GDCSCRN_EXT) {          if (gdcs.grphdisp & GDCSCRN_EXT) {
                 gdcs.grphdisp &= ~GDCSCRN_EXT;                  gdcs.grphdisp &= ~GDCSCRN_EXT;
Line 473  static void drawscreen(void) { Line 474  static void drawscreen(void) {
                         if (gdcs.grphdisp & bit) {                          if (gdcs.grphdisp & bit) {
                                 (*grphfn)(gdcs.disp, gdcs.grphdisp & bit & GDCSCRN_ALLDRAW2);                                  (*grphfn)(gdcs.disp, gdcs.grphdisp & bit & GDCSCRN_ALLDRAW2);
                                 gdcs.grphdisp &= ~bit;                                  gdcs.grphdisp &= ~bit;
                                 screenupdate |= 1;                                  pcstat.screenupdate |= 1;
                         }                          }
                 }                  }
                 else if (gdcs.textdisp & GDCSCRN_ENABLE) {                  else if (gdcs.textdisp & GDCSCRN_ENABLE) {
Line 489  static void drawscreen(void) { Line 490  static void drawscreen(void) {
                                                                 gdcs.grphdisp & GDCSCRN_ALLDRAW);                                                                  gdcs.grphdisp & GDCSCRN_ALLDRAW);
                                         }                                          }
                                         gdcs.grphdisp &= ~GDCSCRN_MAKE;                                          gdcs.grphdisp &= ~GDCSCRN_MAKE;
                                         screenupdate |= 1;                                          pcstat.screenupdate |= 1;
                                 }                                  }
                         }                          }
                         else {                          else {
Line 504  static void drawscreen(void) { Line 505  static void drawscreen(void) {
                                                                 gdcs.grphdisp & (GDCSCRN_ALLDRAW << 1));                                                                  gdcs.grphdisp & (GDCSCRN_ALLDRAW << 1));
                                         }                                          }
                                         gdcs.grphdisp &= ~(GDCSCRN_MAKE << 1);                                          gdcs.grphdisp &= ~(GDCSCRN_MAKE << 1);
                                         screenupdate |= 1;                                          pcstat.screenupdate |= 1;
                                 }                                  }
                         }                          }
                 }                  }
Line 525  static void drawscreen(void) { Line 526  static void drawscreen(void) {
                                 maketext40(gdcs.textdisp & GDCSCRN_ALLDRAW);                                  maketext40(gdcs.textdisp & GDCSCRN_ALLDRAW);
                         }                          }
                         gdcs.textdisp &= ~GDCSCRN_MAKE;                          gdcs.textdisp &= ~GDCSCRN_MAKE;
                         screenupdate |= 1;                          pcstat.screenupdate |= 1;
                 }                  }
         }          }
         if (screenupdate) {          if (pcstat.screenupdate) {
                 screenupdate = scrndraw_draw((UINT8)(screenupdate & 2));                  pcstat.screenupdate = scrndraw_draw((UINT8)(pcstat.screenupdate & 2));
                 drawcount++;                  drawcount++;
         }          }
 }  }
Line 540  void screendisp(NEVENTITEM item) { Line 541  void screendisp(NEVENTITEM item) {
   
         gdc_work(GDCWORK_SLAVE);          gdc_work(GDCWORK_SLAVE);
         gdc.vsync = 0;          gdc.vsync = 0;
         screendispflag = 0;          pcstat.screendispflag = 0;
         if (!np2cfg.DISPSYNC) {          if (!np2cfg.DISPSYNC) {
                 drawscreen();                  drawscreen();
         }          }
Line 591  void pccore_postevent(UINT32 event) { // Line 592  void pccore_postevent(UINT32 event) { //
   
 void pccore_exec(BOOL draw) {  void pccore_exec(BOOL draw) {
   
         drawframe = draw;          pcstat.drawframe = (UINT8)draw;
 //      keystat_sync();  //      keystat_sync();
         soundmng_sync();          soundmng_sync();
         mouseif_sync();          mouseif_sync();
         pal_eventclear();          pal_eventclear();
   
         gdc.vsync = 0;          gdc.vsync = 0;
         screendispflag = 1;          pcstat.screendispflag = 1;
         MEMWAIT_TRAM = np2cfg.wait[0];          MEMWAIT_TRAM = np2cfg.wait[0];
         MEMWAIT_VRAM = np2cfg.wait[2];          MEMWAIT_VRAM = np2cfg.wait[2];
         MEMWAIT_GRCG = np2cfg.wait[4];          MEMWAIT_GRCG = np2cfg.wait[4];
Line 606  void pccore_exec(BOOL draw) { Line 607  void pccore_exec(BOOL draw) {
   
 //      nevent_get1stevent();  //      nevent_get1stevent();
   
         while(screendispflag) {          while(pcstat.screendispflag) {
 #if defined(TRACE)  #if defined(TRACE)
                 resetcnt++;                  resetcnt++;
 #endif  #endif
Line 636  void pccore_exec(BOOL draw) { Line 637  void pccore_exec(BOOL draw) {
         diskdrv_callback();          diskdrv_callback();
         calendar_inc();          calendar_inc();
         S98_sync();          S98_sync();
         sound_sync();                                                                                                   // happy!          sound_sync();
   
         if (hardwarereset) {          if (pcstat.hardwarereset) {
                 hardwarereset = FALSE;                  pcstat.hardwarereset = FALSE;
                 pccore_cfgupdate();                  pccore_cfgupdate();
                 pccore_reset();                  pccore_reset();
         }          }

Removed from v.1.107  
changed lines
  Added in v.1.108


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