|
|
| version 1.16, 2003/12/04 09:47:08 | version 1.26, 2004/03/07 07:51:26 |
|---|---|
| Line 2 | Line 2 |
| #include <windowsx.h> | #include <windowsx.h> |
| #include <io.h> | #include <io.h> |
| #include "strres.h" | #include "strres.h" |
| #include "profile.h" | |
| #include "np2.h" | #include "np2.h" |
| #include "np2arg.h" | #include "np2arg.h" |
| #include "dosio.h" | #include "dosio.h" |
| Line 10 | Line 11 |
| #include "pccore.h" | #include "pccore.h" |
| 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 inirdargs16(const char *src, const INITBL *ini) { | static void inirdargs16(const char *src, const INITBL *ini) { |
| SINT16 *dst; | SINT16 *dst; |
| Line 163 const INITBL *pterm; | Line 184 const INITBL *pterm; |
| *((BYTE *)p->value) = (!milstr_cmp(work, str_true))?1:0; | *((BYTE *)p->value) = (!milstr_cmp(work, str_true))?1:0; |
| break; | break; |
| case INITYPE_BITMAP: | |
| GetPrivateProfileString(title, p->item, | |
| (inigetbmp((BYTE *)p->value, p->arg))?str_true:str_false, | |
| work, sizeof(work), path); | |
| inisetbmp((BYTE *)p->value, p->arg, | |
| (milstr_cmp(work, str_true) == 0)); | |
| break; | |
| case INITYPE_ARGS16: | case INITYPE_ARGS16: |
| GetPrivateProfileString(title, p->item, str_null, | GetPrivateProfileString(title, p->item, str_null, |
| work, sizeof(work), path); | work, sizeof(work), path); |
| Line 179 const INITBL *pterm; | Line 208 const INITBL *pterm; |
| case INITYPE_UINT8: | case INITYPE_UINT8: |
| val = (BYTE)GetPrivateProfileInt(title, p->item, | val = (BYTE)GetPrivateProfileInt(title, p->item, |
| *(BYTE *)p->value, path); | *(BYTE *)p->value, path); |
| *(BYTE *)p->value = (BYTE)val; | *(UINT8 *)p->value = (UINT8)val; |
| break; | break; |
| case INITYPE_SINT16: | case INITYPE_SINT16: |
| Line 201 const INITBL *pterm; | Line 230 const INITBL *pterm; |
| GetPrivateProfileString(title, p->item, work, | GetPrivateProfileString(title, p->item, work, |
| work, sizeof(work), path); | work, sizeof(work), path); |
| val = (BYTE)milstr_solveHEX(work); | val = (BYTE)milstr_solveHEX(work); |
| *(BYTE *)p->value = (BYTE)val; | *(UINT8 *)p->value = (UINT8)val; |
| break; | break; |
| case INITYPE_HEX16: | case INITYPE_HEX16: |
| Line 264 const char *set; | Line 293 const char *set; |
| break; | break; |
| case INITYPE_SINT8: | case INITYPE_SINT8: |
| SPRINTF(work, str_d, *((char *)p->value)); | SPRINTF(work, str_d, *((SINT8 *)p->value)); |
| break; | break; |
| case INITYPE_SINT16: | case INITYPE_SINT16: |
| Line 276 const char *set; | Line 305 const char *set; |
| break; | break; |
| case INITYPE_UINT8: | case INITYPE_UINT8: |
| SPRINTF(work, str_u, *((BYTE *)p->value)); | SPRINTF(work, str_u, *((UINT8 *)p->value)); |
| break; | break; |
| case INITYPE_UINT16: | case INITYPE_UINT16: |
| Line 288 const char *set; | Line 317 const char *set; |
| break; | break; |
| case INITYPE_HEX8: | case INITYPE_HEX8: |
| SPRINTF(work, str_x, *((BYTE *)p->value)); | SPRINTF(work, str_x, *((UINT8 *)p->value)); |
| break; | break; |
| case INITYPE_HEX16: | case INITYPE_HEX16: |
| Line 319 static const char ini_title[] = "NekoPro | Line 348 static const char ini_title[] = "NekoPro |
| enum { | enum { |
| INIRO_STR = INITYPE_STR + INIFLAG_RO, | INIRO_STR = INITYPE_STR + INIFLAG_RO, |
| INIRO_BOOL = INITYPE_BOOL + INIFLAG_RO, | INIRO_BOOL = INITYPE_BOOL + INIFLAG_RO, |
| INIRO_BITMAP = INITYPE_BITMAP + INIFLAG_RO, | |
| INIRO_UINT8 = INITYPE_UINT8 + INIFLAG_RO, | |
| INIMAX_UINT8 = INITYPE_UINT8 + INIFLAG_MAX, | INIMAX_UINT8 = INITYPE_UINT8 + INIFLAG_MAX, |
| INIAND_UINT8 = INITYPE_UINT8 + INIFLAG_AND, | INIAND_UINT8 = INITYPE_UINT8 + INIFLAG_AND, |
| INIROMAX_SINT32 = INITYPE_SINT32 + INIFLAG_RO + INIFLAG_MAX, | INIROMAX_SINT32 = INITYPE_SINT32 + INIFLAG_RO + INIFLAG_MAX, |
| Line 343 static const INITBL iniitem[] = { | Line 374 static const INITBL iniitem[] = { |
| {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, | {"bmap_Dir", INITYPE_STR, bmpfilefolder, MAX_PATH}, |
| {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, | {"fontfile", INITYPE_STR, np2cfg.fontfile, MAX_PATH}, |
| {"biospath", INIRO_STR, np2cfg.biospath, 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, | {"pc_model", INITYPE_STR, &np2cfg.model, |
| sizeof(np2cfg.model)}, | sizeof(np2cfg.model)}, |
| Line 354 static const INITBL iniitem[] = { | Line 387 static const INITBL iniitem[] = { |
| {"ExMemory", INIMAX_UINT8, &np2cfg.EXTMEM, 13}, | {"ExMemory", INIMAX_UINT8, &np2cfg.EXTMEM, 13}, |
| {"ITF_WORK", INIRO_BOOL, &np2cfg.ITF_WORK, 0}, | {"ITF_WORK", INIRO_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}, |
| // {"Removabl", INI_EX|1, 0, &np2cfg.REMOVEHD, 0}, | #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}, | {"SampleHz", INITYPE_UINT16, &np2cfg.samplingrate, 0}, |
| {"Latencys", INITYPE_UINT16, &np2cfg.delayms, 0}, | {"Latencys", INITYPE_UINT16, &np2cfg.delayms, 0}, |
| Line 372 static const INITBL iniitem[] = { | Line 410 static const INITBL iniitem[] = { |
| {"optSPBVR", INITYPE_HEX8, &np2cfg.spb_vrc, 0}, | {"optSPBVR", INITYPE_HEX8, &np2cfg.spb_vrc, 0}, |
| {"optSPBVL", INIMAX_UINT8, &np2cfg.spb_vrl, 24}, | {"optSPBVL", INIMAX_UINT8, &np2cfg.spb_vrl, 24}, |
| {"optSPB_X", INITYPE_BOOL, &np2cfg.spb_x, 0}, | {"optSPB_X", INITYPE_BOOL, &np2cfg.spb_x, 0}, |
| {"optMPU98", INITYPE_HEX8 &np2cfg.mpuopt, 0}, | {"optMPU98", INITYPE_HEX8, &np2cfg.mpuopt, 0}, |
| {"volume_F", INIMAX_UINT8, &np2cfg.vol_fm, 128}, | {"volume_F", INIMAX_UINT8, &np2cfg.vol_fm, 128}, |
| {"volume_S", INIMAX_UINT8, &np2cfg.vol_ssg, 128}, | {"volume_S", INIMAX_UINT8, &np2cfg.vol_ssg, 128}, |
| Line 411 static const INITBL iniitem[] = { | Line 449 static const INITBL iniitem[] = { |
| {"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", INIRO_BITMAP, &np2cfg.fddequip, 0}, | |
| {"FDDRIVE2", INIRO_BITMAP, &np2cfg.fddequip, 1}, | |
| {"FDDRIVE3", INIRO_BITMAP, &np2cfg.fddequip, 2}, | |
| {"FDDRIVE4", INIRO_BITMAP, &np2cfg.fddequip, 3}, | |
| // OS°Í¸¡© | // OS°Í¸¡© |
| {"keyboard", INIRO_KB, &np2oscfg.KEYBOARD, 0}, | {"keyboard", INIRO_KB, &np2oscfg.KEYBOARD, 0}, |
| Line 454 static const INITBL iniitem[] = { | Line 497 static const INITBL iniitem[] = { |
| {"com3mmdl", INITYPE_STR, np2oscfg.com3.mdl, 64}, | {"com3mmdl", INITYPE_STR, np2oscfg.com3.mdl, 64}, |
| {"com3mdef", INITYPE_STR, np2oscfg.com3.def, MAX_PATH}, | {"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}, | {"e_resume", INITYPE_BOOL, &np2oscfg.resume, 0}, |
| {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, | {"STATSAVE", INIRO_BOOL, &np2oscfg.statsave, 0}, |
| {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, // ver0.36 | {"nousemmx", INITYPE_BOOL, &np2oscfg.disablemmx, 0}, // ver0.36 |
| {"windtype", INITYPE_UINT8, &np2oscfg.wintype, 0}, | {"windtype", INITYPE_UINT8, &np2oscfg.wintype, 0}, |
| {"toolwind", INITYPE_BOOL, &np2oscfg.toolwin, 0}, // ver0.38 | {"toolwind", INITYPE_BOOL, &np2oscfg.toolwin, 0}, // ver0.38 |
| {"keydispl", INITYPE_BOOL, &np2oscfg.keydisp, 0}, | {"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}}; | {"I286SAVE", INIRO_BOOL, &np2oscfg.I286SAVE, 0}}; |