Diff for /xmil/pccore.c between versions 1.6 and 1.9

version 1.6, 2004/08/04 15:18:25 version 1.9, 2004/08/05 11:30:12
Line 7 Line 7
 #include        "z80core.h"  #include        "z80core.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "x1_io.h"  
 #include        "x1_crtc.h"  
 #include        "draw.h"  #include        "draw.h"
 #include        "sound.h"  #include        "sound.h"
 #include        "sndctrl.h"  #include        "sndctrl.h"
 #include        "menu.h"  #include        "menu.h"
 #include        "font.h"  #include        "font.h"
 #include        "juliet.h"  
 #include        "xmilver.h"  #include        "xmilver.h"
 #include        "fddfile.h"  #include        "fddfile.h"
 #include        "calendar.h"  #include        "calendar.h"
Line 33  const OEMCHAR xmilversion[] = OEMTEXT(XM Line 30  const OEMCHAR xmilversion[] = OEMTEXT(XM
                                                         1,                                                          1,
                                                         1, 0};                                                          1, 0};
   
         PCCORE          pccore = {250, 0, 1, 1, 0};          PCCORE          pccore = {250, 0, 1, 0};
         BYTE            mMAIN[0x10000];          BYTE            mMAIN[0x10000];
         BYTE            mBIOS[0x8000];          BYTE            mBIOS[0x8000];
         BYTE            mBANK[16][0x8000];          BYTE            mBANK[16][0x8000];
Line 42  const OEMCHAR xmilversion[] = OEMTEXT(XM Line 39  const OEMCHAR xmilversion[] = OEMTEXT(XM
   
         BYTE            *RAM0r;          BYTE            *RAM0r;
         BYTE            *RAM0w;          BYTE            *RAM0w;
         BYTE            lastmem;  
         DWORD           h_cntbase;          DWORD           h_cntbase;
         BRESULT         soundrenewal;          BRESULT         soundrenewal;
   
Line 75  void ipl_load(void) { Line 71  void ipl_load(void) {
   
   
 /***********************************************************************  /***********************************************************************
         FONT-ROM LOAD  
 ***********************************************************************/  
   
 void fnt_load(void) {  
   
         font_load(NULL, TRUE);  
 }  
   
   
 /***********************************************************************  
         初期化          初期化
 ***********************************************************************/  ***********************************************************************/
   
 BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) {  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_SW, BYTE DIP_SW) {
   
         pccore.HSYNC_CLK = 250;          pccore.HSYNC_CLK = 250;
         pccore.ROM_SW = 1;  
         pccore.ROM_TYPE = ROM_TYPE;          pccore.ROM_TYPE = ROM_TYPE;
         pccore.SOUND_SW = SOUND_SW;          pccore.SOUND_SW = SOUND_SW;
         pccore.DIP_SW = DIP_SW;          pccore.DIP_SW = DIP_SW;
Line 110  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 95  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
         ipl_load();          ipl_load();
   
         Z80_RESET();          Z80_RESET();
           iocore_reset();
   
         lastmem = 0x78;  
         RAM0r = mBIOS;          RAM0r = mBIOS;
         RAM0w = mMAIN;          RAM0w = mMAIN;
         h_cntbase = 0;          h_cntbase = 0;
Line 119  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 104  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
   
         calendar_initialize();          calendar_initialize();
   
         subcpu_reset();  
         ppi_reset();  
         init_crtc();  
   
         cgrom_reset();          cgrom_reset();
         cmt_reset();          cmt_reset();
           crtc_reset();
         ctc_reset();          ctc_reset();
         dmac_reset();          dmac_reset();
         fdc_reset();          fdc_reset();
           memio_reset();
         pcg_reset();          pcg_reset();
           ppi_reset();
         sio_reset();          sio_reset();
         sndboard_reset();          sndboard_reset();
           subcpu_reset();
         vramio_reset();          vramio_reset();
   
         timing_reset();          timing_reset();
Line 144  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_ Line 129  BYTE reset_x1(BYTE ROM_TYPE, BYTE SOUND_
 ***********************************************************************/  ***********************************************************************/
   
 static  BYTE    keyintcnt = 0;  static  BYTE    keyintcnt = 0;
 static  BYTE    flame = 0;  
 static  BYTE    inttiming = 0;  
   
 void pccore_initialize(void) {  void pccore_initialize(void) {
   
         sndctrl_initialize();          sndctrl_initialize();
   
         init_draw();          init_draw();
         fnt_load();          font_load(NULL, TRUE);
   
           crtc_initialize();
         pcg_initialize();          pcg_initialize();
         ppi_initialize();          ppi_initialize();
   
Line 225  void iptrace_out(void) { Line 209  void iptrace_out(void) {
   
 void x1r_exec(void) {  void x1r_exec(void) {
   
 extern  BYTE    disp_flashscreen;          REG8    inttiming;
   
         v_cnt = 0;          v_cnt = 0;
         s_cnt = 0;          s_cnt = 0;
         xmilcfg.DISPSYNC &= 1;          xmilcfg.DISPSYNC &= 1;
         inttiming = xmilcfg.CPU8MHz & 1;          inttiming = xmilcfg.CPU8MHz & 1;
 //      TRACEOUT(("*sync"));  
   
         while(s_cnt < 266) {          while(s_cnt < 266) {
                 while(h_cnt < pccore.HSYNC_CLK) {                  while(h_cnt < pccore.HSYNC_CLK) {
 #if defined(TRACE)  
 //                      TRACEOUT(("%.4x", Z80_PC));  
 //                      if (Z80_PC == 0x8198) {  
 //                              TRACEOUT(("---->sound"));  
 //                      }  
 //                      if (Z80_PC == 0x8188) {  
 //                              TRACEOUT(("-- poll sound"));  
 //                      }  
 #endif  
 #if IPTRACE  #if IPTRACE
                         treip[trpos & (IPTRACE - 1)] = Z80_PC;                          treip[trpos & (IPTRACE - 1)] = Z80_PC;
                         trpos++;                          trpos++;
Line 257  extern BYTE disp_flashscreen; Line 231  extern BYTE disp_flashscreen;
                 if (inttiming != 3) {                  if (inttiming != 3) {
                         if (xmilcfg.SOUNDPLY) {                          if (xmilcfg.SOUNDPLY) {
                                 sound_makesample(pcmbufsize[s_cnt]);                                  sound_makesample(pcmbufsize[s_cnt]);
                                 juliet2_exec();  //                              juliet2_exec();
                         }                          }
                         s_cnt++;                          s_cnt++;
                         x1_ctc_int();                          x1_ctc_int();
Line 269  extern BYTE disp_flashscreen; Line 243  extern BYTE disp_flashscreen;
                         }                          }
                 }                  }
                 v_cnt++;                  v_cnt++;
                 if (crtc.CRT_YL == v_cnt) {                  if (crtc.s.CRT_YL == v_cnt) {
 //                      TRACEOUT(("--->sync"));  //                      TRACEOUT(("--->sync"));
                         pcg.r.vsync = 1;                          pcg.r.vsync = 1;
                         if (xmilcfg.DISPSYNC == 1) {                          if (xmilcfg.DISPSYNC == 1) {
Line 278  extern BYTE disp_flashscreen; Line 252  extern BYTE disp_flashscreen;
                         }                          }
                 }                  }
         }          }
         if (++flame >= 60) {          calendar_inc();
                 flame = 0;  
                 calendar_inc();  
         }  
         if (!xmilcfg.SOUNDPLY) {          if (!xmilcfg.SOUNDPLY) {
                 sound_makesample(framesoundcnt);                  sound_makesample(framesoundcnt);
         }          }

Removed from v.1.6  
changed lines
  Added in v.1.9


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