|
|
| version 1.1, 2003/10/23 07:20:43 | 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}, | |
| #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 361 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 369 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); |
| } | } |