Merge pull request #5839 from Cacodemon345/patch-278569

Panasonic: Output status byte if read fails
This commit is contained in:
Miran Grča
2025-07-28 19:00:13 +02:00
committed by GitHub

View File

@@ -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--;