|
|
| version 1.3, 2004/01/22 01:10:04 | version 1.7, 2004/05/07 11:42:29 |
|---|---|
| Line 23 void diskdrv_sethdd(REG8 drv, const char | Line 23 void diskdrv_sethdd(REG8 drv, const char |
| int leng; | int leng; |
| num = drv & 0x0f; | num = drv & 0x0f; |
| p = NULL; | |
| leng = 0; | |
| if (!(drv & 0x20)) { // SASI or IDE | if (!(drv & 0x20)) { // SASI or IDE |
| if (num >= 2) { | if (num < 2) { |
| return; | p = np2cfg.sasihdd[num]; |
| leng = sizeof(np2cfg.sasihdd[0]); | |
| } | } |
| p = np2cfg.sasihdd[num]; | |
| leng = sizeof(np2cfg.sasihdd[0]); | |
| } | } |
| #if defined(SUPPORT_SCSI) | |
| else { // SCSI | else { // SCSI |
| if (num >= 4) { | if (num < 4) { |
| return; | p = np2cfg.scsihdd[num]; |
| leng = sizeof(np2cfg.scsihdd[0]); | |
| } | } |
| p = np2cfg.scsihdd[num]; | |
| leng = sizeof(np2cfg.scsihdd[0]); | |
| } | } |
| if (fname) { | #endif |
| file_cpyname(p, fname, leng); | if (p) { |
| } | if (fname) { |
| else { | file_cpyname(p, fname, leng); |
| p[0] = '\0'; | } |
| else { | |
| p[0] = '\0'; | |
| } | |
| sysmng_update(SYS_UPDATEHDD | SYS_UPDATECFG); | |
| } | } |
| sysmng_update(SYS_UPDATEHDD | SYS_UPDATECFG); | |
| } | } |
| void diskdrv_setfdd(BYTE drv, const char *fname, int readonly) { | void diskdrv_setfdd(REG8 drv, const char *fname, int readonly) { |
| if (drv < 4) { | if ((drv < 4) && (fdc.equip & (1 << drv))) { |
| fdd_eject(drv); | fdd_eject(drv); |
| diskdrv_delay[drv] = 0; | diskdrv_delay[drv] = 0; |
| diskdrv_fname[drv][0] = '\0'; | diskdrv_fname[drv][0] = '\0'; |
| fdc.stat[drv] = FDCRLT_IC0 | FDCRLT_IC1 | FDCRLT_NR | drv; | fdc.stat[drv] = FDCRLT_AI | FDCRLT_NR | drv; |
| fdc_interrupt(); | fdc_interrupt(); |
| if (fname) { | if (fname) { |
| Line 66 void diskdrv_setfdd(BYTE drv, const char | Line 70 void diskdrv_setfdd(BYTE drv, const char |
| void diskdrv_callback(void) { | void diskdrv_callback(void) { |
| BYTE drv; | REG8 drv; |
| for (drv=0; drv<4; drv++) { | for (drv=0; drv<4; drv++) { |
| if (diskdrv_delay[drv]) { | if (diskdrv_delay[drv]) { |
| Line 74 void diskdrv_callback(void) { | Line 78 void diskdrv_callback(void) { |
| if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) { | if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) { |
| fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]); | fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]); |
| diskdrv_fname[drv][0] = '\0'; | diskdrv_fname[drv][0] = '\0'; |
| fdc.stat[drv] = FDCRLT_IC0 | FDCRLT_IC1 | drv; | fdc.stat[drv] = FDCRLT_AI | drv; |
| fdc_interrupt(); | fdc_interrupt(); |
| sysmng_update(SYS_UPDATEFDD); | sysmng_update(SYS_UPDATEFDD); |
| } | } |