+ cdr.Result[0] = result;
+ cdr.Stat = (result & STATUS_ERROR) ? DiskError : DataReady;
+ setIrq(0x203);
+}
+
+static void cdrUpdateTransferBuf(const u8 *buf)
+{
+ if (!buf)
+ return;
+ memcpy(cdr.Transfer, buf, DATA_SIZE);
+ CheckPPFCache(cdr.Transfer, cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]);
+ CDR_LOG("cdr.Transfer %x:%x:%x\n", cdr.Transfer[0], cdr.Transfer[1], cdr.Transfer[2]);
+ cdr.Readed = 0;
+}
+
+static void cdrReadInterrupt(void)
+{
+ u8 *buf = NULL, *hdr;
+