--- np2/macos9/ini.cpp 2004/02/13 09:07:42 1.14 +++ np2/macos9/ini.cpp 2004/08/16 08:33:02 1.18 @@ -14,6 +14,26 @@ const INITBL *tblterm; UINT count; } _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) { int i; @@ -77,6 +97,11 @@ const INITBL *p; *((BYTE *)p->value) = (!milstr_cmp(data, str_true))?1:0; break; + case INITYPE_BITMAP: + inisetbmp((BYTE *)p->value, p->size, + (milstr_cmp(data, str_true) == 0)); + break; + case INITYPE_BYTEARG: inirdarg8((BYTE *)p->value, p->size, data); break; @@ -107,11 +132,6 @@ const INITBL *p; case INITYPE_HEX32: *((UINT32 *)p->value) = (UINT32)milstr_solveHEX(data); break; - - case INITYPE_USERKEY: - ((NKEYM)p->value)->keys = (UINT8)profile_setkeys(data, - ((NKEYM)p->value)->key, 15); - break; } } p++; @@ -230,6 +250,12 @@ const INITBL *pterm; sizeof(work)); break; + case INITYPE_BITMAP: + milstr_ncpy(work, + (inigetbmp((BYTE *)p->value, p->size))?str_true:str_false, + sizeof(work)); + break; + case INITYPE_BYTEARG: iniwrsetarg8(work, sizeof(work), (BYTE *)p->value, p->size); break; @@ -270,11 +296,6 @@ const INITBL *pterm; 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; - default: set = FAILURE; break; @@ -293,8 +314,13 @@ const INITBL *pterm; // ---- +#if !defined(SUPPORT_PC9821) static const char ini_title[] = "NekoProjectII"; static const char inifile[] = "np2.cfg"; +#else +static const char ini_title[] = "NekoProject21"; +static const char inifile[] = "np21.cfg"; +#endif static const INITBL iniitem[] = { {"windposx", INITYPE_SINT32, &np2oscfg.posx, 0}, @@ -375,9 +401,16 @@ static const INITBL iniitem[] = { {"pc9861_j", INITYPE_BYTEARG, np2cfg.pc9861jmp, 6}, {"calendar", INITYPE_BOOL, &np2cfg.calendar, 0}, {"USE144FD", INITYPE_BOOL, &np2cfg.usefd144, 0}, - {"userkey1", INITYPE_USERKEY, np2cfg.userkey+0, 0}, - {"userkey2", INITYPE_USERKEY, np2cfg.userkey+1, 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}};