summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Oliver Stöneberg <firewave@users.noreply.github.com>2013-01-05 22:22:39 +0000
committer Oliver Stöneberg <firewave@users.noreply.github.com>2013-01-05 22:22:39 +0000
commit5bf7f966fd2532561c4b8656c13638a0b7f5f20f (patch)
tree95751c210ee19785fada0624a6bb0bc94f23449d /src/lib
parentf81826d5ba2fcdaba9b6d12cffb59e4d726e1a2b (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.c9
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;