--- np2/fdd/diskdrv.c 2004/01/22 01:10:04 1.3 +++ np2/fdd/diskdrv.c 2004/02/13 20:31:55 1.5 @@ -23,30 +23,34 @@ void diskdrv_sethdd(REG8 drv, const char int leng; num = drv & 0x0f; + p = NULL; + leng = 0; if (!(drv & 0x20)) { // SASI or IDE - if (num >= 2) { - return; + if (num < 2) { + p = np2cfg.sasihdd[num]; + leng = sizeof(np2cfg.sasihdd[0]); } - p = np2cfg.sasihdd[num]; - leng = sizeof(np2cfg.sasihdd[0]); } +#if defined(SUPPORT_SCSI) else { // SCSI - if (num >= 4) { - return; + if (num < 4) { + p = np2cfg.scsihdd[num]; + leng = sizeof(np2cfg.scsihdd[0]); } - p = np2cfg.scsihdd[num]; - leng = sizeof(np2cfg.scsihdd[0]); } - if (fname) { - file_cpyname(p, fname, leng); - } - else { - p[0] = '\0'; +#endif + if (p) { + if (fname) { + file_cpyname(p, fname, leng); + } + 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) { fdd_eject(drv); @@ -66,7 +70,7 @@ void diskdrv_setfdd(BYTE drv, const char void diskdrv_callback(void) { - BYTE drv; + REG8 drv; for (drv=0; drv<4; drv++) { if (diskdrv_delay[drv]) {