diff options
author | 2013-01-05 22:22:39 +0000 | |
---|---|---|
committer | 2013-01-05 22:22:39 +0000 | |
commit | 5bf7f966fd2532561c4b8656c13638a0b7f5f20f (patch) | |
tree | 95751c210ee19785fada0624a6bb0bc94f23449d /src/lib | |
parent | f81826d5ba2fcdaba9b6d12cffb59e4d726e1a2b (diff) |
fixed NRG reading for good (accidentally removed some non-debug code before commit) (nw)
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/util/chdcd.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/util/chdcd.c b/src/lib/util/chdcd.c index 1a9948aeb85..9f7f2b8fda0 100644 --- a/src/lib/util/chdcd.c +++ b/src/lib/util/chdcd.c @@ -377,12 +377,13 @@ chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_ offset = 0; for (track = start; track <= end; track++) { - UINT32 size, mode; + UINT32 size, mode, unknown; UINT64 index0, index1, track_end; fseek(infile, 12, SEEK_CUR); // skip ISRC code size = read_uint16(infile); - mode = read_uint32(infile); + mode = read_uint16(infile); + unknown = read_uint16(infile); index0 = read_uint64(infile); index1 = read_uint64(infile); track_end = read_uint64(infile); @@ -393,7 +394,7 @@ chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_ outinfo.track[track-1].idx0offs = 0; outinfo.track[track-1].idx1offs = 0; - switch (mode>>24) + switch (mode) { case 0x0000: // 2048 byte data outtoc.tracks[track-1].trktype = CD_TRACK_MODE1; @@ -410,7 +411,7 @@ chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_ fclose(infile); return CHDERR_NOT_SUPPORTED; - case 0x06: // 2352 byte mode 2 raw + case 0x0600: // 2352 byte mode 2 raw outtoc.tracks[track-1].trktype = CD_TRACK_MODE2_RAW; outinfo.track[track-1].swap = false; break; |