Diff for /np2/statsave.c between versions 1.18 and 1.23

version 1.18, 2003/12/05 09:46:15 version 1.23, 2003/12/28 08:05:18
Line 4 Line 4
 #include        "scrnmng.h"  #include        "scrnmng.h"
 #include        "soundmng.h"  #include        "soundmng.h"
 #include        "timemng.h"  #include        "timemng.h"
 #include        "i286.h"  #include        "cpucore.h"
 #include        "memory.h"  
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "cbuscore.h"  #include        "cbuscore.h"
Line 56  typedef struct { Line 55  typedef struct {
 enum {  enum {
         NP2FLAG_BIN                     = 0,          NP2FLAG_BIN                     = 0,
         NP2FLAG_TERM,          NP2FLAG_TERM,
   #if defined(CGWND_FONTPTR)
           NP2FLAG_CGW,
   #endif
         NP2FLAG_CLOCK,          NP2FLAG_CLOCK,
         NP2FLAG_COM,          NP2FLAG_COM,
         NP2FLAG_DISK,          NP2FLAG_DISK,
Line 408  static int flagsave_ext(NP2FFILE f, cons Line 410  static int flagsave_ext(NP2FFILE f, cons
         ret = flagsave_create(f, t);          ret = flagsave_create(f, t);
         if (ret != NP2FLAG_FAILURE) {          if (ret != NP2FLAG_FAILURE) {
                 ret |= flagsave_save(f, &extmem, sizeof(extmem));                  ret |= flagsave_save(f, &extmem, sizeof(extmem));
                 if (extmemmng_size) {                  if (CPU_EXTMEM) {
                         ret |= flagsave_save(f, extmemmng_ptr, extmemmng_size);                          ret |= flagsave_save(f, CPU_EXTMEM, CPU_EXTMEMSIZE);
                 }                  }
                 ret |= flagsave_close(f);                  ret |= flagsave_close(f);
         }          }
Line 429  static int flagload_ext(NP2FFILE f, cons Line 431  static int flagload_ext(NP2FFILE f, cons
                 }                  }
                 if (!extmemmng_realloc(extmem.maxmem - 1)) {                  if (!extmemmng_realloc(extmem.maxmem - 1)) {
                         pagemax = (extmem.maxmem - 1) << 8;                          pagemax = (extmem.maxmem - 1) << 8;
                         if (extmemmng_size) {                          if (CPU_EXTMEM) {
                                 ret |= flagload_load(f, extmemmng_ptr, extmemmng_size);                                  ret |= flagload_load(f, CPU_EXTMEM, CPU_EXTMEMSIZE);
                         }                          }
                 }                  }
                 else {                  else {
Line 439  static int flagload_ext(NP2FFILE f, cons Line 441  static int flagload_ext(NP2FFILE f, cons
         }          }
         for (i=0; i<4; i++) {          for (i=0; i<4; i++) {
                 if (extmem.page[i] < pagemax) {                  if (extmem.page[i] < pagemax) {
                         extmem.pageptr[i] = extmemmng_ptr + (extmem.page[i] << 12);                          extmem.pageptr[i] = CPU_EXTMEM + (extmem.page[i] << 12);
                 }                  }
                 else {                  else {
                         extmem.pageptr[i] = mem + 0xc0000 + (i << 14);                          extmem.pageptr[i] = mem + 0xc0000 + (i << 14);
Line 450  static int flagload_ext(NP2FFILE f, cons Line 452  static int flagload_ext(NP2FFILE f, cons
 }  }
   
   
   // ---- cg window
   
   #if defined(CGWND_FONTPTR)
   static int flagsave_cgwnd(NP2FFILE f, const STENTRY *t) {
   
           int                     ret;
           _CGWINDOW       cgwnd;
   
           cgwnd = cgwindow;
           cgwnd.fontlow -= (long)fontrom;
           cgwnd.fonthigh -= (long)fontrom;
           ret = flagsave_create(f, t);
           if (ret != NP2FLAG_FAILURE) {
                   ret |= flagsave_save(f, &cgwindow, sizeof(cgwindow));
                   ret |= flagsave_close(f);
           }
           return(ret);
   }
   
   static int flagload_cgwnd(NP2FFILE f, const STENTRY *t) {
   
           int             ret;
   
           ret = flagload_load(f, &cgwindow, sizeof(cgwindow));
           cgwindow.fontlow += (long)fontrom;
           cgwindow.fonthigh += (long)fontrom;
           (void)t;
           return(ret);
   }
   #endif
   
   
 // ---- dma  // ---- dma
   
 static int flagsave_dma(NP2FFILE f, const STENTRY *t) {  static int flagsave_dma(NP2FFILE f, const STENTRY *t) {
Line 1267  const STENTRY *tblterm; Line 1301  const STENTRY *tblterm;
                                 ret |= flagsave_term(&f, tbl);                                  ret |= flagsave_term(&f, tbl);
                                 break;                                  break;
   
   #if defined(CGWND_FONTPTR)
                           case NP2FLAG_CGW:
                                   ret |= flagsave_cgwnd(&f, tbl);
                                   break;
   #endif
   
                         case NP2FLAG_COM:                          case NP2FLAG_COM:
                                 ret |= flagsave_com(&f, tbl);                                  ret |= flagsave_com(&f, tbl);
                                 break;                                  break;
Line 1349  const STENTRY *tblterm; Line 1389  const STENTRY *tblterm;
                         if (tbl < tblterm) {                          if (tbl < tblterm) {
                                 switch(tbl->type) {                                  switch(tbl->type) {
                                         case NP2FLAG_BIN:                                          case NP2FLAG_BIN:
   #if defined(CGWND_FONTPTR)
                                           case NP2FLAG_CGW:
   #endif
                                         case NP2FLAG_CLOCK:                                          case NP2FLAG_CLOCK:
                                         case NP2FLAG_MEM:                                          case NP2FLAG_MEM:
                                                 ret |= flagcheck_versize(&f, tbl, &e);                                                  ret |= flagcheck_versize(&f, tbl, &e);
Line 1434  const STENTRY *tblterm; Line 1477  const STENTRY *tblterm;
                                         done = TRUE;                                          done = TRUE;
                                         break;                                          break;
   
   #if defined(CGWND_FONTPTR)
                                   case NP2FLAG_CGW:
                                           ret |= flagload_cgwnd(&f, tbl);
                                           break;
   #endif
   
                                 case NP2FLAG_CLOCK:                                  case NP2FLAG_CLOCK:
                                         ret |= flagload_clock(&f, tbl);                                          ret |= flagload_clock(&f, tbl);
                                         break;                                          break;
Line 1487  const STENTRY *tblterm; Line 1536  const STENTRY *tblterm;
         flagclose(&f);          flagclose(&f);
   
         // I/O作り直し          // I/O作り直し
           i286_memorymap((pc.model & PCMODEL_EPSON)?1:0);
         iocore_build();          iocore_build();
         iocore_bind();          iocore_bind();
         cbuscore_bind();          cbuscore_bind();
Line 1499  const STENTRY *tblterm; Line 1549  const STENTRY *tblterm;
         gdcs.palchange = GDCSCRN_REDRAW;          gdcs.palchange = GDCSCRN_REDRAW;
         tramflag.renewal = 1;          tramflag.renewal = 1;
         cgwindow.writable |= 0x80;          cgwindow.writable |= 0x80;
   #if defined(CPUSTRUC_FONTPTR)
           FONTPTR_LOW = fontrom + cgwindow.low;
           FONTPTR_HIGH = fontrom + cgwindow.high;
   #endif
         i286_vram_dispatch(vramop.operate);          i286_vram_dispatch(vramop.operate);
         soundmng_play();          soundmng_play();
   

Removed from v.1.18  
changed lines
  Added in v.1.23


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