System: Fix no-disc startup in later versions

This commit is contained in:
Stenzek 2024-10-11 16:54:46 +10:00
parent 449cd7cbc8
commit 0c2ab82252
No known key found for this signature in database
2 changed files with 9 additions and 3 deletions

View File

@ -63,8 +63,8 @@ static constexpr const ImageInfo s_image_info_by_hash[] = {
{"SCPH-7001, 7501, 7503, 9001, 9003, 9903 (v4.1 12-16-97 A)", ConsoleRegion::NTSC_U, false, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("1e68c231d0896b7eadcad1d7d8e76129")},
{"SCPH-7002, 7502, 9002 (v4.1 12-16-97 E)", ConsoleRegion::PAL, false, ImageInfo::FastBootPatch::Type1, 20, MakeHashFromString("b9d9a0286c33dc6b7237bb13cd46fdee")},
{"SCPH-100 (v4.3 03-11-00 J)", ConsoleRegion::NTSC_J, true, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("8abc1b549a4a80954addc48ef02c4521")},
{"SCPH-101 (v4.4 03-24-00 A)", ConsoleRegion::NTSC_U, true, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("9a09ab7e49b422c007e6d54d7c49b965")},
{"SCPH-101 (v4.5 05-25-00 A)", ConsoleRegion::NTSC_U, true, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("6e3735ff4c7dc899ee98981385f6f3d0")},
{"SCPH-101 (v4.4 03-24-00 A)", ConsoleRegion::NTSC_U, false, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("9a09ab7e49b422c007e6d54d7c49b965")},
{"SCPH-101 (v4.5 05-25-00 A)", ConsoleRegion::NTSC_U, false, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("6e3735ff4c7dc899ee98981385f6f3d0")},
{"SCPH-102 (v4.4 03-24-00 E)", ConsoleRegion::PAL, true, ImageInfo::FastBootPatch::Type1, 20, MakeHashFromString("b10f5e0e3d9eb60e5159690680b1e774")},
{"SCPH-102 (v4.5 05-25-00 E)", ConsoleRegion::PAL, true, ImageInfo::FastBootPatch::Type1, 20, MakeHashFromString("de93caec13d1a141a40a79f5c86168d6")},
{"SCPH-1000R (v4.5 05-25-00 J)", ConsoleRegion::NTSC_J, true, ImageInfo::FastBootPatch::Type1, 10, MakeHashFromString("476d68a94ccec3b9c8303bbd1daf2810")},
@ -166,6 +166,10 @@ bool BIOS::ImageInfo::CanSlowBootDisc(DiscRegion disc_region) const
if (!region_check)
return true;
// Boot to BIOS for non-PS1 discs, e.g. audio.
if (disc_region == DiscRegion::NonPS1)
return true;
switch (region)
{
case ConsoleRegion::NTSC_J:

View File

@ -389,7 +389,7 @@ struct CDROMState
Command command = Command::None;
Command command_second_response = Command::None;
DriveState drive_state = DriveState::Idle;
DiscRegion disc_region = DiscRegion::Other;
DiscRegion disc_region = DiscRegion::NonPS1;
StatusRegister status = {};
@ -524,6 +524,8 @@ static std::array<CommandInfo, 255> s_command_info = {{
void CDROM::Initialize()
{
s_state.disc_region = DiscRegion::NonPS1;
if (g_settings.cdrom_readahead_sectors > 0)
s_reader.StartThread(g_settings.cdrom_readahead_sectors);