Merge branch 'master' of https://github.com/OBattler/86Box
This commit is contained in:
@@ -271,7 +271,7 @@ static void MPU401_WriteCommand(mpu_t *mpu, uint8_t val)
|
||||
break;
|
||||
case 0xff: /* Reset MPU-401 */
|
||||
pclog("MPU-401:Reset %X\n",val);
|
||||
mpu401_reset_callback = MPU401_RESETBUSY * 200 * TIMER_USEC;
|
||||
mpu401_reset_callback = MPU401_RESETBUSY * 33 * TIMER_USEC;
|
||||
mpu->state.reset=1;
|
||||
MPU401_Reset(mpu);
|
||||
if (mpu->mode==M_UART) return;//do not send ack in UART mode
|
||||
|
||||
16
src/cdrom.c
16
src/cdrom.c
@@ -2424,19 +2424,17 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
toc_format = (cdb[9] >> 6) & 3;
|
||||
}
|
||||
|
||||
len = cdb[8] + (cdb[7] << 8);
|
||||
|
||||
switch (toc_format)
|
||||
{
|
||||
case 0: /*Normal*/
|
||||
len = cdrom_drives[id].handler->readtoc(id, cdbufferb, cdb[6], msf, len, 0);
|
||||
len = cdrom_drives[id].handler->readtoc(id, cdbufferb, cdb[6], msf, max_len, 0);
|
||||
break;
|
||||
case 1: /*Multi session*/
|
||||
len = cdrom_drives[id].handler->readtoc_session(id, cdbufferb, msf, len);
|
||||
len = cdrom_drives[id].handler->readtoc_session(id, cdbufferb, msf, max_len);
|
||||
cdbufferb[0] = 0; cdbufferb[1] = 0xA;
|
||||
break;
|
||||
case 2: /*Raw*/
|
||||
len = cdrom_drives[id].handler->readtoc_raw(id, cdbufferb, msf, len);
|
||||
len = cdrom_drives[id].handler->readtoc_raw(id, cdbufferb, msf, max_len);
|
||||
break;
|
||||
default:
|
||||
cdrom_invalid_field(id);
|
||||
@@ -2444,6 +2442,14 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
}
|
||||
}
|
||||
|
||||
if (len > max_len)
|
||||
{
|
||||
len = max_len;
|
||||
|
||||
cdbufferb[0] = ((len - 2) >> 8) & 0xff;
|
||||
cdbufferb[1] = (len - 2) & 0xff;
|
||||
}
|
||||
|
||||
cdrom_data_command_finish(id, len, len, len, 0);
|
||||
/* cdrom_log("CD-ROM %i: READ_TOC_PMA_ATIP format %02X, length %i (%i)\n", id, toc_format, ide->cylinder, cdbufferb[1]); */
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user