|
|
| version 1.1.1.1, 2003/10/16 17:58:28 | version 1.6, 2004/02/14 07:56:51 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "strres.h" | #include "strres.h" |
| #include "dosio.h" | #include "dosio.h" |
| #include "sysmng.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "fddfile.h" | #include "fddfile.h" |
| Line 12 | Line 13 |
| BYTE fddlasterror; | BYTE fddlasterror; |
| static const char str_88d[] = "88d"; | |
| static const char str_98d[] = "98d"; | |
| // ---- | // ---- |
| void fddfile_init(void) { | void fddfile_init(void) { |
| Line 33 void fddfile_reset2dmode(void) { // v | Line 30 void fddfile_reset2dmode(void) { // v |
| #endif | #endif |
| } | } |
| const char *fdd_diskname(BYTE drv) { | const char *fdd_diskname(REG8 drv) { |
| if (drv >= MAX_FDDFILE) { | if (drv >= MAX_FDDFILE) { |
| return(str_null); | return(str_null); |
| Line 41 const char *fdd_diskname(BYTE drv) { | Line 38 const char *fdd_diskname(BYTE drv) { |
| return(fddfile[drv].fname); | return(fddfile[drv].fname); |
| } | } |
| BOOL fdd_diskready(BYTE drv) { | BOOL fdd_diskready(REG8 drv) { |
| if ((drv >= MAX_FDDFILE) || (!fddfile[drv].fname[0])) { | if ((drv >= MAX_FDDFILE) || (!fddfile[drv].fname[0])) { |
| return(FALSE); | return(FALSE); |
| Line 49 BOOL fdd_diskready(BYTE drv) { | Line 46 BOOL fdd_diskready(BYTE drv) { |
| return(TRUE); | return(TRUE); |
| } | } |
| BOOL fdd_diskprotect(BYTE drv) { | BOOL fdd_diskprotect(REG8 drv) { |
| if ((drv >= MAX_FDDFILE) || (!fddfile[drv].protect)) { | if ((drv >= MAX_FDDFILE) || (!fddfile[drv].protect)) { |
| return(FALSE); | return(FALSE); |
| Line 60 BOOL fdd_diskprotect(BYTE drv) { | Line 57 BOOL fdd_diskprotect(BYTE drv) { |
| // -------------------------------------------------------------------------- | // -------------------------------------------------------------------------- |
| BOOL fdd_set(BYTE drv, const char *fname, UINT ftype, int ro) { | BOOL fdd_set(REG8 drv, const char *fname, UINT ftype, int ro) { |
| FDDFILE fdd; | FDDFILE fdd; |
| const char *p; | const char *p; |
| Line 74 const char *p; | Line 71 const char *p; |
| (!milstr_cmp(p, str_d98)) || (!milstr_cmp(p, str_98d))) { | (!milstr_cmp(p, str_d98)) || (!milstr_cmp(p, str_98d))) { |
| ftype = FTYPE_D88; | ftype = FTYPE_D88; |
| } | } |
| else if (!milstr_cmp(p, str_fdi)) { | |
| ftype = FTYPE_FDI; | |
| } | |
| else { | else { |
| ftype = FTYPE_BETA; | ftype = FTYPE_BETA; |
| } | } |
| } | } |
| fdd = fddfile + drv; | fdd = fddfile + drv; |
| switch(ftype) { | switch(ftype) { |
| case FTYPE_FDI: | |
| if (fddxdf_setfdi(fdd, fname, ro) == SUCCESS) { | |
| return(SUCCESS); | |
| } | |
| case FTYPE_BETA: | case FTYPE_BETA: |
| return(fddxdf_set(fdd, fname, ro)); | return(fddxdf_set(fdd, fname, ro)); |
| Line 89 const char *p; | Line 94 const char *p; |
| return(FAILURE); | return(FAILURE); |
| } | } |
| BOOL fdd_eject(BYTE drv) { | BOOL fdd_eject(REG8 drv) { |
| FDDFILE fdd; | FDDFILE fdd; |
| Line 164 BOOL fdd_read(void) { | Line 169 BOOL fdd_read(void) { |
| FDDFILE fdd; | FDDFILE fdd; |
| sysmng_fddaccess(fdc.us); | |
| fdd = fddfile + fdc.us; | fdd = fddfile + fdc.us; |
| switch(fdd->type) { | switch(fdd->type) { |
| case DISKTYPE_BETA: | case DISKTYPE_BETA: |
| Line 179 BOOL fdd_write(void) { | Line 185 BOOL fdd_write(void) { |
| FDDFILE fdd; | FDDFILE fdd; |
| sysmng_fddaccess(fdc.us); | |
| fdd = fddfile + fdc.us; | fdd = fddfile + fdc.us; |
| switch(fdd->type) { | switch(fdd->type) { |
| case DISKTYPE_BETA: | case DISKTYPE_BETA: |
| Line 194 BOOL fdd_readid(void) { | Line 201 BOOL fdd_readid(void) { |
| FDDFILE fdd; | FDDFILE fdd; |
| sysmng_fddaccess(fdc.us); | |
| fdd = fddfile + fdc.us; | fdd = fddfile + fdc.us; |
| switch(fdd->type) { | switch(fdd->type) { |
| case DISKTYPE_BETA: | case DISKTYPE_BETA: |
| Line 215 BOOL fdd_formatinit(void) { | Line 223 BOOL fdd_formatinit(void) { |
| BOOL fdd_formating(const BYTE *ID) { | BOOL fdd_formating(const BYTE *ID) { |
| sysmng_fddaccess(fdc.us); | |
| if (fddfile[fdc.us].type == DISKTYPE_D88) { | if (fddfile[fdc.us].type == DISKTYPE_D88) { |
| return(fdd_formating_d88(ID)); | return(fdd_formating_d88(ID)); |
| } | } |