|
|
| version 1.1.1.1, 2003/10/16 17:59:40 | version 1.9, 2003/11/15 07:10:03 |
|---|---|
| Line 14 const INITBL *tblterm; | Line 14 const INITBL *tblterm; |
| UINT count; | UINT count; |
| } _INIARG, *INIARG; | } _INIARG, *INIARG; |
| static void inirdargs16(const char *src, const INITBL *ini) { | |
| SINT16 *dst; | |
| int dsize; | |
| int i; | |
| char c; | |
| dst = (SINT16 *)ini->value; | |
| dsize = ini->size; | |
| for (i=0; i<dsize; i++) { | |
| while(*src == ' ') { | |
| src++; | |
| } | |
| if (*src == '\0') { | |
| break; | |
| } | |
| dst[i] = (SINT16)milstr_solveINT(src); | |
| while(*src != '\0') { | |
| c = *src++; | |
| if (c == ',') { | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| 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 58 static BOOL inireadcb(void *arg, const c | Line 85 static BOOL inireadcb(void *arg, const c |
| const char *key, const char *data) { | const char *key, const char *data) { |
| const INITBL *p; | const INITBL *p; |
| char work[512]; | |
| if (arg == NULL) { | if (arg == NULL) { |
| return(FAILURE); | return(FAILURE); |
| Line 77 const INITBL *p; | Line 105 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_ARGS16: | |
| milstr_ncpy(work, data, sizeof(work)); | |
| inirdargs16(work, p); | |
| break; | |
| case INITYPE_BYTEARG: | case INITYPE_BYTEARG: |
| inirdarg8((BYTE *)p->value, p->size, data); | inirdarg8((BYTE *)p->value, p->size, data); |
| break; | break; |
| Line 193 static void iniwrsetarg8(char *work, int | Line 226 static void iniwrsetarg8(char *work, int |
| } | } |
| void ini_write(const char *path, const char *title, | void ini_write(const char *path, const char *title, |
| const INITBL *tbl, UINT count) { | const INITBL *tbl, UINT count, BOOL create) { |
| FILEH fh; | FILEH fh; |
| const INITBL *p; | const INITBL *p; |
| Line 201 const INITBL *pterm; | Line 234 const INITBL *pterm; |
| BOOL set; | BOOL set; |
| char work[512]; | char work[512]; |
| fh = file_create(path); | fh = FILEH_INVALID; |
| if (!create) { | |
| fh = file_open(path); | |
| if (fh != FILEH_INVALID) { | |
| file_seek(fh, 0, FSEEK_END); | |
| } | |
| } | |
| if (fh == FILEH_INVALID) { | |
| fh = file_create(path); | |
| } | |
| if (fh == FILEH_INVALID) { | if (fh == FILEH_INVALID) { |
| return; | return; |
| } | } |
| 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 273 const INITBL *pterm; | Line 315 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 290 static const char ini_title[] = "NekoPro | Line 332 static const char ini_title[] = "NekoPro |
| static const char inifile[] = "np2.cfg"; | static const char inifile[] = "np2.cfg"; |
| static const INITBL iniitem[] = { | static const INITBL iniitem[] = { |
| {"np2title", INITYPE_STR, np2oscfg.titles, | |
| sizeof(np2oscfg.titles)}, | |
| {"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 333 static const INITBL iniitem[] = { | Line 380 static const INITBL iniitem[] = { |
| {"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}, |
| {"DspClock", INITYPE_UINT8, &np2oscfg.DISPCLK, 0}, | |
| {"DispSync", INITYPE_BOOL, &np2cfg.DISPSYNC, 0}, | {"DispSync", INITYPE_BOOL, &np2cfg.DISPSYNC, 0}, |
| {"Real_Pal", INITYPE_BOOL, &np2cfg.RASTER, 0}, | {"Real_Pal", INITYPE_BOOL, &np2cfg.RASTER, 0}, |
| {"RPal_tim", INITYPE_UINT8, &np2cfg.realpal, 0}, | {"RPal_tim", INITYPE_UINT8, &np2cfg.realpal, 0}, |
| Line 351 static const INITBL iniitem[] = { | Line 399 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}, |
| {"Mouse_sw", INITYPE_BOOL, &np2oscfg.MOUSE_SW, 0}, | |
| {"comfirm_", INITYPE_BOOL, &np2oscfg.comfirm, 0}, | |
| {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, // ver0.30 | |
| {"toolwind", INITYPE_BOOL, &np2oscfg.toolwin, 0}, // ver0.38 | |
| {"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 360 void initload(void) { | Line 412 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 368 void initsave(void) { | Line 420 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, TRUE); |
| } | } |