Skip to content

Commit

Permalink
Merge pull request #3219 from JosJuice/5.0-stable-fixes
Browse files Browse the repository at this point in the history
Various fixes from the abandoned 5.0 stable
  • Loading branch information
delroth committed Nov 1, 2015
2 parents 491e149 + 6dce8b4 commit 839dd2c
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions Data/Sys/GameSettings/GXE.ini
Expand Up @@ -2,6 +2,7 @@

[Core]
# Values set here will override the main Dolphin settings.
FastDiscSpeed = True

[EmuState]
# The Emulation State. 1 is worst, 5 is best, 0 is not set.
Expand Down
8 changes: 7 additions & 1 deletion Source/Core/Core/Boot/Boot_BS2Emu.cpp
Expand Up @@ -56,7 +56,10 @@ bool CBoot::EmulatedBS2_GC(bool skipAppLoader)
// Write necessary values
// Here we write values to memory that the apploader does not take care of. Game info goes
// 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(Memory::REALRAM_SIZE, 0x80000028); // Physical Memory Size (24MB on retail)
Expand All @@ -81,6 +84,9 @@ bool CBoot::EmulatedBS2_GC(bool skipAppLoader)

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,
// but the size can differ between discs. Compare with YAGCD chap 13.
const DiscIO::IVolume& volume = DVDInterface::GetVolume();
Expand Down
3 changes: 3 additions & 0 deletions Source/Core/DiscIO/DiscScrubber.cpp
Expand Up @@ -95,6 +95,9 @@ bool SetupScrub(const std::string& filename, int block_size)
m_BlocksPerCluster = CLUSTER_SIZE / m_BlockSize;

m_Disc = CreateVolumeFromFilename(filename);
if (!m_Disc)
return false;

m_FileSize = m_Disc->GetSize();

u32 numClusters = (u32)(m_FileSize / CLUSTER_SIZE);
Expand Down

0 comments on commit 839dd2c

Please sign in to comment.