diff options
author | 2013-01-08 01:42:32 +0000 | |
---|---|---|
committer | 2013-01-08 01:42:32 +0000 | |
commit | 2fc04181bc0aca2d135d322ed849db98b4726095 (patch) | |
tree | f34f41ad6ff05676e0a0de7e9aa13d9839cefc5a /src/lib | |
parent | 306f908c0f0b87c7f8790d6e32ba15ab1da40da3 (diff) |
cdrom: fixed getting the type of the last track, fixes PCE Bomberman '94 proto (nw)
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/util/cdrom.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/util/cdrom.c b/src/lib/util/cdrom.c index 7d9e053b7d4..d783c556503 100644 --- a/src/lib/util/cdrom.c +++ b/src/lib/util/cdrom.c @@ -223,6 +223,7 @@ cdrom_file *cdrom_open(const char *inputfile) /* fill out dummy entries for the last track to help our search */ file->cdtoc.tracks[i].physframeofs = physofs; + file->cdtoc.tracks[i].logframeofs = logofs; file->cdtoc.tracks[i].chdframeofs = 0; return file; @@ -305,6 +306,7 @@ cdrom_file *cdrom_open(chd_file *chd) /* fill out dummy entries for the last track to help our search */ file->cdtoc.tracks[i].physframeofs = physofs; + file->cdtoc.tracks[i].logframeofs = logofs; file->cdtoc.tracks[i].chdframeofs = chdofs; return file; @@ -393,6 +395,7 @@ UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32 /* copy out the requested sector */ UINT32 tracktype = file->cdtoc.tracks[tracknum].trktype; + if ((datatype == tracktype) || (datatype == CD_TRACK_RAW_DONTCARE)) { return (read_partial_sector(file, buffer, chdsector, tracknum, 0, file->cdtoc.tracks[tracknum].datasize) == CHDERR_NONE); |