|
|
| version 1.4, 2004/01/27 07:51:49 | 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(REG8 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 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); |
| } | } |