Diff for /np2/pccore.c between versions 1.19 and 1.26

version 1.19, 2003/11/21 06:51:10 version 1.26, 2003/12/04 13:54:28
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
   #include        "dosio.h"
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "sysmng.h"  #include        "sysmng.h"
 #include        "timemng.h"  #include        "timemng.h"
Line 50 Line 51
                                 1, 0x82,                                  1, 0x82,
                                 0, {0x17, 0x04, 0x1f}, {0x0c, 0x0c, 0x02, 0x10, 0x3f, 0x3f},                                  0, {0x17, 0x04, 0x1f}, {0x0c, 0x0c, 0x02, 0x10, 0x3f, 0x3f},
                                 1, 80, 0,                                  1, 80, 0,
                                 {"", ""}, ""};                                  {"", ""}, "", ""};
   
         PCCORE  pc = {  PCBASECLOCK25,          PCCORE  pc = {  PCBASECLOCK25,
                                         4,                                          4,
Line 79  static const BYTE msw_default[8] = Line 80  static const BYTE msw_default[8] =
   
 // ---------------------------------------------------------------------------  // ---------------------------------------------------------------------------
   
   void getbiospath(char *path, const char *fname, int maxlen) {
   
   const char      *p;
   
           p = np2cfg.biospath;
   
           p = np2cfg.biospath;
           if (p[0]) {
                   file_cpyname(path, p, maxlen);
                   file_setseparator(path, maxlen);
                   file_catname(path, fname, maxlen);
           }
           else {
                   file_cpyname(path, file_getcd(fname), maxlen);
           }
   }
   
   
   // ----
   
 static void setvsyncclock(void) {  static void setvsyncclock(void) {
   
         UINT    vfp;          UINT    vfp;
Line 183  static void sound_term(void) { Line 204  static void sound_term(void) {
   
 void pccore_init(void) {  void pccore_init(void) {
   
           i286_initialize();
   
         pal_initlcdtable();          pal_initlcdtable();
         pal_makelcdpal();          pal_makelcdpal();
         pal_makeskiptable();          pal_makeskiptable();
Line 487  void screenvsync(NEVENTITEM item) { Line 510  void screenvsync(NEVENTITEM item) {
         (void)item;          (void)item;
 }  }
   
   
 // ---------------------------------------------------------------------------  // ---------------------------------------------------------------------------
   
   #if defined(TRACE)
   static int resetcnt = 0;
   static int execcnt = 0;
   int piccnt = 0;
   #endif
   
 void pccore_exec(BOOL draw) {  void pccore_exec(BOOL draw) {
   
         drawframe = draw;          drawframe = draw;
Line 507  void pccore_exec(BOOL draw) { Line 537  void pccore_exec(BOOL draw) {
 //      nevent_get1stevent();  //      nevent_get1stevent();
   
         while(screendispflag) {          while(screendispflag) {
   #if defined(TRACE)
           resetcnt++;
   #endif
                 pic_irq();                  pic_irq();
                 if (cpuio.reset_req) {                  if (i286core.s.resetreq) {
                         cpuio.reset_req = 0;                          i286core.s.resetreq = 0;
                         I286_CS = 0xf000;                          I286_CS = 0xf000;
                         CS_BASE = 0xf0000;                          CS_BASE = 0xf0000;
                         I286_IP = 0xfff0;                          I286_IP = 0xfff0;
Line 519  void pccore_exec(BOOL draw) { Line 552  void pccore_exec(BOOL draw) {
                         i286_resetprefetch();                          i286_resetprefetch();
                 }                  }
   
 #ifndef TRACE  #if 1 // ndef TRACE
                 if (I286_REMCLOCK > 0) {                  if (I286_REMCLOCK > 0) {
                         if (!(CPUTYPE & CPUTYPE_V30)) {                          if (!(CPUTYPE & CPUTYPE_V30)) {
                                 i286();                                  i286();
Line 530  void pccore_exec(BOOL draw) { Line 563  void pccore_exec(BOOL draw) {
                 }                  }
 #else  #else
                 while(I286_REMCLOCK > 0) {                  while(I286_REMCLOCK > 0) {
 #if 0  
                         TRACEOUT(("%.4x:%.4x", I286_CS, I286_IP));                          TRACEOUT(("%.4x:%.4x", I286_CS, I286_IP));
 #elif 1  
                         if ((I286_CS == 0x1c29) && (I286_IP == 0x01E9)) {  
                                 if (I286_BX) {  
                                         TRACEOUT(("set %.4x", I286_BX));  
                                 }  
                         }  
                         if ((I286_CS == 0x4159) && (I286_IP == 0x02d6)) {  
                                 if (I286_AX) {  
                                         TRACEOUT(("get %d", (short)I286_AX));  
                                 }  
                         }  
 #else  
                         if (I286_CS == 0x4159) {  
                                 if ((I286_IP >= 0x02d1) && (I286_IP < 0x02e3)) {  
                                         TRACEOUT(("%s", debugsub_regs()));  
                                 }  
                         }  
 #endif  
                         i286_step();                          i286_step();
                 }                  }
 #endif  #endif
                 nevent_progress();                  nevent_progress();
         }          }
         artic_callback();                                                                                               // ver0.28          artic_callback();
         mpu98ii_callback();          mpu98ii_callback();
         diskdrv_callback();          diskdrv_callback();
         calendar_inc();          calendar_inc();
         sound_sync();                                                                                                   // happy!          sound_sync();                                                                                                   // happy!
   
   #if defined(TRACE)
           execcnt++;
           if (execcnt >= 60) {
                   TRACEOUT(("resetcnt = %d / pic %d", resetcnt, piccnt));
                   execcnt = 0;
                   resetcnt = 0;
                   piccnt = 0;
           }
   #endif
 }  }
   

Removed from v.1.19  
changed lines
  Added in v.1.26


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