Diff for /np2/pccore.c between versions 1.49 and 1.50

version 1.49, 2004/01/23 12:04:07 version 1.50, 2004/01/23 15:05:04
Line 5 Line 5
 #include        "sysmng.h"  #include        "sysmng.h"
 #include        "timemng.h"  #include        "timemng.h"
 #include        "cpucore.h"  #include        "cpucore.h"
 #include        "np2ver.h"  
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "cbuscore.h"  #include        "cbuscore.h"
Line 29 Line 28
 #include        "fddfile.h"  #include        "fddfile.h"
 #include        "fdd_mtr.h"  #include        "fdd_mtr.h"
 #include        "sxsi.h"  #include        "sxsi.h"
 #include        "calendar.h"  
 #include        "timing.h"  
 #include        "debugsub.h"  
 #if defined(SUPPORT_HOSTDRV)  #if defined(SUPPORT_HOSTDRV)
 #include        "hostdrv.h"  #include        "hostdrv.h"
 #endif  #endif
   #include        "np2ver.h"
   #include        "calendar.h"
   #include        "timing.h"
   #include        "debugsub.h"
   
   
         const char      np2version[] = NP2VER_CORE;          const char      np2version[] = NP2VER_CORE;
Line 176  static void pccore_set(void) { Line 176  static void pccore_set(void) {
         pccore.midiclock = pccore.realclock / 3125;          pccore.midiclock = pccore.realclock / 3125;
   
         // 拡張メモリ          // 拡張メモリ
         pccore.extmem = 0;          if (!(np2cfg.dipsw[2] & 0x80)) {
                   pccore.extmem = np2cfg.EXTMEM;
           }
   
         // HDDの接続 (I/Oの使用状態が変わるので..          // HDDの接続 (I/Oの使用状態が変わるので..
         if (np2cfg.dipsw[1] & 0x20) {          if (np2cfg.dipsw[1] & 0x20) {
Line 291  void pccore_term(void) { Line 293  void pccore_term(void) {
         mpu98ii_destruct();          mpu98ii_destruct();
   
         sxsi_trash();          sxsi_trash();
   
           CPU_DEINITIALIZE();
 }  }
   
   
Line 315  void pccore_reset(void) { Line 319  void pccore_reset(void) {
   
         int             i;          int             i;
   
           soundmng_stop();
           if (soundrenewal) {
                   soundrenewal = 0;
                   sound_term();
                   sound_init();
           }
   
         ZeroMemory(mem, 0x10fff0);                                                                      // ver0.28          ZeroMemory(mem, 0x10fff0);                                                                      // ver0.28
         ZeroMemory(mem + VRAM1_B, 0x18000);          ZeroMemory(mem + VRAM1_B, 0x18000);
         ZeroMemory(mem + VRAM1_E, 0x08000);          ZeroMemory(mem + VRAM1_E, 0x08000);
Line 334  void pccore_reset(void) { Line 345  void pccore_reset(void) {
         fddfile_reset2dmode();          fddfile_reset2dmode();
         bios0x18_16(0x20, 0xe1);          bios0x18_16(0x20, 0xe1);
   
         soundmng_stop();          pccore_set();
         if (soundrenewal) {          nevent_init();
                 soundrenewal = 0;          CPU_SETEXTMEM(pccore.extmem);
                 sound_term();          if (pccore.model & PCMODEL_EPSON) {                     // RAM ctrl
                 sound_init();                  CPU_RAM_D000 = 0xffff;
         }          }
   
         pccore_set();  
   
         sound_changeclock();          sound_changeclock();
         beep_changeclock();          beep_changeclock();
         nevent_init();  
   
         sound_reset();          sound_reset();
 #if defined(SUPPORT_WAVEMIX)  #if defined(SUPPORT_WAVEMIX)
         wavemix_bind();          wavemix_bind();
 #endif  #endif
   
         if (pccore.model & PCMODEL_EPSON) {                     // RAM ctrl  
                 CPU_RAM_D000 = 0xffff;  
         }  
   
         iocore_reset();                                                         // サウンドでpicを呼ぶので…          iocore_reset();                                                         // サウンドでpicを呼ぶので…
         cbuscore_reset();          cbuscore_reset();
         fmboard_reset(np2cfg.SOUND_SW);          fmboard_reset(pccore.sound);
   
         i286_memorymap((pccore.model & PCMODEL_EPSON)?1:0);          i286_memorymap((pccore.model & PCMODEL_EPSON)?1:0);
         iocore_build();          iocore_build();
Line 391  void pccore_reset(void) { Line 396  void pccore_reset(void) {
         CPU_CLEARPREFETCH();          CPU_CLEARPREFETCH();
         sysmng_cpureset();          sysmng_cpureset();
   
         soundmng_play();  
   
 #if defined(SUPPORT_HOSTDRV)  #if defined(SUPPORT_HOSTDRV)
         hostdrv_reset();          hostdrv_reset();
 #endif  #endif
   
         timing_reset();          timing_reset();
           soundmng_play();
 }  }
   
 static void drawscreen(void) {  static void drawscreen(void) {
Line 648  void pccore_exec(BOOL draw) { Line 652  void pccore_exec(BOOL draw) {
 #endif  #endif
                 }                  }
   
 #if 0 // ndef TRACE  #if 1 // ndef TRACE
                 if (CPU_REMCLOCK > 0) {                  if (CPU_REMCLOCK > 0) {
                         if (!(CPU_TYPE & CPUTYPE_V30)) {                          if (!(CPU_TYPE & CPUTYPE_V30)) {
                                 CPU_EXEC();                                  CPU_EXEC();

Removed from v.1.49  
changed lines
  Added in v.1.50


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