From 52c00b3a320ccb38d8c3527628b7db2169fcc737 Mon Sep 17 00:00:00 2001 From: smf- Date: Sat, 9 Nov 2024 01:40:47 +0000 Subject: T10MMC, Mode select length does not include the length itself. --- src/devices/machine/t10mmc.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/devices/machine/t10mmc.cpp b/src/devices/machine/t10mmc.cpp index bdb8accab33..dc7031037f2 100644 --- a/src/devices/machine/t10mmc.cpp +++ b/src/devices/machine/t10mmc.cpp @@ -1609,7 +1609,7 @@ void t10mmc::WriteData( uint8_t *data, int dataLength ) case T10SPC_CMD_MODE_SELECT_6: case T10SPC_CMD_MODE_SELECT_10: { - int len = (command[0] == T10SPC_CMD_MODE_SELECT_6) ? data[0] : get_u16be(&data[0]); + int len = (command[0] == T10SPC_CMD_MODE_SELECT_6) ? data[0] + 1 : get_u16be(&data[0]) + 2; int bdlen = (command[0] == T10SPC_CMD_MODE_SELECT_6) ? data[3] : get_u16be(&data[6]); int ptr = (command[0] == T10SPC_CMD_MODE_SELECT_6) ? 4 : 8; @@ -1660,7 +1660,6 @@ void t10mmc::WriteData( uint8_t *data, int dataLength ) ptr += data[ptr + 1] + 2; } - break; } -- cgit v1.2.3