From 6060e514a77ccee8d4e7a97d803a50d4aa919c8f Mon Sep 17 00:00:00 2001 From: smf- Date: Tue, 8 Oct 2013 18:04:17 +0000 Subject: [PATCH] fixed bugs in new toc reading code, when the request wasn't from the first track (nw) --- src/emu/machine/t10mmc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/emu/machine/t10mmc.c b/src/emu/machine/t10mmc.c index 50aec86a6ff..34fdcecde69 100644 --- a/src/emu/machine/t10mmc.c +++ b/src/emu/machine/t10mmc.c @@ -64,7 +64,7 @@ int t10mmc::toc_tracks() { return ( end_track - start_track ) + 2; } - else if (start_track < 0xaa) + else if (start_track <= 0xaa) { return 1; } @@ -512,10 +512,16 @@ void t10mmc::ReadData( UINT8 *data, int dataLength ) data[dptr++] = 1; data[dptr++] = cdrom_get_last_track(cdrom); + int first_track = command[6]; + if (first_track == 0) + { + first_track = 1; + } + for (int i = 0; i < tracks; i++) { - int track = i + 1; - int cdrom_track = i; + int track = first_track + i; + int cdrom_track = track - 1; if( i == tracks - 1 ) { track = 0xaa;