| version 1.2, 2003/10/23 15:57:16 | version 1.14, 2004/02/13 09:07:42 | 
| Line 107  const INITBL *p; | Line 107  const INITBL *p; | 
 | case INITYPE_HEX32: | case INITYPE_HEX32: | 
 | *((UINT32 *)p->value) = (UINT32)milstr_solveHEX(data); | *((UINT32 *)p->value) = (UINT32)milstr_solveHEX(data); | 
 | break; | break; | 
 |  |  | 
 |  | case INITYPE_USERKEY: | 
 |  | ((NKEYM)p->value)->keys = (UINT8)profile_setkeys(data, | 
 |  | ((NKEYM)p->value)->key, 15); | 
 |  | break; | 
 | } | } | 
 | } | } | 
 | p++; | p++; | 
| Line 207  const INITBL *pterm; | Line 212  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 230  const INITBL *pterm; | Line 235  const INITBL *pterm; | 
 | 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; | 
|  |  | 
|  | case INITYPE_USERKEY: | 
|  | profile_getkeys(work, sizeof(work), | 
|  | ((NKEYM)p->value)->key, ((NKEYM)p->value)->keys); | 
 | break; | break; | 
 |  |  | 
 | default: | default: | 
| Line 273  const INITBL *pterm; | Line 283  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 293  const INITBL *pterm; | 
 |  |  | 
 | // ---- | // ---- | 
 |  |  | 
 | extern  int             winx; |  | 
 | 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"; | 
 |  |  | 
 | 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 310  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 348  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 375  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}, | 
 |  | {"userkey1", INITYPE_USERKEY,   np2cfg.userkey+0,               0}, | 
 |  | {"userkey2", INITYPE_USERKEY,   np2cfg.userkey+1,               0}, | 
 | {"e_resume", INITYPE_BOOL,              &np2oscfg.resume,               0}, | {"e_resume", INITYPE_BOOL,              &np2oscfg.resume,               0}, | 
 |  | {"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 388  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 396  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); | 
 | } | } | 
 |  |  |