Diff for /np2/pccore.c between versions 1.93 and 1.96

version 1.93, 2004/07/04 08:30:16 version 1.96, 2005/02/04 05:32:22
Line 43 Line 43
   
 const OEMCHAR np2version[] = OEMTEXT(NP2VER_CORE);  const OEMCHAR np2version[] = OEMTEXT(NP2VER_CORE);
   
   #if defined(_WIN32_WCE)
   #define PCBASEMULTIPLE  2
   #else
   #define PCBASEMULTIPLE  4
   #endif
   
   
         NP2CFG  np2cfg = {          NP2CFG  np2cfg = {
                                 0, 1, 0, 32, 0, 0, 0x40,                                  0, 1, 0, 32, 0, 0, 0x40,
                                 0, 0, 0, 0,                                  0, 0, 0, 0,
                                 {0x3e, 0x73, 0x7b}, 0,                                  {0x3e, 0x73, 0x7b}, 0,
                                 0, 0, {1, 1, 6, 1, 8, 1},                                  0, 0, {1, 1, 6, 1, 8, 1},
   
                                 OEMTEXT("VX"), PCBASECLOCK25, 4,                                  OEMTEXT("VX"), PCBASECLOCK25, PCBASEMULTIPLE,
                                 {0x48, 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6e},                                  {0x48, 0x05, 0x04, 0x00, 0x01, 0x00, 0x00, 0x6e},
                                 1, 1, 2, 1, 0x000000, 0xffffff,                                  1, 1, 2, 1, 0x000000, 0xffffff,
                                 22050, 500, 4, 0,                                  22050, 500, 4, 0,
Line 64  const OEMCHAR np2version[] = OEMTEXT(NP2 Line 71  const OEMCHAR np2version[] = OEMTEXT(NP2
 #endif  #endif
                                 OEMTEXT(""), OEMTEXT(""), OEMTEXT("")};                                  OEMTEXT(""), OEMTEXT(""), OEMTEXT("")};
   
         PCCORE  pccore = {      PCBASECLOCK25, 4,          PCCORE  pccore = {      PCBASECLOCK25, PCBASEMULTIPLE,
                                                 0, PCMODEL_VX, 0, 0, {0x3e, 0x73, 0x7b}, 0,                                                  0, PCMODEL_VX, 0, 0, {0x3e, 0x73, 0x7b}, 0,
                                                 0, 0,                                                  0, 0,
                                                 4 * PCBASECLOCK25};                                                  PCBASECLOCK25 * PCBASEMULTIPLE};
   
         UINT8   screenupdate = 3;          UINT8   screenupdate = 3;
         int             screendispflag = 1;          int             screendispflag = 1;
Line 541  void screenvsync(NEVENTITEM item) { Line 548  void screenvsync(NEVENTITEM item) {
   
 // ---------------------------------------------------------------------------  // ---------------------------------------------------------------------------
   
   // #define SINGLESTEPONLY
 // #define      IPTRACE                 (1 << 12)  // #define      IPTRACE                 (1 << 12)
   
 #if defined(TRACE) && IPTRACE  #if defined(TRACE) && IPTRACE
Line 606  void pccore_exec(BOOL draw) { Line 614  void pccore_exec(BOOL draw) {
   
         while(screendispflag) {          while(screendispflag) {
 #if defined(TRACE)  #if defined(TRACE)
         resetcnt++;                  resetcnt++;
 #endif  #endif
                 pic_irq();                  pic_irq();
                 if (CPU_RESETREQ) {                  if (CPU_RESETREQ) {
Line 625  void pccore_exec(BOOL draw) { Line 633  void pccore_exec(BOOL draw) {
                 }                  }
 #else  #else
                 while(CPU_REMCLOCK > 0) {                  while(CPU_REMCLOCK > 0) {
   #if 0
                           if (CPU_CS == 0x0000) {
                                   if (CPU_IP == 0x1191) {
                                           char buf[10];
                                           int i;
                                           for (i=0; i<6; i++) {
                                                   buf[i] = MEML_READ8(0x1000, CPU_BX + i);
                                           }
                                           buf[6] = '\0';
                                           TRACEOUT(("load: %s", buf));
                                   }
                                   if (CPU_IP == 0x1265) {
                                           TRACEOUT(("%.4x:%.4x addr=%.4x ret=%.4x",
                                                                                           CPU_CS, CPU_IP, CPU_DX,
                                                                                                   MEML_READ16(CPU_SS, CPU_SP)));
                                   }
                           }
   #endif
   #if 0
                           if (CPU_CS == 0x0080) {
                                   if (CPU_IP == 0x052A) {
                                           UINT i;
                                           UINT addr;
                                           char fname[9];
                                           addr = MEML_READ16(CPU_SS, CPU_BP + 4);
                                           for (i=0; i<8; i++) {
                                                   fname[i] = MEML_READ8(CPU_DS, addr + i);
                                           }
                                           fname[8] = 0;
                                           TRACEOUT(("%.4x:%.4x play... addr:%.4x %s",
                                                                                           CPU_CS, CPU_IP, addr, fname));
                                   }
                           }
   #endif
   #if 0
                           if (CPU_CS == 0x800) {
                                   if (CPU_IP == 0x017A) {
                                           TRACEOUT(("%.4x:%.4x solve... DS=%.4x SIZE=%.4x KEY=%.4x",
                                                                   CPU_CS, CPU_IP,
                                                                   MEML_READ16(CPU_SS, CPU_BP - 0x06),
                                                                   CPU_DX,
                                                                   MEML_READ16(CPU_SS, CPU_BP - 0x08)));
                                   }
                           }
   #endif
   #if 0
                           if (CPU_CS == 0x3d52) {
                                   if (CPU_IP == 0x4A57) {
                                           TRACEOUT(("%.4x:%.4x %.4x:%.4x/%.4x/%.4x",
                                                                   CPU_DX, CPU_BX, CPU_DS,
                                                                   MEML_READ16(CPU_SS, CPU_BP + 0x06),
                                                                   MEML_READ16(CPU_SS, CPU_BP + 0x08),
                                                                   MEML_READ16(CPU_SS, CPU_BP + 0x0a)));
                                   }
                                   if (CPU_IP == 0x4BF8) {
                                           debugsub_memorydump();
                                   }
   #if 1
                                   if (CPU_IP == 0x4B7A) {
                                           TRACEOUT(("datum = %x", CPU_AX));
                                   }
                                   if (CPU_IP == 0x4B87) {
                                           TRACEOUT(("leng = %x", CPU_AX));
                                   }
                                   if (CPU_IP == 0x4BD5) {
                                           TRACEOUT(("%.4x:%.4x <- %.2x[%.4x]",
                                                                   CPU_ES, CPU_BX, CPU_AL, CPU_DI));
                                   }
   #endif
                           }
   #endif
   #if 0   // DC
                           if (CPU_CS == 0x1000) {
                                   if (CPU_IP == 0x5924) {
                                           TRACEOUT(("%.4x:%.4x -> %.4x:%.4x", CPU_CS, CPU_IP,
                                                           MEML_READ16(CPU_DS, 0x6846),
                                                           MEML_READ16(CPU_DS, 0x6848)));
                                   }
                           }
   #endif
   #if 0   // Íå¿ËÈ×
                           if (CPU_CS == 0x60) {
                                   if (CPU_IP == 0xADF9) {
                                           TRACEOUT(("%.4x:%.4x -> %.4x:%.4x:%.4x", CPU_CS, CPU_IP, CPU_BX, CPU_SI, CPU_AX));
                                   }
                                   else if (CPU_IP == 0xC7E1) {
                                           TRACEOUT(("%.4x:%.4x -> %.4x:%.4x", CPU_CS, CPU_IP, CPU_ES, CPU_BX));
                                   }
                           }
   #endif
   #if 1
                           if (CPU_CS == 0x60) {
                                   if (CPU_IP == 0x8AC2) {
                                           UINT pos = CPU_SI + (CPU_AX * 6);
                                           TRACEOUT(("%.4x:%.4x -> %.4x:%.4x-%.4x:%.4x [%.2x %.2x %.2x %.2x %.2x %.2x]", CPU_CS, CPU_IP, CPU_SI, CPU_AX, CPU_DX, CPU_DI,
   MEML_READ8(CPU_DS, pos+0),
   MEML_READ8(CPU_DS, pos+1),
   MEML_READ8(CPU_DS, pos+2),
   MEML_READ8(CPU_DS, pos+3),
   MEML_READ8(CPU_DS, pos+4),
   MEML_READ8(CPU_DS, pos+5)));
                                   }
                           }
   #endif
 #if IPTRACE  #if IPTRACE
                         treip[trpos & (IPTRACE - 1)] = (CPU_CS << 16) + CPU_IP;                          treip[trpos & (IPTRACE - 1)] = (CPU_CS << 16) + CPU_IP;
                         trpos++;                          trpos++;
 #endif  #endif
                         i286x_step();  //                      TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP));
 //                      i286c_step();                          CPU_STEPEXEC();
                 }                  }
 #endif  #endif
                 nevent_progress();                  nevent_progress();

Removed from v.1.93  
changed lines
  Added in v.1.96


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