--- np2/win9x/ini.cpp 2003/10/29 14:02:35 1.7 +++ np2/win9x/ini.cpp 2004/02/21 04:48:35 1.25 @@ -2,6 +2,7 @@ #include #include #include "strres.h" +#include "profile.h" #include "np2.h" #include "np2arg.h" #include "dosio.h" @@ -179,7 +180,7 @@ const INITBL *pterm; case INITYPE_UINT8: val = (BYTE)GetPrivateProfileInt(title, p->item, *(BYTE *)p->value, path); - *(BYTE *)p->value = (BYTE)val; + *(UINT8 *)p->value = (UINT8)val; break; case INITYPE_SINT16: @@ -201,7 +202,7 @@ const INITBL *pterm; GetPrivateProfileString(title, p->item, work, work, sizeof(work), path); val = (BYTE)milstr_solveHEX(work); - *(BYTE *)p->value = (BYTE)val; + *(UINT8 *)p->value = (UINT8)val; break; case INITYPE_HEX16: @@ -264,7 +265,7 @@ const char *set; break; case INITYPE_SINT8: - SPRINTF(work, str_d, *((char *)p->value)); + SPRINTF(work, str_d, *((SINT8 *)p->value)); break; case INITYPE_SINT16: @@ -276,7 +277,7 @@ const char *set; break; case INITYPE_UINT8: - SPRINTF(work, str_u, *((BYTE *)p->value)); + SPRINTF(work, str_u, *((UINT8 *)p->value)); break; case INITYPE_UINT16: @@ -288,7 +289,7 @@ const char *set; break; case INITYPE_HEX8: - SPRINTF(work, str_x, *((BYTE *)p->value)); + SPRINTF(work, str_x, *((UINT8 *)p->value)); break; case INITYPE_HEX16: @@ -319,7 +320,8 @@ static const char ini_title[] = "NekoPro enum { INIRO_STR = INITYPE_STR + INIFLAG_RO, INIRO_BOOL = INITYPE_BOOL + INIFLAG_RO, - INIMAX_UINT8 = INITYPE_UINT8 + INIFLAG_RO, + INIRO_UINT8 = INITYPE_UINT8 + INIFLAG_RO, + INIMAX_UINT8 = INITYPE_UINT8 + INIFLAG_MAX, INIAND_UINT8 = INITYPE_UINT8 + INIFLAG_AND, INIROMAX_SINT32 = INITYPE_SINT32 + INIFLAG_RO + INIFLAG_MAX, INIROAND_HEX32 = INITYPE_HEX32 + INIFLAG_RO + INIFLAG_AND, @@ -342,7 +344,12 @@ static const INITBL iniitem[] = { {"HDfolder", INITYPE_STR, hddfolder, MAX_PATH}, {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, + {"biospath", INIRO_STR, np2cfg.biospath, MAX_PATH}, + {"hdrvroot", INIRO_STR, np2cfg.hdrvroot, MAX_PATH}, + {"hdrv_acc", INIRO_UINT8, &np2cfg.hdrvacc, 0}, + {"pc_model", INITYPE_STR, &np2cfg.model, + sizeof(np2cfg.model)}, {"clk_base", INITYPE_UINT32, &np2cfg.baseclock, 0}, {"clk_mult", INITYPE_UINT32, &np2cfg.multiple, 0}, @@ -351,9 +358,14 @@ static const INITBL iniitem[] = { {"ExMemory", INIMAX_UINT8, &np2cfg.EXTMEM, 13}, {"ITF_WORK", INIRO_BOOL, &np2cfg.ITF_WORK, 0}, - {"HDD1FILE", INITYPE_STR, np2cfg.hddfile[0], MAX_PATH}, - {"HDD2FILE", INITYPE_STR, np2cfg.hddfile[1], MAX_PATH}, -// {"Removabl", INI_EX|1, 0, &np2cfg.REMOVEHD, 0}, + {"HDD1FILE", INITYPE_STR, np2cfg.sasihdd[0], 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 {"SampleHz", INITYPE_UINT16, &np2cfg.samplingrate, 0}, {"Latencys", INITYPE_UINT16, &np2cfg.delayms, 0}, @@ -397,7 +409,7 @@ static const INITBL iniitem[] = { {"GRCG_EGC", INIAND_UINT8, &np2cfg.grcg, 3}, {"color16b", INITYPE_BOOL, &np2cfg.color16, 0}, {"skipline", INITYPE_BOOL, &np2cfg.skipline, 0}, - {"skplight", INITYPE_UINT16 &np2cfg.skiplight, 0}, + {"skplight", INITYPE_UINT16, &np2cfg.skiplight, 0}, {"LCD_MODE", INIAND_UINT8, &np2cfg.LCD_MODE, 0x03}, {"BG_COLOR", INIROAND_HEX32, &np2cfg.BG_COLOR, 0xffffff}, {"FG_COLOR", INIROAND_HEX32, &np2cfg.FG_COLOR, 0xffffff}, @@ -409,6 +421,7 @@ static const INITBL iniitem[] = { {"calendar", INITYPE_BOOL, &np2cfg.calendar, 0}, {"USE144FD", INITYPE_BOOL, &np2cfg.usefd144, 0}, + // OS°Í¸¡© {"keyboard", INIRO_KB, &np2oscfg.KEYBOARD, 0}, {"F12_COPY", INITYPE_UINT8, &np2oscfg.F12COPY, 0}, @@ -451,35 +464,39 @@ static const INITBL iniitem[] = { {"com3mmdl", INITYPE_STR, np2oscfg.com3.mdl, 64}, {"com3mdef", INITYPE_STR, np2oscfg.com3.def, MAX_PATH}, - {"force400", INITYPE_BOOL, &np2oscfg.force400, 0}, + {"force400", INIRO_BOOL, &np2oscfg.force400, 0}, {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, // ver0.36 + {"windtype", INITYPE_UINT8, &np2oscfg.wintype, 0}, {"toolwind", INITYPE_BOOL, &np2oscfg.toolwin, 0}, // ver0.38 + {"keydispl", INITYPE_BOOL, &np2oscfg.keydisp, 0}, + {"jast_snd", INITYPE_BOOL, &np2oscfg.jastsnd, 0}, // ver0.73 + {"useromeo", INITYPE_BOOL, &np2oscfg.useromeo, 0}, // ver0.74 {"I286SAVE", INIRO_BOOL, &np2oscfg.I286SAVE, 0}}; -static void getinifile(char *initfile, int max) { +void initgetfile(char *path, UINT size) { char *p; - milstr_ncpy(initfile, modulefile, max); + file_cpyname(path, modulefile, size); if (np2arg.ini) { if ((np2arg.ini[0] == '/') || (np2arg.ini[0] == '-')) { - file_cutname(initfile); - milstr_ncat(initfile, file_getname(np2arg.ini + 2), max); + file_cutname(path); + file_catname(path, file_getname(np2arg.ini + 2), size); } else { - milstr_ncpy(initfile, np2arg.ini, max); + file_cpyname(path, np2arg.ini, size); } - p = file_getext(initfile); + p = file_getext(path); if (!(*p)) { - milstr_ncat(initfile, ".ini", max); + file_catname(path, ".ini", size); } } else { - file_cutext(initfile); - milstr_ncat(initfile, ".ini", max); + file_cutext(path); + file_catname(path, ".ini", size); } } @@ -487,7 +504,7 @@ void initload(void) { char path[MAX_PATH]; - getinifile(path, sizeof(path)); + initgetfile(path, sizeof(path)); ini_read(path, ini_title, iniitem, sizeof(iniitem)/sizeof(INITBL)); } @@ -495,7 +512,7 @@ void initsave(void) { char path[MAX_PATH]; - getinifile(path, sizeof(path)); + initgetfile(path, sizeof(path)); ini_write(path, ini_title, iniitem, sizeof(iniitem)/sizeof(INITBL)); }