|
|
| version 1.11, 2005/03/05 11:58:02 | version 1.12, 2005/03/05 16:35:48 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #ifdef TRACEOUT | |
| #undef TRACEOUT | |
| #endif | |
| #define TRACEOUT(s) trace_fmt s | |
| // winでidentifyまでは取得に行くんだけどな…ってAnex86も同じか | // winでidentifyまでは取得に行くんだけどな…ってAnex86も同じか |
| #if defined(SUPPORT_IDEIO) | #if defined(SUPPORT_IDEIO) |
| Line 56 static const char model[] = "QUANTUM FIR | Line 51 static const char model[] = "QUANTUM FIR |
| static const char cdrom_serial[] = "1.0 "; | static const char cdrom_serial[] = "1.0 "; |
| static const char cdrom_firm[] = " "; | static const char cdrom_firm[] = " "; |
| static const char cdrom_model[] = "NP2 VIRTUAL CD-ROM DRIVE "; | static const char cdrom_model[] = "NEC CD-ROM DRIVE "; |
| static BRESULT setidentify(IDEDRV drv) { | static BRESULT setidentify(IDEDRV drv) { |
| Line 946 static void devinit(IDEDRV drv, REG8 sxs | Line 941 static void devinit(IDEDRV drv, REG8 sxs |
| drv->error = 0; | drv->error = 0; |
| drv->media = IDEIO_MEDIA_EJECTABLE; | drv->media = IDEIO_MEDIA_EJECTABLE; |
| if (sxsi->flag & SXSIFLAG_READY) { | if (sxsi->flag & SXSIFLAG_READY) { |
| drv->media |= (IDEIO_MEDIA_CHANGED | IDEIO_MEDIA_LOADED); | drv->media |= (IDEIO_MEDIA_CHANGED|IDEIO_MEDIA_LOADED); |
| } | } |
| } | } |
| else { | else { |
| Line 1002 void ideio_bind(void) { | Line 997 void ideio_bind(void) { |
| void ideio_notify(REG8 sxsidrv, UINT action) { | void ideio_notify(REG8 sxsidrv, UINT action) { |
| SXSIDEV sxsi; | |
| IDEDRV drv; | IDEDRV drv; |
| REG8 i; | |
| if ((sxsidrv >= 0) && (sxsidrv < 4)) { | sxsi = sxsi_getptr(sxsidrv); |
| drv = ideio.dev[sxsidrv >> 1].drv + (sxsidrv & 1); | if ((sxsi == NULL) |
| switch(action) { | || (!(sxsi->flag & SXSIFLAG_READY)) |
| case 1: | || (sxsi->devtype != SXSIDEV_CDROM)) { |
| drv->media |= (IDEIO_MEDIA_CHANGED | IDEIO_MEDIA_LOADED); | return; |
| break; | } |
| case 0: | for (i=0; i<4; i++) { |
| drv->media &= ~IDEIO_MEDIA_LOADED; | drv = ideio.dev[i >> 1].drv + (i & 1); |
| break; | if ((drv != NULL) && (drv->sxsidrv == sxsidrv)) { |
| goto do_notify; | |
| } | } |
| } | } |
| return; | |
| do_notify: | |
| switch(action) { | |
| case 1: | |
| drv->media |= (IDEIO_MEDIA_CHANGED|IDEIO_MEDIA_LOADED); | |
| if (sxsi->mediatype & SXSIMEDIA_DATA) | |
| drv->media |= IDEIO_MEDIA_DATA; | |
| if (sxsi->mediatype & SXSIMEDIA_AUDIO) | |
| drv->media |= IDEIO_MEDIA_AUDIO; | |
| break; | |
| case 0: | |
| drv->media &= ~(IDEIO_MEDIA_LOADED|IDEIO_MEDIA_COMBINE); | |
| break; | |
| } | |
| } | } |
| #endif /* SUPPORT_IDEIO */ | #endif /* SUPPORT_IDEIO */ |