cdd.lba = 0;
/* reset status */
- cdd.status = cdd.loaded ? CD_STOP : NO_DISC;
-
+ cdd.status = NO_DISC;
+
/* reset CD-DA fader (full volume) */
cdd.volume = 0x400;
/* CD loaded */
cdd.loaded = 1;
+
+ /* disc not scanned yet */
+ cdd.status = NO_DISC;
+
return 0;
}
/* CD unloaded */
cdd.loaded = 0;
+
+ if (cdd.status != CD_OPEN)
+ cdd.status = NO_DISC;
}
/* reset TOC */
case 0x02: /* Read TOC */
{
+ if (cdd.status == NO_DISC)
+ cdd.status = cdd.loaded ? CD_STOP : NO_DISC;
+
/* Infos automatically retrieved by CDD processor from Q-Channel */
/* commands 0x00-0x02 (current block) and 0x03-0x05 (Lead-In) */
switch (Pico_mcd->regs[0x44>>1].byte.l)
if (PicoMCDcloseTray)
PicoMCDcloseTray();
+
return;
}