--- np2/fdd/sxsi.c 2003/10/16 17:58:31 1.1 +++ np2/fdd/sxsi.c 2003/11/07 18:31:24 1.5 @@ -1,5 +1,7 @@ #include "compiler.h" #include "dosio.h" +#include "sysmng.h" +#include "i286.h" #include "pccore.h" #include "sxsi.h" @@ -33,9 +35,9 @@ typedef struct { } HDIHDR; static const _SXSIHDD defsasi = {615*33*8, 615, 256, 33, 8, - HDDTYPE_SASI, 256, {0x00}}; + HDDTYPE_SASI, 256, 0, {0x00}}; static const _SXSIHDD defscsi = {40*16*32*8, 40*16, 256, 32, 8, - HDDTYPE_SCSI, 220, {0x00}}; + HDDTYPE_SCSI, 220, 0, {0x00}}; _SXSIHDD sxsi_hd[4]; @@ -49,7 +51,7 @@ void sxsi_initialize(void) { ZeroMemory(sxsi_hd, sizeof(sxsi_hd)); for (i=0; i<(sizeof(sxsi_hd)/sizeof(_SXSIHDD)); i++) { - sxsi_hd[i].fh = (void *)FILEH_INVALID; + sxsi_hd[i].fh = (long)FILEH_INVALID; } } @@ -103,7 +105,7 @@ const char *ext; sxsi->tracks = LOADINTELWORD(thd.tracks); sxsi->totals = sxsi->tracks * sxsi->sectors * sxsi->surfaces; file_cpyname(sxsi->fname, file, sizeof(sxsi->fname)); - sxsi->fh = (void *)fh; + sxsi->fh = (long)fh; return(SUCCESS); } file_close(fh); @@ -122,7 +124,7 @@ const char *ext; sxsi->sectors = hdi.sectors[0]; sxsi->totals = sxsi->tracks * sxsi->sectors * sxsi->surfaces; file_cpyname(sxsi->fname, file, sizeof(sxsi->fname)); - sxsi->fh = (void *)fh; + sxsi->fh = (long)fh; return(SUCCESS); } file_close(fh); @@ -141,8 +143,8 @@ const char *ext; sxsi->size = LOADINTELWORD(v98.sectorsize); sxsi->sectors = v98.sectors; sxsi->surfaces = v98.surfaces; - milstr_ncpy(sxsi->fname, file, sizeof(sxsi->fname)); - sxsi->fh = (void *)fh; + file_cpyname(sxsi->fname, file, sizeof(sxsi->fname)); + sxsi->fh = (long)fh; return(SUCCESS); } file_close(fh); @@ -176,7 +178,7 @@ void sxsi_flash(void) { while(sxsi < sxsiterm) { if ((FILEH)sxsi->fh != FILEH_INVALID) { file_close((FILEH)sxsi->fh); - sxsi->fh = (void *)FILEH_INVALID; + sxsi->fh = (long)FILEH_INVALID; } sxsi++; } @@ -192,7 +194,7 @@ void sxsi_trash(void) { while(sxsi < sxsiterm) { if ((FILEH)sxsi->fh != FILEH_INVALID) { file_close((FILEH)sxsi->fh); - sxsi->fh = (void *)FILEH_INVALID; + sxsi->fh = (long)FILEH_INVALID; } sxsi->fname[0] = '\0'; sxsi++; @@ -214,12 +216,13 @@ static SXSIHDD getdrive(BYTE drv) { return(NULL); } if ((FILEH)ret->fh == FILEH_INVALID) { - ret->fh = (void *)file_open(ret->fname); + ret->fh = (long)file_open(ret->fname); if ((FILEH)ret->fh == FILEH_INVALID) { ret->fname[0] = '\0'; return(NULL); } } + sysmng_hddaccess(drv); return(ret); } @@ -243,7 +246,7 @@ const _SXSIHDD *sxsi; } while(size) { rsize = min(size, sxsi->size); - nevent.remainclock -= rsize; + I286_REMCLOCK -= rsize; if (file_read((FILEH)sxsi->fh, buf, rsize) != rsize) { return(0xd0); } @@ -273,7 +276,7 @@ const _SXSIHDD *sxsi; } while(size) { wsize = min(size, sxsi->size); - nevent.remainclock -= wsize; + I286_REMCLOCK -= wsize; if (file_write((FILEH)sxsi->fh, buf, wsize) != wsize) { return(0x70); } @@ -310,7 +313,7 @@ const _SXSIHDD *sxsi; while(size) { wsize = min(size, sizeof(work)); size -= wsize; - nevent.remainclock -= wsize; + I286_REMCLOCK -= wsize; if (file_write((FILEH)sxsi->fh, work, wsize) != wsize) { return(0x70); }