mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-13 06:15:07 +01:00
[Core/CD] fixed AUDIO tracks length calculation when using separated files (WAV/OGG/BIN) with INDEX pause defined in CUE file
This commit is contained in:
parent
e0351dbf61
commit
f9e74075ad
@ -20,10 +20,11 @@ Genesis Plus GX 1.7.5 (xx/xx/xxxx) (Eke-Eke)
|
||||
* improved savestate format
|
||||
* improved Sub-CPU synchronization with Main-CPU (fixes "Soul Star")
|
||||
* improved Main-CPU & Sub-CPU idle loop detection (fixes "Super League CD")
|
||||
* disabled 68k and Z80 access to PRG-RAM when SUB-CPU is running (fixes USA version of Dungeon Explorer )
|
||||
* disabled 68k and Z80 access to PRG-RAM when SUB-CPU is running (fixes "Dungeon Explorer")
|
||||
* disabled CD hardware reset on Soft-Reset (verified on real hardware)
|
||||
* fixed DATA track minimal length (fixes BIOS refusing to boot small homebrew demos)
|
||||
* fixed CDD "no disc" status code (fixes boot sequence loading time when no disc is loaded)
|
||||
* fixed AUDIO tracks length calculation when using separated files (WAV/OGG/BIN) with INDEX pause defined in CUE file
|
||||
* fixed OGG file seeking when using with CUE file
|
||||
* fixed PRG-RAM access from MAIN-CPU side on system reset
|
||||
* fixed state loading bug when SUB-CPU interrupt is pending
|
||||
|
@ -582,8 +582,8 @@ int cdd_load(char *filename, char *header)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* current track start time (based on previous track end time + current file absolute time + PREGAP length) */
|
||||
cdd.toc.tracks[cdd.toc.last].start = cdd.toc.end + bb + ss*75 + mm*60*75 + pregap;
|
||||
/* current file start time (based on previous track end time + PREGAP length) */
|
||||
cdd.toc.tracks[cdd.toc.last].start = cdd.toc.end + pregap;
|
||||
|
||||
/* adjust current track file read offset with previous track end time (only used for AUDIO track) */
|
||||
cdd.toc.tracks[cdd.toc.last].offset += cdd.toc.end * 2352;
|
||||
@ -630,6 +630,9 @@ int cdd_load(char *filename, char *header)
|
||||
fseek(cdd.toc.tracks[cdd.toc.last].fd, 0, SEEK_SET);
|
||||
}
|
||||
|
||||
/* adjust track start time (based on current file start time + index absolute time) */
|
||||
cdd.toc.tracks[cdd.toc.last].start += (bb + ss*75 + mm*60*75);
|
||||
|
||||
/* update TOC end */
|
||||
cdd.toc.end = cdd.toc.tracks[cdd.toc.last].end;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user