RA v1.8.6 does not properly parse TG-16/PCE CDs under Windows 10
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
When dumping (or playing) an original TG-16 or PCE CD-ROM disc, RetroArch improperly reads the disc layout. The causes in-game CD audio playback to be slightly out of sync with game audio effects. This is most noticeable with games that use voiced cutscenes, like the intro to Castlevania: Rondo of Blood.
Behavior is identical when playing from an original disc or a dump made in RetroArch from that disc.
Multiple dumps were made on two difference drives (one internal, one external) and the results of all the dumps were identical.
The original game CD and the dumps were tested on Beetle PCE Fast and Beetle PCE. Behavior was identical across the cores.
This issue was mentioned once on Reddit about 10 months ago. The solution for that poster was to download a copy from somewhere rather than using RetroArch to dump or play the original disc.
Expected behavior
I will use Rondo of Blood in these examples just because it is very easy to see the issue immediately.
Play from disc:
- Insert PCE CD (Rondo).
- Load Beetle PCE Fast core.
- Load Disc.
- Run game.
- Watch game intro.
- Start playing game.
Dump disc and play:
- Insert PCE CD (Rondo).
- Dump Disc to hard drive using RA.
- Load Beetle PCE Fast core.
- Load Content (select newly dumped game).
- Run game.
- Watch game intro.
- Start game.
Actual behavior
Play from disc:
- Insert PCE CD (Rondo).
- Load Beetle PCE Fast core.
- Load Disc.
- Run game.
- Watch game intro. <----- Audio is not synced with subtitles. Beginning of next audio track briefly (and incorrectly) plays at title screen.
- Start playing game.
Dump disc and play:
- Insert PCE CD (Rondo).
- Dump Disc to hard drive using RA.
- Load Beetle PCE Fast core.
- Load Content (select newly dumped game).
- Run game.
- Watch game intro. <----- Audio is not synced with subtitles. Beginning of next audio track briefly (and incorrectly) plays at title screen.
- Start game.
Example CUE file produced by RetroArch
This CUE file was created by RetroArch from an original PCE Rondo of Blood game CD (ring marker FABT). It does not match the ReDump CUE file for the same game.
FILE "cdrom-200511-194511 (Track 01).bin" BINARY
TRACK 01 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 02).bin" BINARY
TRACK 02 MODE1/2352
INDEX 01 00:00:00
FILE "cdrom-200511-194511 (Track 03).bin" BINARY
TRACK 03 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 04).bin" BINARY
TRACK 04 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 05).bin" BINARY
TRACK 05 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 06).bin" BINARY
TRACK 06 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 07).bin" BINARY
TRACK 07 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 08).bin" BINARY
TRACK 08 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 09).bin" BINARY
TRACK 09 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 10).bin" BINARY
TRACK 10 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 11).bin" BINARY
TRACK 11 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 12).bin" BINARY
TRACK 12 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 13).bin" BINARY
TRACK 13 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 14).bin" BINARY
TRACK 14 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 15).bin" BINARY
TRACK 15 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 16).bin" BINARY
TRACK 16 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 17).bin" BINARY
TRACK 17 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 18).bin" BINARY
TRACK 18 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 19).bin" BINARY
TRACK 19 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 20).bin" BINARY
TRACK 20 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 21).bin" BINARY
TRACK 21 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
FILE "cdrom-200511-194511 (Track 22).bin" BINARY
TRACK 22 MODE1/2352
INDEX 01 00:00:00
Link to ReDump CUE for comparison: http://redump.org/disc/29878/
Track size comparisons between RA dumped files and ReDump info
Track data sizes are different for selected tracks. All other track file sizes are the same as the ReDump file sizes. None of the MD5s from RetroArch dumped tracks match the values on ReDump. This seems to hint at the fact that RetroArch is starting at an incorrect value when initializing a dump.
Track 1:
- RA Dump: 9149280
- ReDump: 8620080
Track 2:
- RA Dump: 23870448
- ReDump: 24399648
Track 3:
- RA Dump: 18778,368
- ReDump: 19131168
Track 21:
- RA Dump: 45276000
- ReDump: 44746800
Track 22:
- RA Dump: 23167200
- ReDump: 24049200
Steps to reproduce the bug
- Acquire an original TG-16 or PCE game CD.
- Dump disc using RetroArch.
- Play game using the RetroArch dump with any of the RetroArch PCE cores..
Alternative:
- Acquire an original TG-16 or PCE game CD.
- Play game from original CD using any of the RetroArch PCE cores.
Bisect Results
I only recently starting using RetroArch with v1.8,6, but this 10 month old Reddit post indicates that the issue may have been ongoing for awhile.
https://www.reddit.com/r/RetroArch/comments/c8f979/akumajou_dracula_x_chi_no_rondo_pc_engine/
Version/Commit
You can find this information under Information/System Information
- RetroArch: Git Version: 25be09acd3
Environment information
- OS: Windows 10 x64 Build 18363
- Compiler: MinGW (9.2.0) 64-bit (as reported by RA, I did not compile myself, used official download)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue through RetroArch's disc dumping and playback flow on Windows 10 with Beetle PCE Fast, then compare the generated CUE file and track sizes with the linked ReDump information. The work is done when original and dumped TG-16/PCE CDs have correctly aligned audio and matching track layout data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100