Merge pull request #5839 from Cacodemon345/patch-278569
Panasonic: Output status byte if read fails
This commit is contained in:
@@ -152,6 +152,15 @@ mke_log(const char *fmt, ...)
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define CHECK_READY_READ() \
|
||||||
|
{ \
|
||||||
|
if (mke->cdrom_dev->cd_status == CD_STATUS_EMPTY) { \
|
||||||
|
fifo8_push(&mke->errors_fifo, 0x03); \
|
||||||
|
fifo8_push(&mke->info_fifo, mke_cdrom_status(mke->cdrom_dev, mke)); \
|
||||||
|
return; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
static uint8_t temp_buf[65536];
|
static uint8_t temp_buf[65536];
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -383,7 +392,7 @@ mke_command(mke_t *mke, uint8_t value)
|
|||||||
mke->command_buffer[3]) - 150;
|
mke->command_buffer[3]) - 150;
|
||||||
int len __attribute__((unused)) = 0;
|
int len __attribute__((unused)) = 0;
|
||||||
|
|
||||||
CHECK_READY();
|
CHECK_READY_READ();
|
||||||
mke->data_to_push = 0;
|
mke->data_to_push = 0;
|
||||||
|
|
||||||
while (count) {
|
while (count) {
|
||||||
@@ -394,6 +403,7 @@ mke_command(mke_t *mke, uint8_t value)
|
|||||||
mke->data_to_push += mke->cdrom_dev->sector_size;
|
mke->data_to_push += mke->cdrom_dev->sector_size;
|
||||||
} else {
|
} else {
|
||||||
fifo8_push(&mke->errors_fifo, res == 0 ? 0x10 : 0x05);
|
fifo8_push(&mke->errors_fifo, res == 0 ? 0x10 : 0x05);
|
||||||
|
fifo8_push(&mke->info_fifo, mke_cdrom_status(mke->cdrom_dev, mke));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
count--;
|
count--;
|
||||||
|
|||||||
Reference in New Issue
Block a user