diff options
author | R. Belmont <rb6502@users.noreply.github.com> | 2008-10-30 03:08:35 +0000 |
---|---|---|
committer | R. Belmont <rb6502@users.noreply.github.com> | 2008-10-30 03:08:35 +0000 |
commit | c6e16e1925682a526ef60f75808a1ab03c9150ea (patch) | |
tree | fafa65f17c758d5cfd7bb6c4420ffd8e9d7b7c67 | |
parent | 7dd6c892215872863f5eaa9b376e94867a30d3c9 (diff) |
02456: wrong sector size at CD_TRACK_MODE2 conversion routine
-rw-r--r-- | src/lib/util/cdrom.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/util/cdrom.c b/src/lib/util/cdrom.c index 2d96f606e82..03427cb0a54 100644 --- a/src/lib/util/cdrom.c +++ b/src/lib/util/cdrom.c @@ -221,24 +221,24 @@ UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32 } else { - /* return 2048 bytes of mode1 data from a 2336 byte mode 1 or 2 raw sector */ + /* return 2048 bytes of mode 1 data from a 2352 byte mode 1 or 2 raw sector */ if ((datatype == CD_TRACK_MODE1) && ((tracktype == CD_TRACK_MODE1_RAW) || (tracktype == CD_TRACK_MODE2_RAW))) { memcpy(buffer, &file->cache[(sectoroffs * CD_FRAME_SIZE) + 16], 2048); return 1; } - /* return 2048 bytes of mode1 data from a mode2 form1 sector */ + /* return 2048 bytes of mode 1 data from a mode2 form1 sector */ if ((datatype == CD_TRACK_MODE1) && (tracktype == CD_TRACK_MODE2_FORM1)) { memcpy(buffer, &file->cache[(sectoroffs * CD_FRAME_SIZE) + 24], 2048); return 1; } - /* return mode 2 2336 byte data from a RAW sector */ + /* 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))) { - memcpy(buffer, &file->cache[(sectoroffs * CD_FRAME_SIZE) + 16], 2048); + memcpy(buffer, &file->cache[(sectoroffs * CD_FRAME_SIZE) + 16], 2336); return 1; } |