--- np2/cbus/ideio.c 2004/08/07 19:06:59 1.7 +++ np2/cbus/ideio.c 2005/03/05 06:02:28 1.10 @@ -49,16 +49,16 @@ static const char serial[] = "8249193411 static const char firm[] = "A5U.1200"; static const char model[] = "QUANTUM FIREBALL CR "; -static BOOL setidentify(IDEDRV drv) { +static BRESULT setidentify(IDEDRV drv) { SXSIDEV sxsi; UINT16 tmp[256]; - BYTE *p; + UINT8 *p; UINT i; UINT32 size; sxsi = sxsi_getptr(drv->sxsidrv); - if ((sxsi == NULL) || (sxsi->fname[0] == '\0')) { + if ((sxsi == NULL) || (!(sxsi->flag & SXSIFLAG_READY))) { return(FAILURE); } @@ -104,8 +104,8 @@ static BOOL setidentify(IDEDRV drv) { p = drv->buf; for (i=0; i<256; i++) { - p[0] = (BYTE)tmp[i]; - p[1] = (BYTE)(tmp[i] >> 8); + p[0] = (UINT8)tmp[i]; + p[1] = (UINT8)(tmp[i] >> 8); p += 2; } drv->bufdir = IDEDIR_IN; @@ -721,14 +721,14 @@ static REG8 IOINPCALL ideio_i74c(UINT po void IOOUTCALL ideio_w16(UINT port, REG16 value) { IDEDRV drv; - BYTE *p; + UINT8 *p; drv = getidedrv(); if ((drv != NULL) && (drv->status & IDESTAT_DRQ) && (drv->bufdir == IDEDIR_OUT)) { p = drv->buf + drv->bufpos; - p[0] = (BYTE)value; - p[1] = (BYTE)(value >> 8); + p[0] = (UINT8)value; + p[1] = (UINT8)(value >> 8); TRACEOUT(("ide-data send %4x (%.4x) [%.4x:%.8x]", value, drv->bufpos, CPU_CS, CPU_EIP)); drv->bufpos += 2; @@ -748,7 +748,7 @@ REG16 IOINPCALL ideio_r16(UINT port) { IDEDRV drv; REG16 ret; - BYTE *p; + UINT8 *p; (void)port; @@ -797,9 +797,10 @@ static void devinit(IDEDRV drv, REG8 sxs SXSIDEV sxsi; ZeroMemory(drv, sizeof(_IDEDRV)); + drv->sxsidrv = sxsidrv; sxsi = sxsi_getptr(sxsidrv); - if ((sxsi != NULL) && (sxsi->fname[0] != '\0')) { - drv->sxsidrv = sxsidrv; + if ((sxsi != NULL) && + (sxsi->devtype == SXSIDEV_HDD) && (sxsi->flag & SXSIFLAG_READY)) { drv->status = IDESTAT_DRDY | IDESTAT_DSC; drv->error = IDEERR_AMNF; drv->device = IDETYPE_HDD; @@ -836,18 +837,6 @@ void ideio_reset(void) { drv->device = IDETYPE_CDROM; #endif -#if 0 - ideio.dev[0].drv[0].status = IDE_READY | IDE_SEEKCOMPLETE; - ideio.dev[0].drv[0].error = 1; - ideio.dev[1].drv[0].status = IDE_READY | IDE_SEEKCOMPLETE; - ideio.dev[1].drv[0].error = 1; - - ideio.dev[0].drv[0].sxsidrv = 0x00; - ideio.dev[0].drv[1].sxsidrv = 0x01; - ideio.dev[1].drv[0].sxsidrv = 0x02; - ideio.dev[1].drv[1].sxsidrv = 0x03; -#endif - CopyMemory(mem + 0xd0000, idebios, sizeof(idebios)); TRACEOUT(("use simulate ide.rom")); } @@ -881,4 +870,10 @@ void ideio_bind(void) { } } +void ideio_notify(REG8 sxsidrv, UINT action) { + + (void)sxsidrv; + (void)action; +} + #endif /* SUPPORT_IDEIO */