From 7c9b346ade9bdc5f2dd932e995b7d7bc420fc8c3 Mon Sep 17 00:00:00 2001 From: cracyc Date: Mon, 10 Apr 2017 13:59:26 -0500 Subject: [PATCH] cdrom: translate from 2336 to 2048 (nw) --- src/lib/util/cdrom.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/util/cdrom.cpp b/src/lib/util/cdrom.cpp index efa34257a95..2f21c660be9 100644 --- a/src/lib/util/cdrom.cpp +++ b/src/lib/util/cdrom.cpp @@ -577,6 +577,12 @@ uint32_t cdrom_read_data(cdrom_file *file, uint32_t lbasector, void *buffer, uin return (read_partial_sector(file, buffer, lbasector, chdsector, tracknum, 24, 2048, phys) == CHDERR_NONE); } + /* return 2048 bytes of mode 1 data from a mode2 form2 or XA sector */ + if ((datatype == CD_TRACK_MODE1) && (tracktype == CD_TRACK_MODE2_FORM_MIX)) + { + return (read_partial_sector(file, buffer, lbasector, chdsector, tracknum, 8, 2048, phys) == CHDERR_NONE); + } + /* return mode 2 2336 byte data from a 2352 byte mode 1 or 2 raw sector (skip the header) */ if ((datatype == CD_TRACK_MODE2) && ((tracktype == CD_TRACK_MODE1_RAW) || (tracktype == CD_TRACK_MODE2_RAW))) {