Merge pull request #3219 from JosJuice/5.0-stable-fixes
Various fixes from the abandoned 5.0 stable
This commit is contained in:
commit
839dd2cd9d
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
[Core]
|
[Core]
|
||||||
# Values set here will override the main Dolphin settings.
|
# Values set here will override the main Dolphin settings.
|
||||||
|
FastDiscSpeed = True
|
||||||
|
|
||||||
[EmuState]
|
[EmuState]
|
||||||
# The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
# The Emulation State. 1 is worst, 5 is best, 0 is not set.
|
||||||
|
|
|
@ -56,7 +56,10 @@ bool CBoot::EmulatedBS2_GC(bool skipAppLoader)
|
||||||
// Write necessary values
|
// Write necessary values
|
||||||
// Here we write values to memory that the apploader does not take care of. Game info goes
|
// Here we write values to memory that the apploader does not take care of. Game info goes
|
||||||
// to 0x80000000 according to YAGCD 4.2.
|
// to 0x80000000 according to YAGCD 4.2.
|
||||||
DVDInterface::DVDRead(/*offset*/0x00000000, /*address*/0x00000000, 0x20, false); // write disc info
|
|
||||||
|
// It's possible to boot DOL and ELF files without a disc inserted
|
||||||
|
if (DVDInterface::VolumeIsValid())
|
||||||
|
DVDInterface::DVDRead(/*offset*/0x00000000, /*address*/0x00000000, 0x20, false); // write disc info
|
||||||
|
|
||||||
PowerPC::HostWrite_U32(0x0D15EA5E, 0x80000020); // Booted from bootrom. 0xE5207C22 = booted from jtag
|
PowerPC::HostWrite_U32(0x0D15EA5E, 0x80000020); // Booted from bootrom. 0xE5207C22 = booted from jtag
|
||||||
PowerPC::HostWrite_U32(Memory::REALRAM_SIZE, 0x80000028); // Physical Memory Size (24MB on retail)
|
PowerPC::HostWrite_U32(Memory::REALRAM_SIZE, 0x80000028); // Physical Memory Size (24MB on retail)
|
||||||
|
@ -81,6 +84,9 @@ bool CBoot::EmulatedBS2_GC(bool skipAppLoader)
|
||||||
|
|
||||||
HLE::Patch(0x81300000, "OSReport"); // HLE OSReport for Apploader
|
HLE::Patch(0x81300000, "OSReport"); // HLE OSReport for Apploader
|
||||||
|
|
||||||
|
if (!DVDInterface::VolumeIsValid())
|
||||||
|
return false;
|
||||||
|
|
||||||
// Load Apploader to Memory - The apploader is hardcoded to begin at 0x2440 on the disc,
|
// Load Apploader to Memory - The apploader is hardcoded to begin at 0x2440 on the disc,
|
||||||
// but the size can differ between discs. Compare with YAGCD chap 13.
|
// but the size can differ between discs. Compare with YAGCD chap 13.
|
||||||
const DiscIO::IVolume& volume = DVDInterface::GetVolume();
|
const DiscIO::IVolume& volume = DVDInterface::GetVolume();
|
||||||
|
|
|
@ -95,6 +95,9 @@ bool SetupScrub(const std::string& filename, int block_size)
|
||||||
m_BlocksPerCluster = CLUSTER_SIZE / m_BlockSize;
|
m_BlocksPerCluster = CLUSTER_SIZE / m_BlockSize;
|
||||||
|
|
||||||
m_Disc = CreateVolumeFromFilename(filename);
|
m_Disc = CreateVolumeFromFilename(filename);
|
||||||
|
if (!m_Disc)
|
||||||
|
return false;
|
||||||
|
|
||||||
m_FileSize = m_Disc->GetSize();
|
m_FileSize = m_Disc->GetSize();
|
||||||
|
|
||||||
u32 numClusters = (u32)(m_FileSize / CLUSTER_SIZE);
|
u32 numClusters = (u32)(m_FileSize / CLUSTER_SIZE);
|
||||||
|
|
Loading…
Reference in New Issue