Merge branch 'master' into wii-network

This commit is contained in:
Matthew Parlane
2013-01-12 00:01:27 +13:00
63 changed files with 989 additions and 913 deletions
+4 -2
View File
@@ -1,4 +1,4 @@
# R6BE78 - Blob07
# R6BE78 - de Blob
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
@@ -15,4 +15,6 @@ PH_ZFar =
[Gecko]
[Video_Enhancements]
ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
EFBCopyEnable = True
+3
View File
@@ -15,3 +15,6 @@ PH_ZFar =
[Gecko]
[Video_Enhancements]
ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
EFBCopyEnable = True
+4 -1
View File
@@ -1,4 +1,4 @@
# R6BK78 - Blob07
# R6BK78 - de Blob
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
@@ -15,3 +15,6 @@ PH_ZFar =
[Gecko]
[Video_Enhancements]
ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
EFBCopyEnable = True
+4 -1
View File
@@ -1,4 +1,4 @@
# R6BP78 - Blob07
# R6BP78 - de Blob
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
@@ -15,3 +15,6 @@ PH_ZFar =
[Gecko]
[Video_Enhancements]
ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
EFBCopyEnable = True
+4 -1
View File
@@ -1,4 +1,4 @@
# R6BX78 - Blob07
# R6BX78 - de Blob
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
@@ -15,3 +15,6 @@ PH_ZFar =
[Gecko]
[Video_Enhancements]
ForceFiltering = False
[Video_Hacks]
EFBToTextureEnable = False
EFBCopyEnable = True
@@ -102,16 +102,12 @@ namespace AudioCommon
backends.push_back(BACKEND_DIRECTSOUND);
if (XAudio2::isValid())
backends.push_back(BACKEND_XAUDIO2);
if (OpenALStream::isValid())
backends.push_back(BACKEND_OPENAL);
if (AOSound::isValid())
backends.push_back(BACKEND_AOSOUND);
if (AlsaSound::isValid())
backends.push_back(BACKEND_ALSA);
if (CoreAudioSound::isValid())
backends.push_back(BACKEND_COREAUDIO);
if (PulseAudio::isValid())
backends.push_back(BACKEND_PULSEAUDIO);
return backends;
}
+11 -4
View File
@@ -19,7 +19,9 @@
#include "DebugInterface.h"
#include "BreakPoints.h"
#include "../../Core/Src/PowerPC/JitCommon/JitBase.h"
#include <sstream>
#include <algorithm>
bool BreakPoints::IsAddressBreakPoint(u32 _iAddress)
{
@@ -110,12 +112,17 @@ void BreakPoints::Remove(u32 em_address)
void BreakPoints::Clear()
{
for (TBreakPoints::iterator i = m_BreakPoints.begin(); i != m_BreakPoints.end(); ++i)
if (jit)
{
if (jit)
jit->GetBlockCache()->InvalidateICache(i->iAddress, 4);
m_BreakPoints.erase(i);
std::for_each(m_BreakPoints.begin(), m_BreakPoints.end(),
[](const TBreakPoint& bp)
{
jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4);
}
);
}
m_BreakPoints.clear();
}
MemChecks::TMemChecksStr MemChecks::GetStrings() const
+1 -1
View File
@@ -24,7 +24,7 @@
// Increment this every time you change shader generation code.
enum
{
LINEAR_DISKCACHE_VER = 6975
LINEAR_DISKCACHE_VER = 6979
};
// On disk format:
+4 -1
View File
@@ -318,9 +318,12 @@ public:
mutex_type* release()
{
return mutex();
auto const ret = mutex();
pm = NULL;
owns = false;
return ret;
}
bool owns_lock() const
+1 -1
View File
@@ -47,7 +47,6 @@
#include "VideoBackendBase.h"
#include "Movie.h"
namespace BootManager
{
@@ -154,6 +153,7 @@ void Stop()
SCoreStartupParameter& StartUp = SConfig::GetInstance().m_LocalCoreStartupParameter;
StartUp.m_strUniqueID = "00000000";
if (config_cache.valid)
{
config_cache.valid = false;
+1 -1
View File
@@ -141,7 +141,7 @@ struct SCoreStartupParameter
int iTheme;
int iPosX, iPosY, iWidth, iHeight;
enum EBootBS2
{
BOOT_DEFAULT,
+2 -3
View File
@@ -165,11 +165,10 @@ u16 dsp_read_accelerator()
// Somehow, YN1 and YN2 must be initialized with their "loop" values,
// so yeah, it seems likely that we should raise an exception to let
// the DSP program do that, at least if DSP_FORMAT == 0x0A.
if (Address >= EndAddress)
if ((Address & ~0x1f) == (EndAddress & ~0x1f))
{
// Set address back to start address.
if ((Address & ~0x1f) == (EndAddress & ~0x1f))
Address = (g_dsp.ifx_regs[DSP_ACSAH] << 16) | g_dsp.ifx_regs[DSP_ACSAL];
Address = (g_dsp.ifx_regs[DSP_ACSAH] << 16) | g_dsp.ifx_regs[DSP_ACSAL];
DSPCore_SetException(EXP_ACCOV);
}
@@ -90,9 +90,9 @@ void GetTlutLoadData(u32 &tlutAddr, u32 &memAddr, u32 &tlutXferCount, BPMemory &
// TODO - figure out a cleaner way.
if (Core::g_CoreStartupParameter.bWii)
memAddr = bpmem.tmem_config.tlut_src << 5;
memAddr = bpMem.tmem_config.tlut_src << 5;
else
memAddr = (bpmem.tmem_config.tlut_src & 0xFFFFF) << 5;
memAddr = (bpMem.tmem_config.tlut_src & 0xFFFFF) << 5;
}
void LoadCPReg(u32 subCmd, u32 value, CPMemory &cpMem)
@@ -33,7 +33,7 @@ struct MemoryUpdate
TEXTURE_MAP = 0x01,
XF_DATA = 0x02,
VERTEX_STREAM = 0x04,
TLUT = 0x08
TMEM = 0x08,
};
u32 fifoPosition;
@@ -114,6 +114,8 @@ void FifoRecordAnalyzer::DecodeOpcode(u8 *data)
if (bp.address == BPMEM_LOADTLUT1)
ProcessLoadTlut1();
if (bp.address == BPMEM_PRELOAD_MODE)
ProcessPreloadTexture();
}
break;
@@ -143,7 +145,16 @@ void FifoRecordAnalyzer::ProcessLoadTlut1()
GetTlutLoadData(tlutMemAddr, memAddr, tlutXferCount, *m_BpMem);
FifoRecorder::GetInstance().WriteMemory(memAddr, tlutXferCount, MemoryUpdate::TLUT);
FifoRecorder::GetInstance().WriteMemory(memAddr, tlutXferCount, MemoryUpdate::TMEM);
}
void FifoRecordAnalyzer::ProcessPreloadTexture()
{
BPS_TmemConfig& tmem_cfg = m_BpMem->tmem_config;
u32 tmem_addr = tmem_cfg.preload_tmem_even * TMEM_LINE_SIZE;
u32 size = tmem_cfg.preload_tile_info.count * TMEM_LINE_SIZE; // TODO: Should this be half size for RGBA8 preloads?
FifoRecorder::GetInstance().WriteMemory(tmem_cfg.preload_addr << 5, size, MemoryUpdate::TMEM);
}
void FifoRecordAnalyzer::ProcessLoadIndexedXf(u32 val, int array)
@@ -40,6 +40,7 @@ private:
void DecodeOpcode(u8 *data);
void ProcessLoadTlut1();
void ProcessPreloadTexture();
void ProcessLoadIndexedXf(u32 val, int array);
void ProcessVertexArrays(u8 *data, u8 vtxAttrGroup);
void ProcessTexMaps();
@@ -203,12 +203,10 @@ u16 AcceleratorGetSample()
//
// On real hardware, this would raise an interrupt that is handled by the
// UCode. We simulate what this interrupt does here.
if (*acc_cur_addr >= acc_end_addr)
if ((*acc_cur_addr & ~0x1F) == (acc_end_addr & ~0x1F))
{
// If we are really at the end (and we don't simply have cur_addr >
// end_addr all the time), loop back to loop_addr.
if ((*acc_cur_addr & ~0x1F) == (acc_end_addr & ~0x1F))
*acc_cur_addr = acc_loop_addr;
// If we are really at the end, loop back to loop_addr.
*acc_cur_addr = acc_loop_addr;
if (acc_pb->audio_addr.looping)
{
+2 -1
View File
@@ -20,6 +20,7 @@
#include "ControllerInterface/ControllerInterface.h"
#include "GCPadEmu.h"
#include "../ConfigManager.h"
#include "../../InputCommon/Src/InputConfig.h"
@@ -55,7 +56,7 @@ void Initialize(void* const hwnd)
g_controller_interface.Initialize();
// load the saved controller config
g_plugin.LoadConfig();
g_plugin.LoadConfig(true);
}
void GetStatus(u8 _numPAD, SPADStatus* _pPADStatus)
+2 -1
View File
@@ -5,6 +5,7 @@
#include "WiimoteReal/WiimoteReal.h"
#include "WiimoteEmu/WiimoteEmu.h"
#include "Movie.h"
#include "../ConfigManager.h"
#include "ControllerInterface/ControllerInterface.h"
@@ -44,7 +45,7 @@ void Initialize(void* const hwnd)
g_controller_interface.SetHwnd(hwnd);
g_controller_interface.Initialize();
g_plugin.LoadConfig();
g_plugin.LoadConfig(false);
WiimoteReal::Initialize();
@@ -36,6 +36,11 @@ void Wiimote::RealDisconnect()
return;
}
bool Wiimote::IsOpen() const
{
return IsConnected();
}
int Wiimote::IORead(unsigned char* buf)
{
return 0;

Some files were not shown because too many files have changed in this diff Show More