|
|
| version 1.10, 2005/03/19 18:54:58 | version 1.11, 2005/03/22 04:03:15 |
|---|---|
| Line 12 | Line 12 |
| #define DISK_DELAY 20 // (0.4sec) | #define DISK_DELAY 20 // (0.4sec) |
| int diskdrv_delay[4]; | int diskdrv_delay[4]; |
| int diskdrv_ro[4]; | |
| OEMCHAR diskdrv_fname[4][MAX_PATH]; | OEMCHAR diskdrv_fname[4][MAX_PATH]; |
| UINT diskdrv_ftype[4]; | |
| int diskdrv_ro[4]; | |
| void diskdrv_sethdd(REG8 drv, const OEMCHAR *fname) { | void diskdrv_sethdd(REG8 drv, const OEMCHAR *fname) { |
| Line 50 void diskdrv_sethdd(REG8 drv, const OEMC | Line 51 void diskdrv_sethdd(REG8 drv, const OEMC |
| } | } |
| } | } |
| void diskdrv_readyfdd(REG8 drv, const OEMCHAR *fname, int readonly) { | void diskdrv_readyfddex(REG8 drv, const OEMCHAR *fname, |
| UINT ftype, int readonly) { | |
| if ((drv < 4) && (fdc.equip & (1 << drv))) { | if ((drv < 4) && (fdc.equip & (1 << drv))) { |
| if ((fname != NULL) && (fname[0] != '\0')) { | if ((fname != NULL) && (fname[0] != '\0')) { |
| fdd_set(drv, fname, FTYPE_NONE, readonly); | fdd_set(drv, fname, ftype, readonly); |
| fdc.stat[drv] = FDCRLT_AI | drv; | fdc.stat[drv] = FDCRLT_AI | drv; |
| fdc_interrupt(); | fdc_interrupt(); |
| sysmng_update(SYS_UPDATEFDD); | sysmng_update(SYS_UPDATEFDD); |
| Line 62 void diskdrv_readyfdd(REG8 drv, const OE | Line 64 void diskdrv_readyfdd(REG8 drv, const OE |
| } | } |
| } | } |
| void diskdrv_setfdd(REG8 drv, const OEMCHAR *fname, int readonly) { | void diskdrv_setfddex(REG8 drv, const OEMCHAR *fname, |
| UINT ftype, int readonly) { | |
| if ((drv < 4) && (fdc.equip & (1 << drv))) { | if ((drv < 4) && (fdc.equip & (1 << drv))) { |
| fdd_eject(drv); | fdd_eject(drv); |
| Line 73 void diskdrv_setfdd(REG8 drv, const OEMC | Line 76 void diskdrv_setfdd(REG8 drv, const OEMC |
| if (fname) { | if (fname) { |
| diskdrv_delay[drv] = DISK_DELAY; | diskdrv_delay[drv] = DISK_DELAY; |
| diskdrv_ftype[drv] = ftype; | |
| diskdrv_ro[drv] = readonly; | diskdrv_ro[drv] = readonly; |
| file_cpyname(diskdrv_fname[drv], fname, | file_cpyname(diskdrv_fname[drv], fname, |
| NELEMENTS(diskdrv_fname[0])); | NELEMENTS(diskdrv_fname[0])); |
| Line 89 void diskdrv_callback(void) { | Line 93 void diskdrv_callback(void) { |
| if (diskdrv_delay[drv]) { | if (diskdrv_delay[drv]) { |
| diskdrv_delay[drv]--; | diskdrv_delay[drv]--; |
| if (!diskdrv_delay[drv]) { | if (!diskdrv_delay[drv]) { |
| diskdrv_readyfdd(drv, diskdrv_fname[drv], diskdrv_ro[drv]); | diskdrv_readyfddex(drv, diskdrv_fname[drv], |
| diskdrv_ftype[drv], diskdrv_ro[drv]); | |
| diskdrv_fname[drv][0] = '\0'; | diskdrv_fname[drv][0] = '\0'; |
| } | } |
| } | } |