Diff for /xmil/pccore.c between versions 1.28 and 1.35

version 1.28, 2004/08/13 01:35:59 version 1.35, 2004/08/20 23:01:13
Line 26  const OEMCHAR xmilversion[] = OEMTEXT(XM Line 26  const OEMCHAR xmilversion[] = OEMTEXT(XM
   
         XMILCFG         xmilcfg = { 2, 1, 0x03,          XMILCFG         xmilcfg = { 2, 1, 0x03,
                                                         1, 0, 0, 0,                                                          1, 0, 0, 0,
                                                         22050, 500, 0, 0, 80,                                                          22050, 500, 0, 64, 64, 0, 80,
                                                         0, 0, 0, 0};                                                          0, 0, 0, 0};
   
         PCCORE          pccore;          PCCORE          pccore;
         CORESTAT        corestat;          CORESTAT        corestat;
         UINT8           mMAIN[0x10000];  
         UINT8           mBIOS[0x8000];  
 #if defined(SUPPORT_BANKMEM)  
         UINT8           mBANK[16][0x8000];  
 #endif  
         BYTE            *RAM0r;  
         BYTE            *RAM0w;  
   
   
 // ----  // ----
Line 46  static void ipl_load(void) { Line 39  static void ipl_load(void) {
   
         FILEH   hdl;          FILEH   hdl;
   
         ZeroMemory(mBIOS, sizeof(mBIOS));          ZeroMemory(biosmem, 0x8000);
         CopyMemory(mBIOS, DEFROM, sizeof(DEFROM));          CopyMemory(biosmem, DEFROM, sizeof(DEFROM));
   
         if (pccore.ROM_TYPE >= 2) {          if (pccore.ROM_TYPE >= 2) {
                 if ((hdl = file_open_c(OEMTEXT("IPLROM.X1T"))) != FILEH_INVALID) {                  if ((hdl = file_open_c(OEMTEXT("IPLROM.X1T"))) != FILEH_INVALID) {
                         file_read(hdl, mBIOS, 0x8000);                          file_read(hdl, biosmem, 0x8000);
                         file_close(hdl);                          file_close(hdl);
                 }                  }
         }          }
         else if (pccore.ROM_TYPE == 1) {          else if (pccore.ROM_TYPE == 1) {
                 if ((hdl = file_open_c(OEMTEXT("IPLROM.X1"))) != FILEH_INVALID) {                  if ((hdl = file_open_c(OEMTEXT("IPLROM.X1"))) != FILEH_INVALID) {
                         file_read(hdl, mBIOS, 0x8000);                          file_read(hdl, biosmem, 0x8000);
                         file_close(hdl);                          file_close(hdl);
                 }                  }
         }          }
Line 68  static void ipl_load(void) { Line 61  static void ipl_load(void) {
   
 void pccore_initialize(void) {  void pccore_initialize(void) {
   
           Z80_INITIALIZE();
         fddfile_initialize();          fddfile_initialize();
         sndctrl_initialize();          sndctrl_initialize();
         makescrn_initialize();          makescrn_initialize();
Line 129  void pccore_reset(void) { Line 123  void pccore_reset(void) {
   
         ipl_load();          ipl_load();
   
         RAM0r = mBIOS;  
         RAM0w = mMAIN;  
   
         pal_reset();          pal_reset();
         makescrn_reset();          makescrn_reset();
         timing_reset();          timing_reset();
Line 177  void iptrace_out(void) { Line 168  void iptrace_out(void) {
 void neitem_disp(UINT id) {  void neitem_disp(UINT id) {
   
         corestat.vsync = 1;          corestat.vsync = 1;
         pcg.r.vsync = 1;  
         if (xmilcfg.DISPSYNC & 1) {          if (xmilcfg.DISPSYNC & 1) {
                 scrnupdate();                  scrnupdate();
         }          }
Line 195  void neitem_vsync(UINT id) { Line 185  void neitem_vsync(UINT id) {
   
 // #define      SINGLESTEPONLY  // #define      SINGLESTEPONLY
   
   
 void pccore_exec(BRESULT draw) {  void pccore_exec(BRESULT draw) {
   
         SINT32  frameclock;          SINT32  frameclock;
         SINT32  dispclock;          SINT32  dispclock;
   
         corestat.drawframe = draw;          corestat.drawframe = draw;
           pal_eventclear();
         soundmng_sync();          soundmng_sync();
   
         frameclock = 266 * RASTER_CLOCK * pccore.multiple / 2;          timing_setrate(crtc.e.frameclock);
           frameclock = crtc.e.frameclock * pccore.multiple / 2;
         dispclock = min(frameclock, crtc.e.dispclock);          dispclock = min(frameclock, crtc.e.dispclock);
         corestat.dispclock = dispclock;          corestat.dispclock = dispclock;
         corestat.syncclock = frameclock - dispclock;          corestat.syncclock = frameclock - dispclock;
Line 216  void pccore_exec(BRESULT draw) { Line 209  void pccore_exec(BRESULT draw) {
                 }                  }
 #else  #else
                 while(CPU_REMCLOCK > 0) {                  while(CPU_REMCLOCK > 0) {
                         //      TRACEOUT(("%.4x", Z80_PC));                  //      TRACEOUT(("%.4x", Z80_PC));
 #if defined(TRACE) && IPTRACE  #if defined(TRACE) && IPTRACE
                         treip[trpos & (IPTRACE - 1)] = Z80_PC;                          treip[trpos & (IPTRACE - 1)] = Z80_PC;
                         trpos++;                          trpos++;

Removed from v.1.28  
changed lines
  Added in v.1.35


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