--- np2/fdd/diskdrv.c 2004/02/13 20:31:55 1.5 +++ np2/fdd/diskdrv.c 2004/05/07 11:42:29 1.7 @@ -52,11 +52,11 @@ void diskdrv_sethdd(REG8 drv, const char void diskdrv_setfdd(REG8 drv, const char *fname, int readonly) { - if (drv < 4) { + if ((drv < 4) && (fdc.equip & (1 << drv))) { fdd_eject(drv); diskdrv_delay[drv] = 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(); if (fname) { @@ -78,7 +78,7 @@ void diskdrv_callback(void) { if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) { fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]); diskdrv_fname[drv][0] = '\0'; - fdc.stat[drv] = FDCRLT_IC0 | FDCRLT_IC1 | drv; + fdc.stat[drv] = FDCRLT_AI | drv; fdc_interrupt(); sysmng_update(SYS_UPDATEFDD); }