|
|
| version 1.2, 2004/08/02 11:48:13 | version 1.3, 2004/08/02 13:38:46 |
|---|---|
| Line 5 | Line 5 |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "fddfile.h" | #include "fddfile.h" |
| #include "x1_io.h" | |
| #include "x1_fdc.h" | |
| #include "fdd_2d.h" | #include "fdd_2d.h" |
| #include "fdd_d88.h" | #include "fdd_d88.h" |
| _FDDFILE fddfile[MAX_FDDFILE]; | _FDDFILE fddfile[MAX_FDDFILE]; |
| extern BYTE WRITEPT[]; | |
| extern BYTE DISKNUM[]; | |
| void fddfile_initialize(void) { | void fddfile_initialize(void) { |
| } | } |
| Line 45 const OEMCHAR *ext; | Line 40 const OEMCHAR *ext; |
| ext = file_getext(fname); | ext = file_getext(fname); |
| if (!milstr_cmp(ext, str_e2d)) { | if (!milstr_cmp(ext, str_e2d)) { |
| return(DRV_FMT2D); | return(DISKTYPE_BETA); |
| } | } |
| if ((!milstr_cmp(ext, str_d88)) || (!milstr_cmp(ext, str_88d))) { | if ((!milstr_cmp(ext, str_d88)) || (!milstr_cmp(ext, str_88d))) { |
| return(DRV_FMT88); | return(DISKTYPE_D88); |
| } | } |
| return(DRV_EMPTY); | return(DISKTYPE_NOTREADY); |
| } | } |
| BRESULT fdd_set(REG8 drv, const OEMCHAR *fname, UINT ftype, int ro) { | BRESULT fdd_set(REG8 drv, const OEMCHAR *fname, UINT ftype, int ro) { |
| fdd_eject(drv); | FDDFILE fdd; |
| if (drv >= MAX_FDDFILE) { | if (drv >= MAX_FDDFILE) { |
| return(FAILURE); | return(FAILURE); |
| } | } |
| fdd_eject(drv); | |
| fdd = fddfile + drv; | |
| switch(getfdtype(fname)) { | switch(getfdtype(fname)) { |
| case DRV_EMPTY: | case DISKTYPE_NOTREADY: |
| return(FAILURE); | return(FAILURE); |
| case DRV_FMT2D: | case DISKTYPE_BETA: |
| return(fdd2d_set(drv, fname)); | return(fdd2d_set(fdd, drv, fname)); |
| case DISKTYPE_D88: | |
| default: | default: |
| return(fddd88_set(drv, fname)); | return(fddd88_set(fdd, drv, fname)); |
| } | } |
| return(FAILURE); | return(FAILURE); |
| } | } |
| Line 80 BRESULT fdd_eject(REG8 drv) { | Line 79 BRESULT fdd_eject(REG8 drv) { |
| return(FAILURE); | return(FAILURE); |
| } | } |
| fdd = fddfile + drv; | fdd = fddfile + drv; |
| switch(DISKNUM[drv]) { | switch(fdd->type) { |
| case DRV_EMPTY: | case DISKTYPE_NOTREADY: |
| return(FAILURE); | return(FAILURE); |
| case DRV_FMT2D: | case DISKTYPE_BETA: |
| return(fdd2d_eject(drv)); | return(fdd2d_eject(fdd, drv)); |
| case DISKTYPE_D88: | |
| default: | default: |
| return(fddd88_eject(drv)); | return(fddd88_eject(fdd, drv)); |
| } | } |
| return(FAILURE); | return(FAILURE); |
| } | } |