Diff for /np2/macos9/ini.cpp between versions 1.2 and 1.19

version 1.2, 2003/10/23 15:57:16 version 1.19, 2005/05/16 06:08:22
Line 14  const INITBL *tblterm; Line 14  const INITBL *tblterm;
         UINT            count;          UINT            count;
 } _INIARG, *INIARG;  } _INIARG, *INIARG;
   
   
   static BOOL inigetbmp(const BYTE *ptr, UINT pos) {
   
           return((ptr[pos >> 3] >> (pos & 7)) & 1);
   }
   
   static void inisetbmp(BYTE *ptr, UINT pos, BOOL set) {
   
           UINT8   bit;
   
           ptr += (pos >> 3);
           bit = 1 << (pos & 7);
           if (set) {
                   *ptr |= bit;
           }
           else {
                   *ptr &= ~bit;
           }
   }
   
 static void inirdarg8(BYTE *dst, int dsize, const char *src) {  static void inirdarg8(BYTE *dst, int dsize, const char *src) {
   
         int             i;          int             i;
Line 77  const INITBL *p; Line 97  const INITBL *p;
                                         *((BYTE *)p->value) = (!milstr_cmp(data, str_true))?1:0;                                          *((BYTE *)p->value) = (!milstr_cmp(data, str_true))?1:0;
                                         break;                                          break;
   
                                   case INITYPE_BITMAP:
                                           inisetbmp((BYTE *)p->value, p->size,
                                                                                   (milstr_cmp(data, str_true) == 0));
                                           break;
   
                                 case INITYPE_BYTEARG:                                  case INITYPE_BYTEARG:
                                         inirdarg8((BYTE *)p->value, p->size, data);                                          inirdarg8((BYTE *)p->value, p->size, data);
                                         break;                                          break;
Line 207  const INITBL *pterm; Line 232  const INITBL *pterm;
         }          }
         milstr_ncpy(work, "[", sizeof(work));          milstr_ncpy(work, "[", sizeof(work));
         milstr_ncat(work, title, sizeof(work));          milstr_ncat(work, title, sizeof(work));
         milstr_ncat(work, "]\r\n", sizeof(work));          milstr_ncat(work, "]\r", sizeof(work));
         file_write(fh, work, strlen(work));          file_write(fh, work, strlen(work));
   
         p = tbl;          p = tbl;
Line 225  const INITBL *pterm; Line 250  const INITBL *pterm;
                                                                                                                                 sizeof(work));                                                                                                                                  sizeof(work));
                                 break;                                  break;
   
                           case INITYPE_BITMAP:
                                   milstr_ncpy(work,
                                           (inigetbmp((BYTE *)p->value, p->size))?str_true:str_false,
                                                                                                                                   sizeof(work));
                                   break;
   
                         case INITYPE_BYTEARG:                          case INITYPE_BYTEARG:
                                 iniwrsetarg8(work, sizeof(work), (BYTE *)p->value, p->size);                                  iniwrsetarg8(work, sizeof(work), (BYTE *)p->value, p->size);
                                 break;                                  break;
   
                         case INITYPE_SINT8:                          case INITYPE_SINT8:
                                 SPRINTF(work, "%d", *((char *)p->value));                                  SPRINTF(work, str_d, *((char *)p->value));
                                 break;                                  break;
   
                         case INITYPE_SINT16:                          case INITYPE_SINT16:
                                 SPRINTF(work, "%d", *((SINT16 *)p->value));                                  SPRINTF(work, str_d, *((SINT16 *)p->value));
                                 break;                                  break;
   
                         case INITYPE_SINT32:                          case INITYPE_SINT32:
                                 SPRINTF(work, "%d", *((SINT32 *)p->value));                                  SPRINTF(work, str_d, *((SINT32 *)p->value));
                                 break;                                  break;
   
                         case INITYPE_UINT8:                          case INITYPE_UINT8:
                                 SPRINTF(work, "%u", *((BYTE *)p->value));                                  SPRINTF(work, str_u, *((BYTE *)p->value));
                                 break;                                  break;
   
                         case INITYPE_UINT16:                          case INITYPE_UINT16:
                                 SPRINTF(work, "%u", *((UINT16 *)p->value));                                  SPRINTF(work, str_u, *((UINT16 *)p->value));
                                 break;                                  break;
   
                         case INITYPE_UINT32:                          case INITYPE_UINT32:
                                 SPRINTF(work, "%u", *((UINT32 *)p->value));                                  SPRINTF(work, str_u, *((UINT32 *)p->value));
                                 break;                                  break;
   
                         case INITYPE_HEX8:                          case INITYPE_HEX8:
                                 SPRINTF(work, "%x", *((BYTE *)p->value));                                  SPRINTF(work, str_x, *((BYTE *)p->value));
                                 break;                                  break;
   
                         case INITYPE_HEX16:                          case INITYPE_HEX16:
                                 SPRINTF(work, "%x", *((UINT16 *)p->value));                                  SPRINTF(work, str_x, *((UINT16 *)p->value));
                                 break;                                  break;
   
                         case INITYPE_HEX32:                          case INITYPE_HEX32:
                                 SPRINTF(work, "%x", *((UINT32 *)p->value));                                  SPRINTF(work, str_x, *((UINT32 *)p->value));
                                 break;                                  break;
   
                         default:                          default:
Line 273  const INITBL *pterm; Line 304  const INITBL *pterm;
                         file_write(fh, p->item, strlen(p->item));                          file_write(fh, p->item, strlen(p->item));
                         file_write(fh, " = ", 3);                          file_write(fh, " = ", 3);
                         file_write(fh, work, strlen(work));                          file_write(fh, work, strlen(work));
                         file_write(fh, "\r\n", 2);                          file_write(fh, "\r", 1);
                 }                  }
                 p++;                  p++;
         }          }
Line 283  const INITBL *pterm; Line 314  const INITBL *pterm;
   
 // ----  // ----
   
 extern  int             winx;  #if !defined(SUPPORT_PC9821)
 extern  int             winy;  
   
 static const char ini_title[] = "NekoProjectII";  static const char ini_title[] = "NekoProjectII";
 static const char inifile[] = "np2.cfg";  static const char inifile[] = "np2.cfg";
   #else
   static const char ini_title[] = "NekoProject21";
   static const char inifile[] = "np21.cfg";
   #endif
   
 static const INITBL iniitem[] = {  static const INITBL iniitem[] = {
           {"windposx", INITYPE_SINT32,    &np2oscfg.posx,                 0},
           {"windposy", INITYPE_SINT32,    &np2oscfg.posy,                 0},
   
           {"pc_model", INITYPE_STR,               np2cfg.model,
                                                                                                           sizeof(np2cfg.model)},
         {"clk_base", INITYPE_SINT32,    &np2cfg.baseclock,              0},          {"clk_base", INITYPE_SINT32,    &np2cfg.baseclock,              0},
         {"clk_mult", INITYPE_SINT32,    &np2cfg.multiple,               0},          {"clk_mult", INITYPE_SINT32,    &np2cfg.multiple,               0},
   
Line 298  static const INITBL iniitem[] = { Line 336  static const INITBL iniitem[] = {
         {"ExMemory", INITYPE_UINT8,             &np2cfg.EXTMEM,                 0},          {"ExMemory", INITYPE_UINT8,             &np2cfg.EXTMEM,                 0},
         {"ITF_WORK", INITYPE_BOOL,              &np2cfg.ITF_WORK,               0},          {"ITF_WORK", INITYPE_BOOL,              &np2cfg.ITF_WORK,               0},
   
         {"HDD1FILE", INITYPE_STR,               np2cfg.hddfile[0],              MAX_PATH},          {"HDD1FILE", INITYPE_STR,               np2cfg.sasihdd[0],              MAX_PATH},
         {"HDD2FILE", INITYPE_STR,               np2cfg.hddfile[1],              MAX_PATH},          {"HDD2FILE", INITYPE_STR,               np2cfg.sasihdd[1],              MAX_PATH},
   #if defined(SUPPORT_SCSI)
           {"SCSIHDD0", INITYPE_STR,               np2cfg.scsihdd[0],              MAX_PATH},
           {"SCSIHDD1", INITYPE_STR,               np2cfg.scsihdd[1],              MAX_PATH},
           {"SCSIHDD2", INITYPE_STR,               np2cfg.scsihdd[2],              MAX_PATH},
           {"SCSIHDD3", INITYPE_STR,               np2cfg.scsihdd[3],              MAX_PATH},
   #endif
         {"fontfile", INITYPE_STR,               np2cfg.fontfile,                MAX_PATH},          {"fontfile", INITYPE_STR,               np2cfg.fontfile,                MAX_PATH},
           {"biospath", INITYPE_STR,               np2cfg.biospath,                MAX_PATH},
           {"hdrvroot", INITYPE_STR,               np2cfg.hdrvroot,                MAX_PATH},
           {"hdrv_acc", INITYPE_UINT8,             &np2cfg.hdrvacc,                0},
   
         {"SampleHz", INITYPE_UINT16,    &np2cfg.samplingrate,   0},          {"SampleHz", INITYPE_UINT16,    &np2cfg.samplingrate,   0},
         {"Latencys", INITYPE_UINT16,    &np2cfg.delayms,                0},          {"Latencys", INITYPE_UINT16,    &np2cfg.delayms,                0},
Line 327  static const INITBL iniitem[] = { Line 374  static const INITBL iniitem[] = {
         {"Seek_Snd", INITYPE_BOOL,              &np2cfg.MOTOR,                  0},          {"Seek_Snd", INITYPE_BOOL,              &np2cfg.MOTOR,                  0},
         {"Seek_Vol", INITYPE_UINT8,             &np2cfg.MOTORVOL,               0},          {"Seek_Vol", INITYPE_UINT8,             &np2cfg.MOTORVOL,               0},
   
         {"F12_COPY", INITYPE_UINT8,             &np2oscfg.F12COPY,              0},          {"F11_bind", INITYPE_UINT8,             &np2oscfg.F11KEY,               0},
           {"F12_bind", INITYPE_UINT8,             &np2oscfg.F12KEY,               0},
         {"btnRAPID", INITYPE_BOOL,              &np2cfg.BTN_RAPID,              0},          {"btnRAPID", INITYPE_BOOL,              &np2cfg.BTN_RAPID,              0},
         {"btn_MODE", INITYPE_BOOL,              &np2cfg.BTN_MODE,               0},          {"btn_MODE", INITYPE_BOOL,              &np2cfg.BTN_MODE,               0},
           {"Mouse_sw", INITYPE_BOOL,              &np2oscfg.MOUSE_SW,             0},
         {"MS_RAPID", INITYPE_BOOL,              &np2cfg.MOUSERAPID,             0},          {"MS_RAPID", INITYPE_BOOL,              &np2cfg.MOUSERAPID,             0},
   
         {"VRAMwait", INITYPE_BYTEARG,   np2cfg.wait,                    6},          {"VRAMwait", INITYPE_BYTEARG,   np2cfg.wait,                    6},
Line 352  static const INITBL iniitem[] = { Line 401  static const INITBL iniitem[] = {
         {"pc9861_j", INITYPE_BYTEARG,   np2cfg.pc9861jmp,               6},          {"pc9861_j", INITYPE_BYTEARG,   np2cfg.pc9861jmp,               6},
         {"calendar", INITYPE_BOOL,              &np2cfg.calendar,               0},          {"calendar", INITYPE_BOOL,              &np2cfg.calendar,               0},
         {"USE144FD", INITYPE_BOOL,              &np2cfg.usefd144,               0},          {"USE144FD", INITYPE_BOOL,              &np2cfg.usefd144,               0},
           {"FDDRIVE1", INITYPE_BITMAP,    &np2cfg.fddequip,               0},
           {"FDDRIVE2", INITYPE_BITMAP,    &np2cfg.fddequip,               1},
           {"FDDRIVE3", INITYPE_BITMAP,    &np2cfg.fddequip,               2},
           {"FDDRIVE4", INITYPE_BITMAP,    &np2cfg.fddequip,               3},
   #if defined(SUPPORT_RESUME)
         {"e_resume", INITYPE_BOOL,              &np2oscfg.resume,               0},          {"e_resume", INITYPE_BOOL,              &np2oscfg.resume,               0},
   #endif
   #if defined(SUPPORT_STATSAVE)
           {"statsave", INITYPE_BOOL,              &np2oscfg.statsave,             0},
   #endif
           {"jast_snd", INITYPE_BOOL,              &np2oscfg.jastsnd,              0},             // ver0.73
         {"I286SAVE", INITYPE_BOOL,              &np2oscfg.I286SAVE,             0}};          {"I286SAVE", INITYPE_BOOL,              &np2oscfg.I286SAVE,             0}};
   
 #define INIITEMS        (sizeof(iniitem) / sizeof(INITBL))  #define INIITEMS        (sizeof(iniitem) / sizeof(INITBL))
Line 362  void initload(void) { Line 421  void initload(void) {
   
         char    path[MAX_PATH];          char    path[MAX_PATH];
   
         milstr_ncpy(path, file_getcd(inifile), sizeof(path));          file_cpyname(path, file_getcd(inifile), sizeof(path));
         ini_read(path, ini_title, iniitem, INIITEMS);          ini_read(path, ini_title, iniitem, INIITEMS);
 }  }
   
Line 370  void initsave(void) { Line 429  void initsave(void) {
   
         char    path[MAX_PATH];          char    path[MAX_PATH];
   
         milstr_ncpy(path, file_getcd(inifile), sizeof(path));          file_cpyname(path, file_getcd(inifile), sizeof(path));
         ini_write(path, ini_title, iniitem, INIITEMS);          ini_write(path, ini_title, iniitem, INIITEMS);
 }  }
   

Removed from v.1.2  
changed lines
  Added in v.1.19


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