mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Merge branch 'master' into wii-network
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -15,3 +15,6 @@ PH_ZFar =
|
||||
[Gecko]
|
||||
[Video_Enhancements]
|
||||
ForceFiltering = False
|
||||
[Video_Hacks]
|
||||
EFBToTextureEnable = False
|
||||
EFBCopyEnable = True
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -318,9 +318,12 @@ public:
|
||||
|
||||
mutex_type* release()
|
||||
{
|
||||
return mutex();
|
||||
auto const ret = mutex();
|
||||
|
||||
pm = NULL;
|
||||
owns = false;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool owns_lock() const
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -141,7 +141,7 @@ struct SCoreStartupParameter
|
||||
|
||||
int iTheme;
|
||||
int iPosX, iPosY, iWidth, iHeight;
|
||||
|
||||
|
||||
enum EBootBS2
|
||||
{
|
||||
BOOT_DEFAULT,
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user