mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
6042e82613
cdrom_init() is deliberately non-fatal -- BIOS-only targets run with an empty drive on purpose -- so when a disc IS requested and nothing mounts, the game boots into an empty drive and renders nothing. That is the "black screen on a .cue that works as a .bin" symptom. The earlier validate_disc_for_launch() pass cannot catch it: identify_disc() reads the data-track FILE directly, so a cue whose sheet the mounting reader rejects still earns a green "Disc verified" badge and the player is left staring at black with no explanation. Master reports the actual failure and names the likely cause; PR #110 dropped the check while keeping every part it depends on -- cdrom_has_disc() in cdrom.h, resolve_disc_path()/DiscPathResolution in disc_path.h, and launcher_warning() -- so only the call site and the disc_path.h include were missing. Block restored verbatim from origin/master. Verified no false positive: Tomba boots past cdrom_init into gameplay with a good disc (PSX_NO_LAUNCHER=1, reaches the in-game window). The negative case (a cue that verifies but will not mount) was not synthesised. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>