--- np2/fdd/fddfile.c 2004/01/27 10:55:47 1.4 +++ np2/fdd/fddfile.c 2005/02/12 12:40:39 1.10 @@ -10,16 +10,12 @@ _FDDFILE fddfile[MAX_FDDFILE]; - BYTE fddlasterror; - - -static const char str_88d[] = "88d"; -static const char str_98d[] = "98d"; + UINT8 fddlasterror; // ---- -void fddfile_init(void) { +void fddfile_initialize(void) { ZeroMemory(fddfile, sizeof(fddfile)); } @@ -34,7 +30,7 @@ void fddfile_reset2dmode(void) { // v #endif } -const char *fdd_diskname(REG8 drv) { +const OEMCHAR *fdd_diskname(REG8 drv) { if (drv >= MAX_FDDFILE) { return(str_null); @@ -61,16 +57,16 @@ BOOL fdd_diskprotect(REG8 drv) { // -------------------------------------------------------------------------- -BOOL fdd_set(REG8 drv, const char *fname, UINT ftype, int ro) { +BRESULT fdd_set(REG8 drv, const OEMCHAR *fname, UINT ftype, int ro) { FDDFILE fdd; -const char *p; +const OEMCHAR *p; if (drv >= MAX_FDDFILE) { return(FAILURE); } if (ftype == FTYPE_NONE) { - p = file_getext((char *)fname); + p = file_getext(fname); if ((!milstr_cmp(p, str_d88)) || (!milstr_cmp(p, str_88d)) || (!milstr_cmp(p, str_d98)) || (!milstr_cmp(p, str_98d))) { ftype = FTYPE_D88; @@ -84,19 +80,21 @@ const char *p; } fdd = fddfile + drv; switch(ftype) { + case FTYPE_FDI: + if (fddxdf_setfdi(fdd, fname, ro) == SUCCESS) { + return(SUCCESS); + } + case FTYPE_BETA: return(fddxdf_set(fdd, fname, ro)); - case FTYPE_FDI: - return(fddxdf_setfdi(fdd, fname, ro)); - case FTYPE_D88: return(fddd88_set(fdd, fname, ro)); } return(FAILURE); } -BOOL fdd_eject(REG8 drv) { +BRESULT fdd_eject(REG8 drv) { FDDFILE fdd; @@ -117,7 +115,7 @@ BOOL fdd_eject(REG8 drv) { // ---- -BOOL fdd_diskaccess(void) { +BRESULT fdd_diskaccess(void) { FDDFILE fdd; @@ -132,11 +130,12 @@ BOOL fdd_diskaccess(void) { return(FAILURE); } -BOOL fdd_seek(void) { +BRESULT fdd_seek(void) { + BRESULT ret; FDDFILE fdd; - BOOL ret = FAILURE; + ret = FAILURE; fdd = fddfile + fdc.us; switch(fdd->type) { case DISKTYPE_BETA: @@ -151,7 +150,7 @@ BOOL fdd_seek(void) { return(ret); } -BOOL fdd_seeksector(void) { +BRESULT fdd_seeksector(void) { FDDFILE fdd; @@ -167,7 +166,7 @@ BOOL fdd_seeksector(void) { } -BOOL fdd_read(void) { +BRESULT fdd_read(void) { FDDFILE fdd; @@ -183,7 +182,7 @@ BOOL fdd_read(void) { return(FAILURE); } -BOOL fdd_write(void) { +BRESULT fdd_write(void) { FDDFILE fdd; @@ -199,7 +198,7 @@ BOOL fdd_write(void) { return(FAILURE); } -BOOL fdd_readid(void) { +BRESULT fdd_readid(void) { FDDFILE fdd; @@ -215,7 +214,7 @@ BOOL fdd_readid(void) { return(FAILURE); } -BOOL fdd_formatinit(void) { +BRESULT fdd_formatinit(void) { if (fddfile[fdc.us].type == DISKTYPE_D88) { return(fdd_formatinit_d88()); @@ -223,7 +222,7 @@ BOOL fdd_formatinit(void) { return(FAILURE); } -BOOL fdd_formating(const BYTE *ID) { +BRESULT fdd_formating(const UINT8 *ID) { sysmng_fddaccess(fdc.us); if (fddfile[fdc.us].type == DISKTYPE_D88) {