--- np2/generic/hostdrv.c 2005/02/07 14:46:10 1.15 +++ np2/generic/hostdrv.c 2005/05/13 06:19:48 1.17 @@ -66,8 +66,8 @@ static void fetch_if4dos(void) { REG16 seg; IF4DOS if4dos; - off = i286_memoryread_w(IF4DOSPTR_ADDR); - seg = i286_memoryread_w(IF4DOSPTR_ADDR + 2); + off = MEML_READ16(IF4DOSPTR_SEG, IF4DOSPTR_OFF + 0); + seg = MEML_READ16(IF4DOSPTR_SEG, IF4DOSPTR_OFF + 2); MEML_READSTR(seg, off, &if4dos, sizeof(if4dos)); hostdrv.stat.drive_no = if4dos.drive_no; hostdrv.stat.dosver_major = if4dos.dosver_major; @@ -1319,15 +1319,15 @@ typedef struct { static BOOL fhdl_wr(void *vpItem, void *vpArg) { - char *p; + OEMCHAR *p; UINT len; p = ((HDRVFILE)vpItem)->path; - len = strlen(p); + len = OEMSTRLEN(p); statflag_write((STFLAGH)vpArg, &len, sizeof(len)); if (len) { if (len < MAX_PATH) { - ZeroMemory(p + len, MAX_PATH - len); + ZeroMemory(p + len, (MAX_PATH - len) * sizeof(OEMCHAR)); } statflag_write((STFLAGH)vpArg, vpItem, sizeof(_HDRVFILE)); } @@ -1336,13 +1336,13 @@ static BOOL fhdl_wr(void *vpItem, void * static BOOL flist_wr(void *vpItem, void *vpArg) { - char *p; + OEMCHAR *p; int len; p = ((HDRVLST)vpItem)->realname; - len = strlen(p); + len = OEMSTRLEN(p); if (len < MAX_PATH) { - ZeroMemory(p + len, MAX_PATH - len); + ZeroMemory(p + len, (MAX_PATH - len) * sizeof(OEMCHAR)); } statflag_write((STFLAGH)vpArg, vpItem, sizeof(_HDRVLST)); return(FALSE);