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

version 1.26, 2003/12/04 13:54:28 version 1.27, 2003/12/08 00:55:30
Line 3 Line 3
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "sysmng.h"  #include        "sysmng.h"
 #include        "timemng.h"  #include        "timemng.h"
 #include        "i286.h"  #include        "cpucore.h"
 #include        "memory.h"  #include        "memory.h"
 #include        "np2ver.h"  #include        "np2ver.h"
 #include        "pccore.h"  #include        "pccore.h"
Line 204  static void sound_term(void) { Line 204  static void sound_term(void) {
   
 void pccore_init(void) {  void pccore_init(void) {
   
         i286_initialize();          CPU_INITIALIZE();
   
         pal_initlcdtable();          pal_initlcdtable();
         pal_makelcdpal();          pal_makelcdpal();
Line 277  void pccore_reset(void) { Line 277  void pccore_reset(void) {
         ZeroMemory(mem + VRAM1_E, 0x08000);          ZeroMemory(mem + VRAM1_E, 0x08000);
         ZeroMemory(mem + FONT_ADRS, 0x08000);          ZeroMemory(mem + FONT_ADRS, 0x08000);
   
         i286_reset();          CPU_RESET();
         CPUTYPE = 0;          CPU_TYPE = 0;
         if (np2cfg.dipsw[2] & 0x80) {          if (np2cfg.dipsw[2] & 0x80) {
                 CPUTYPE = CPUTYPE_V30;                  CPU_TYPE = CPUTYPE_V30;
         }          }
   
         //メモリスイッチ          //メモリスイッチ
Line 326  void pccore_reset(void) { Line 326  void pccore_reset(void) {
   
         if (np2cfg.ITF_WORK) {          if (np2cfg.ITF_WORK) {
                 CS_BASE = 0xf0000;                  CS_BASE = 0xf0000;
                 I286_CS = 0xf000;                  CPU_CS = 0xf000;
                 I286_IP = 0xfff0;                  CPU_IP = 0xfff0;
         }          }
         else {          else {
                 for (i=0; i<8; i++) {                  for (i=0; i<8; i++) {
                         mem[0xa3fe2 + i*4] = msw_default[i];                          mem[0xa3fe2 + i*4] = msw_default[i];
                 }                  }
                 CS_BASE = 0xfd800;                  CS_BASE = 0xfd800;
                 I286_CS = 0xfd80;                  CPU_CS = 0xfd80;
                 I286_IP = 0x0002;                  CPU_IP = 0x0002;
         }          }
         i286_resetprefetch();          CPU_CLEARPREFETCH();
         sysmng_cpureset();          sysmng_cpureset();
   
         soundmng_play();          soundmng_play();
Line 541  void pccore_exec(BOOL draw) { Line 541  void pccore_exec(BOOL draw) {
         resetcnt++;          resetcnt++;
 #endif  #endif
                 pic_irq();                  pic_irq();
                 if (i286core.s.resetreq) {                  if (CPU_RESETREQ) {
                         i286core.s.resetreq = 0;                          CPU_RESETREQ = 0;
                         I286_CS = 0xf000;                          CPU_CS = 0xf000;
                         CS_BASE = 0xf0000;                          CS_BASE = 0xf0000;
                         I286_IP = 0xfff0;                          CPU_IP = 0xfff0;
 #ifdef CPU386                                                                                   // defineを変えてね  #ifdef CPU386                                                                                   // defineを変えてね
                         I286_DX = 0x0300;                          CPU_DX = 0x0300;
 #endif  #endif
                         i286_resetprefetch();                          CPU_CLEARPREFETCH();
                 }                  }
   
 #if 1 // ndef TRACE  #if 1 // ndef TRACE
                 if (I286_REMCLOCK > 0) {                  if (CPU_REMCLOCK > 0) {
                         if (!(CPUTYPE & CPUTYPE_V30)) {                          if (!(CPU_TYPE & CPUTYPE_V30)) {
                                 i286();                                  CPU_EXEC();
                         }                          }
                         else {                          else {
                                 v30();                                  CPU_EXECV30();
                         }                          }
                 }                  }
 #else  #else
                 while(I286_REMCLOCK > 0) {                  while(CPU_REMCLOCK > 0) {
                         TRACEOUT(("%.4x:%.4x", I286_CS, I286_IP));                          TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP));
                         i286_step();                          i286_step();
                 }                  }
 #endif  #endif

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


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