cdriso: unbreak cdda for chd
authornotaz <notasas@gmail.com>
Sat, 12 Nov 2022 15:57:31 +0000 (17:57 +0200)
committernotaz <notasas@gmail.com>
Sat, 12 Nov 2022 15:58:20 +0000 (17:58 +0200)
notaz/pcsx_rearmed#272

libpcsxcore/cdriso.c

index 3189579..f47fcfd 100644 (file)
@@ -110,7 +110,7 @@ struct trackinfo {
        char start[3];          // MSF-format
        char length[3];         // MSF-format
        FILE *handle;           // for multi-track images CDDA
-       unsigned int start_offset; // byte offset from start of above file
+       unsigned int start_offset; // byte offset from start of above file (chd: sector offset)
 };
 
 #define MAXTRACKS 100 /* How many tracks can a CD hold? */
@@ -1229,7 +1229,7 @@ static int cdread_chd(FILE *f, unsigned int base, void *dest, int sector)
 {
        int hunk;
 
-       assert(base == 0);
+       sector += base;
 
        hunk = sector / chd_img->sectors_per_hunk;
        chd_img->sector_in_hunk = sector % chd_img->sectors_per_hunk;