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;
|
break;
|
||||||
case 0xff: /* Reset MPU-401 */
|
case 0xff: /* Reset MPU-401 */
|
||||||
pclog("MPU-401:Reset %X\n",val);
|
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;
|
mpu->state.reset=1;
|
||||||
MPU401_Reset(mpu);
|
MPU401_Reset(mpu);
|
||||||
if (mpu->mode==M_UART) return;//do not send ack in UART mode
|
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;
|
toc_format = (cdb[9] >> 6) & 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
len = cdb[8] + (cdb[7] << 8);
|
|
||||||
|
|
||||||
switch (toc_format)
|
switch (toc_format)
|
||||||
{
|
{
|
||||||
case 0: /*Normal*/
|
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;
|
break;
|
||||||
case 1: /*Multi session*/
|
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;
|
cdbufferb[0] = 0; cdbufferb[1] = 0xA;
|
||||||
break;
|
break;
|
||||||
case 2: /*Raw*/
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
cdrom_invalid_field(id);
|
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_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]); */
|
/* cdrom_log("CD-ROM %i: READ_TOC_PMA_ATIP format %02X, length %i (%i)\n", id, toc_format, ide->cylinder, cdbufferb[1]); */
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user