Diff for /np2/pccore.c between versions 1.70 and 1.73

version 1.70, 2004/02/18 21:58:41 version 1.73, 2004/02/19 11:32:11
Line 10 Line 10
 #include        "cbuscore.h"  #include        "cbuscore.h"
 #include        "pc9861k.h"  #include        "pc9861k.h"
 #include        "mpu98ii.h"  #include        "mpu98ii.h"
   #include        "amd98.h"
 #include        "bios.h"  #include        "bios.h"
 #include        "biosmem.h"  #include        "biosmem.h"
 #include        "vram.h"  #include        "vram.h"
Line 120  static void pccore_set(void) { Line 121  static void pccore_set(void) {
         }          }
         else {          else {
                 pccore.baseclock = PCBASECLOCK20;                       // 2.0MHz                  pccore.baseclock = PCBASECLOCK20;                       // 2.0MHz
                 pccore.cpumode = CPUMODE_8MHz;                  pccore.cpumode = CPUMODE_8MHZ;
         }          }
         multiple = np2cfg.multiple;          multiple = np2cfg.multiple;
         if (multiple == 0) {          if (multiple == 0) {
Line 192  static void sound_init(void) { Line 193  static void sound_init(void) {
         pcm86gen_initialize(rate);          pcm86gen_initialize(rate);
         pcm86gen_setvol(np2cfg.vol_pcm);          pcm86gen_setvol(np2cfg.vol_pcm);
         cs4231_initialize(rate);          cs4231_initialize(rate);
           amd98_initialize(rate);
 }  }
   
 static void sound_term(void) {  static void sound_term(void) {
   
         soundmng_stop();          soundmng_stop();
           amd98_deinitialize();
         rhythm_deinitialize();          rhythm_deinitialize();
         fddmtrsnd_deinitialize();          fddmtrsnd_deinitialize();
         sound_destroy();          sound_destroy();
Line 285  void pccore_reset(void) { Line 288  void pccore_reset(void) {
                 sound_init();                  sound_init();
         }          }
   
         ZeroMemory(mem, 0x110000);                                                                      // ver0.28          ZeroMemory(mem, 0x110000);
         ZeroMemory(mem + VRAM1_B, 0x18000);          ZeroMemory(mem + VRAM1_B, 0x18000);
         ZeroMemory(mem + VRAM1_E, 0x08000);          ZeroMemory(mem + VRAM1_E, 0x08000);
         ZeroMemory(mem + FONT_ADRS, 0x08000);          ZeroMemory(mem + FONT_ADRS, 0x08000);
Line 403  static void drawscreen(void) { Line 406  static void drawscreen(void) {
                                 gdcs.grphdisp |= GDCSCRN_ALLDRAW2;                                  gdcs.grphdisp |= GDCSCRN_ALLDRAW2;
                         }                          }
                 }                  }
                                                                                                                                 // ver0.28/pr4  
                 if (gdcs.textdisp & GDCSCRN_EXT) {                  if (gdcs.textdisp & GDCSCRN_EXT) {
                         gdcs.textdisp &= ~GDCSCRN_EXT;                          gdcs.textdisp &= ~GDCSCRN_EXT;
                         dispsync_renewalhorizontal();                          dispsync_renewalhorizontal();
Line 412  static void drawscreen(void) { Line 414  static void drawscreen(void) {
                                 screenupdate |= 2;                                  screenupdate |= 2;
                         }                          }
                 }                  }
                                                                                                                                 // ver0.28/pr4                  if (gdcs.palchange) {
                 if (gdcs.palchange) {                                                                   // grphを先に  
                         gdcs.palchange = 0;                          gdcs.palchange = 0;
                         pal_change(0);                          pal_change(0);
                         screenupdate |= 1;                          screenupdate |= 1;
Line 510  void screendisp(NEVENTITEM item) { Line 511  void screendisp(NEVENTITEM item) {
         gdc_work(GDCWORK_SLAVE);          gdc_work(GDCWORK_SLAVE);
         gdc.vsync = 0;          gdc.vsync = 0;
         screendispflag = 0;          screendispflag = 0;
         if (!np2cfg.DISPSYNC) {                                                                                 // ver0.29          if (!np2cfg.DISPSYNC) {
                 drawscreen();                  drawscreen();
         }          }
         pi = &pic.pi[0];          pi = &pic.pi[0];
Line 535  void screenvsync(NEVENTITEM item) { Line 536  void screenvsync(NEVENTITEM item) {
         nevent_set(NEVENT_FLAMES, gdc.vsyncclock, screendisp, NEVENT_RELATIVE);          nevent_set(NEVENT_FLAMES, gdc.vsyncclock, screendisp, NEVENT_RELATIVE);
   
         // drawscreenで pccore.vsyncclockが変更される可能性があります          // drawscreenで pccore.vsyncclockが変更される可能性があります
         if (np2cfg.DISPSYNC) {                                                                                  // ver0.29          if (np2cfg.DISPSYNC) {
                 drawscreen();                  drawscreen();
         }          }
         (void)item;          (void)item;
Line 651  void pccore_exec(BOOL draw) { Line 652  void pccore_exec(BOOL draw) {
                                                                         CPU_DX, CPU_DS, CPU_DI, mem[0xa3fe0]));                                                                          CPU_DX, CPU_DS, CPU_DI, mem[0xa3fe0]));
                         }                          }
 #endif  #endif
 #if 0                          i286x_step();
                         if ((tr & 2) && (mem[0x0471e] == '\\')) {  //                      i286c_step();
                                 TRACEOUT(("DTA BREAK %.4x:%.4x", CPU_CS, CPU_IP));  
                                 TRACEOUT(("0471:000e %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x",  
         mem[0x0471e+0], mem[0x0471e+1], mem[0x0471e+2], mem[0x0471e+3],  
         mem[0x0471e+4], mem[0x0471e+5], mem[0x0471e+6], mem[0x0471e+7]));  
                                 tr -= 2;  
                         }  
                         // DOS6  
                         if (CPU_CS == 0xffd0) {  
                                 if (CPU_IP == 0xc4c2) {  
                                         TRACEOUT(("DS:DX = %.4x:%.4x / CX = %.4x", CPU_DS, CPU_DX, CPU_CX));  
                                 }  
                                 else if (CPU_IP == 0xc21d) {  
                                         TRACEOUT(("-> DS:BX = %.4x:%.4x", CPU_DS, CPU_BX));  
                                 }  
                         }  
 #endif  
 #if 0  
                         if ((CPU_CS == 0x0620) || (CPU_CS == 0x08a0)) {  
                                 TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP));  
                         }  
 #endif  
 #if 0           // VX LIO  
                         if (CPU_CS == 0xf990) {  
                                 if (CPU_IP == 0x07BE) {  
                                         TRACEOUT(("%d,%d - %d,%d", CPU_BP, CPU_DX, CPU_SI, CPU_DI));  
                                 }  
                         }  
 #endif  
 //                      i286x_step();  
                         i286c_step();  
                 }                  }
 #endif  #endif
                 nevent_progress();                  nevent_progress();

Removed from v.1.70  
changed lines
  Added in v.1.73


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