come cleanup with lle test and misc

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2745 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2009-03-23 21:19:43 +00:00
parent 63ecc01cc6
commit 29081c204d
6 changed files with 327 additions and 316 deletions

View File

@ -35,280 +35,280 @@
namespace PowerPC namespace PowerPC
{ {
// STATE_TO_SAVE // STATE_TO_SAVE
PowerPCState GC_ALIGNED16(ppcState); PowerPCState GC_ALIGNED16(ppcState);
volatile CPUState state = CPU_STEPPING; volatile CPUState state = CPU_STEPPING;
static CoreMode mode; static CoreMode mode;
void CompactCR() void CompactCR()
{
ppcState.cr = 0;
for (int i = 0; i < 8; i++) {
ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4);
}
}
void ExpandCR()
{
for (int i = 0; i < 8; i++) {
ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
}
}
void DoState(PointerWrap &p)
{
p.Do(ppcState);
}
void ResetRegisters()
{
for (int i = 0; i < 32; i++)
{ {
ppcState.cr = 0; ppcState.gpr[i] = 0;
for (int i = 0; i < 8; i++) { riPS0(i) = 0;
ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4); riPS1(i) = 0;
}
} }
void ExpandCR() memset(ppcState.spr, 0, sizeof(ppcState.spr));
{
for (int i = 0; i < 8; i++) {
ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
}
}
ppcState.cr = 0;
ppcState.fpscr = 0;
ppcState.pc = 0;
ppcState.npc = 0;
ppcState.Exceptions = 0;
void DoState(PointerWrap &p) TL = 0;
{ TU = 0;
p.Do(ppcState);
}
void ResetRegisters() ppcState.msr = 0;
{ rDEC = 0xFFFFFFFF;
for (int i = 0; i < 32; i++) }
{
ppcState.gpr[i] = 0;
riPS0(i) = 0;
riPS1(i) = 0;
}
memset(ppcState.spr, 0, sizeof(ppcState.spr)); void Init()
{
ppcState.cr = 0; enum {
ppcState.fpscr = 0; FPU_PREC_24 = 0 << 8,
ppcState.pc = 0; FPU_PREC_53 = 2 << 8,
ppcState.npc = 0; FPU_PREC_64 = 3 << 8,
ppcState.Exceptions = 0; FPU_PREC_MASK = 3 << 8,
};
TL = 0;
TU = 0;
ppcState.msr = 0;
rDEC = 0xFFFFFFFF;
}
void Init()
{
enum {
FPU_PREC_24 = 0 << 8,
FPU_PREC_53 = 2 << 8,
FPU_PREC_64 = 3 << 8,
FPU_PREC_MASK = 3 << 8,
};
#ifdef _M_IX86 #ifdef _M_IX86
// sets the floating-point lib to 53-bit // sets the floating-point lib to 53-bit
// PowerPC has a 53bit floating pipeline only // PowerPC has a 53bit floating pipeline only
// eg: sscanf is very sensitive // eg: sscanf is very sensitive
#ifdef _WIN32 #ifdef _WIN32
_control87(_PC_53, MCW_PC); _control87(_PC_53, MCW_PC);
#else #else
unsigned short _mode; unsigned short _mode;
asm ("fstcw %0" : : "m" (_mode)); asm ("fstcw %0" : : "m" (_mode));
_mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53; _mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53;
asm ("fldcw %0" : : "m" (_mode)); asm ("fldcw %0" : : "m" (_mode));
#endif #endif
#else #else
//x64 doesn't need this - fpu is done with SSE //x64 doesn't need this - fpu is done with SSE
//but still - set any useful sse options here //but still - set any useful sse options here
#endif #endif
ResetRegisters(); ResetRegisters();
PPCTables::InitTables(); PPCTables::InitTables();
// Initialize both execution engines ... // Initialize both execution engines ...
Interpreter::Init(); Interpreter::Init();
jit.Init(); jit.Init();
// ... but start as interpreter by default. // ... but start as interpreter by default.
mode = MODE_INTERPRETER; mode = MODE_INTERPRETER;
state = CPU_STEPPING; state = CPU_STEPPING;
}
void Shutdown()
{
// Shutdown both execution engines. Doesn't matter which one is active.
jit.Shutdown();
Interpreter::Shutdown();
}
void SetMode(CoreMode new_mode)
{
if (new_mode == mode)
return; // We don't need to do anything.
mode = new_mode;
switch (mode)
{
case MODE_INTERPRETER: // Switching from JIT to interpreter
jit.ClearCache(); // Remove all those nasty JIT patches.
break;
case MODE_JIT: // Switching from interpreter to JIT.
// Don't really need to do much. It'll work, the cache will refill itself.
break;
}
}
void SingleStep()
{
switch (mode)
{
case MODE_INTERPRETER:
Interpreter::SingleStep();
break;
case MODE_JIT:
jit.SingleStep();
break;
}
}
void RunLoop()
{
state = CPU_RUNNING;
switch (mode)
{
case MODE_INTERPRETER:
Interpreter::Run();
break;
case MODE_JIT:
jit.Run();
break;
}
Host_UpdateDisasmDialog();
}
CPUState GetState()
{
return state;
}
volatile CPUState *GetStatePtr()
{
return &state;
}
void Start()
{
state = CPU_RUNNING;
Host_UpdateDisasmDialog();
}
void Pause()
{
state = CPU_STEPPING;
Host_UpdateDisasmDialog();
}
void Stop()
{
state = CPU_POWERDOWN;
Host_UpdateDisasmDialog();
}
void CheckExceptions()
{
// This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
if (!ppcState.Exceptions)
return;
// TODO(ector):
// gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
// Investigate!
if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
{
//This happens a lot - Gamecube OS uses deferred FPU context switching
SRR0 = PC; // re-execute the instruction
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000800;
INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
SRR1 |= 0x02; //recoverable
}
else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
{
SRR0 = NPC; // execute next instruction when we come back from handler
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000C00;
INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
SRR1 |= 0x02; //recoverable
}
else if (ppcState.Exceptions & EXCEPTION_DSI)
{
SRR0 = PC; // re-execute the instruction
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000300;
INFO_LOG(GEKKO, "EXCEPTION_DSI");
ppcState.Exceptions &= ~EXCEPTION_DSI;
//SRR1 |= 0x02; //make recoverable ?
}
else if (ppcState.Exceptions & EXCEPTION_ISI)
{
SRR0 = PC;
SRR1 = (MSR & 0x0780FF77) | 0x40000000;
NPC = 0x80000400;
INFO_LOG(GEKKO, "EXCEPTION_ISI");
ppcState.Exceptions &= ~EXCEPTION_ISI;
//SRR1 |= 0x02; //make recoverable ?
}
else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
{
//This never happens ATM
SRR0 = NPC;
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000600;
INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT");
ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;
//SRR1 |= 0x02; //make recoverable ?
} }
void Shutdown() // EXTERNAL INTTERUPT
else if (MSR & 0x0008000)
{ {
// Shutdown both execution engines. Doesn't matter which one is active. if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT)
jit.Shutdown();
Interpreter::Shutdown();
}
void SetMode(CoreMode new_mode)
{
if (new_mode == mode)
return; // We don't need to do anything.
mode = new_mode;
switch (mode)
{ {
case MODE_INTERPRETER: // Switching from JIT to interpreter // Pokemon gets this "too early", it hasn't a handler yet
jit.ClearCache(); // Remove all those nasty JIT patches. ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT; // clear exception
break;
case MODE_JIT: // Switching from interpreter to JIT.
// Don't really need to do much. It'll work, the cache will refill itself.
break;
}
}
void SingleStep()
{
switch (mode)
{
case MODE_INTERPRETER:
Interpreter::SingleStep();
break;
case MODE_JIT:
jit.SingleStep();
break;
}
}
void RunLoop()
{
state = CPU_RUNNING;
switch (mode)
{
case MODE_INTERPRETER:
Interpreter::Run();
break;
case MODE_JIT:
jit.Run();
break;
}
Host_UpdateDisasmDialog();
}
CPUState GetState()
{
return state;
}
volatile CPUState *GetStatePtr()
{
return &state;
}
void Start()
{
state = CPU_RUNNING;
Host_UpdateDisasmDialog();
}
void Pause()
{
state = CPU_STEPPING;
Host_UpdateDisasmDialog();
}
void Stop()
{
state = CPU_POWERDOWN;
Host_UpdateDisasmDialog();
}
void CheckExceptions()
{
// This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
if (!ppcState.Exceptions)
return;
// TODO(ector):
// gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
// Investigate!
if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
{
//This happens a lot - Gamecube OS uses deferred FPU context switching
SRR0 = PC; // re-execute the instruction
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000800;
INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
SRR1 |= 0x02; //recoverable
}
else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
{
SRR0 = NPC; // execute next instruction when we come back from handler
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000C00;
INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
SRR1 |= 0x02; //recoverable
}
else if (ppcState.Exceptions & EXCEPTION_DSI)
{
SRR0 = PC; // re-execute the instruction
SRR1 = MSR & 0x0780FF77;
NPC = 0x80000300;
INFO_LOG(GEKKO, "EXCEPTION_DSI");
ppcState.Exceptions &= ~EXCEPTION_DSI;
//SRR1 |= 0x02; //make recoverable ?
}
else if (ppcState.Exceptions & EXCEPTION_ISI)
{
SRR0 = PC;
SRR1 = (MSR & 0x0780FF77) | 0x40000000;
NPC = 0x80000400;
INFO_LOG(GEKKO, "EXCEPTION_ISI");
ppcState.Exceptions &= ~EXCEPTION_ISI;
//SRR1 |= 0x02; //make recoverable ?
}
else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
{
//This never happens ATM
SRR0 = NPC; SRR0 = NPC;
SRR1 = MSR & 0x0780FF77; NPC = 0x80000500;
NPC = 0x80000600; SRR1 = (MSR & 0x0780FF77);
INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT"); INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT");
ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;
//SRR1 |= 0x02; //make recoverable ? SRR1 |= 0x02; //set it to recoverable
_dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???"); // unrecoverable exception !?!
} }
else if (ppcState.Exceptions & EXCEPTION_DECREMENTER)
// EXTERNAL INTTERUPT
else if (MSR & 0x0008000)
{ {
if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT) SRR0 = NPC;
{ SRR1 = MSR & 0x0000FF77;
// Pokemon gets this "too early", it hasn't a handler yet NPC = 0x80000900;
ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT; // clear exception
SRR0 = NPC; ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
NPC = 0x80000500;
SRR1 = (MSR & 0x0780FF77);
INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT"); INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
SRR1 |= 0x02; //make recoverable
SRR1 |= 0x02; //set it to recoverable }
_dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???"); // unrecoverable exception !?! else
} {
else if (ppcState.Exceptions & EXCEPTION_DECREMENTER) _dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
{ ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
SRR0 = NPC;
SRR1 = MSR & 0x0000FF77;
NPC = 0x80000900;
ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
SRR1 |= 0x02; //make recoverable
}
else
{
_dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
}
} }
MSR &= ~0x0008000; // clear EE-bit so interrupts aren't possible anymore
} }
MSR &= ~0x0008000; // clear EE-bit so interrupts aren't possible anymore
}
void OnIdle(u32 _uThreadAddr) void OnIdle(u32 _uThreadAddr)
{ {
u32 nextThread = Memory::Read_U32(_uThreadAddr); u32 nextThread = Memory::Read_U32(_uThreadAddr);
//do idle skipping //do idle skipping
if (nextThread == 0) if (nextThread == 0)
CoreTiming::Idle(); CoreTiming::Idle();
} }
} // namespace } // namespace

View File

@ -94,13 +94,14 @@ EVT_MENU(IDM_DELETEGCM, CGameListCtrl::OnDeleteGCM)
END_EVENT_TABLE() END_EVENT_TABLE()
CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style) CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
: wxListCtrl(parent, id, pos, size, style) // | wxLC_VIRTUAL) : wxListCtrl(parent, id, pos, size, style)
{ {
} }
CGameListCtrl::~CGameListCtrl() CGameListCtrl::~CGameListCtrl()
{ {
if (m_imageListSmall) delete m_imageListSmall; if (m_imageListSmall)
delete m_imageListSmall;
} }
void CGameListCtrl::InitBitmaps() void CGameListCtrl::InitBitmaps()
@ -234,6 +235,11 @@ wxString NiceSizeFormat(s64 _size)
void CGameListCtrl::InsertItemInReportView(long _Index) void CGameListCtrl::InsertItemInReportView(long _Index)
{ {
// When using wxListCtrl, there is no hope of per-column text colors.
// But for reference, here are the old colors that were used: (BGR)
// title: 0xFF0000
// company: 0x007030
GameListItem& rISOFile = m_ISOFiles[_Index]; GameListItem& rISOFile = m_ISOFiles[_Index];
int ImageIndex = -1; int ImageIndex = -1;
@ -246,34 +252,26 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
// Insert a row with the banner image // Insert a row with the banner image
long ItemIndex = InsertItem(_Index, wxEmptyString, ImageIndex); long ItemIndex = InsertItem(_Index, wxEmptyString, ImageIndex);
// Background color
SetBackgroundColor();
// When using wxListCtrl, there is no hope of per-column text colors.
// But for reference, here are the old colors that were used: (BGR)
// title: 0xFF0000
// company: 0x007030
switch (rISOFile.GetCountry()) switch (rISOFile.GetCountry())
{ {
case DiscIO::IVolume::COUNTRY_JAP: case DiscIO::IVolume::COUNTRY_JAP:
{ {
// keep these codes, when we move to wx unicode... // keep these codes, when we move to wx unicode...
//wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS)); //wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
//wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT)); //wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT));
//SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1); //SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1);
//SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1); //SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1);
wxString name; wxString name;
if (CopySJISToString(name, rISOFile.GetName(0).c_str())) if (CopySJISToString(name, rISOFile.GetName(0).c_str()))
{ {
SetItem(_Index, COLUMN_TITLE, name, -1); SetItem(_Index, COLUMN_TITLE, name, -1);
} }
wxString description; wxString description;
if (CopySJISToString(description, rISOFile.GetDescription(0).c_str())) if (CopySJISToString(description, rISOFile.GetDescription(0).c_str()))
{ {
SetItem(_Index, COLUMN_NOTES, description, -1); SetItem(_Index, COLUMN_NOTES, description, -1);
} }
} }
break; break;
case DiscIO::IVolume::COUNTRY_USA: case DiscIO::IVolume::COUNTRY_USA:
@ -344,19 +342,10 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
} }
// Country // Country
{ SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);
wxListItem item;
item.m_itemId = ItemIndex;
item.SetColumn(COLUMN_COUNTRY);
DiscIO::IVolume::ECountry Country = rISOFile.GetCountry();
if (size_t(Country) < m_FlagImageIndex.size()) // Background color
{ SetBackgroundColor();
item.SetImage(m_FlagImageIndex[rISOFile.GetCountry()]);
}
SetItem(item);
}
// Item data // Item data
SetItemData(_Index, ItemIndex); SetItemData(_Index, ItemIndex);

View File

@ -152,6 +152,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxCore28", "..\Externals\wx
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioCommon", "Core\AudioCommon\AudioCommon.vcproj", "{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioCommon", "Core\AudioCommon\AudioCommon.vcproj", "{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_DSP_LLE_Test", "Plugins\Plugin_DSP_LLE-testing\Plugin_DSP_LLE_Test.vcproj", "{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
ProjectSection(ProjectDependencies) = postProject
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6} = {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}
{C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
EndProjectSection
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
@ -504,17 +510,27 @@ Global
{11F55366-12EC-4C44-A8CB-1D4E315D61ED}.Release|x64.Build.0 = Release|x64 {11F55366-12EC-4C44-A8CB-1D4E315D61ED}.Release|x64.Build.0 = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.ActiveCfg = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.ActiveCfg = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.Build.0 = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.Build.0 = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.Build.0 = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.ActiveCfg = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.ActiveCfg = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.Build.0 = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.Build.0 = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.Build.0 = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.ActiveCfg = Release|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.ActiveCfg = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.Build.0 = Release|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.Build.0 = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.ActiveCfg = Release|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.ActiveCfg = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.Build.0 = Release|Win32 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.Build.0 = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.ActiveCfg = Release|x64 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.ActiveCfg = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.Build.0 = Release|x64 {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.Build.0 = Release|x64
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|Win32.ActiveCfg = Debug|Win32
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|x64.ActiveCfg = Debug|x64
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|Win32.ActiveCfg = DebugFast|Win32
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|x64.ActiveCfg = DebugFast|x64
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|Win32.ActiveCfg = Release|Win32
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|x64.ActiveCfg = Release|x64
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|Win32.ActiveCfg = Release|Win32
{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -78,7 +78,7 @@
SubSystem="2" SubSystem="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
@ -163,7 +163,7 @@
SubSystem="2" SubSystem="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="17" TargetMachine="17"
/> />
<Tool <Tool
@ -252,7 +252,7 @@
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
@ -341,7 +341,7 @@
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="17" TargetMachine="17"
/> />
<Tool <Tool
@ -430,7 +430,7 @@
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
@ -519,7 +519,7 @@
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"
DataExecutionPrevention="0" DataExecutionPrevention="0"
ImportLibrary="$(OutDir)/DSP_HLE.lib" ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="17" TargetMachine="17"
/> />
<Tool <Tool

View File

@ -2,8 +2,8 @@
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="Plugin_DSP_LLE-testing" Name="Plugin_DSP_LLE_Test"
ProjectGUID="{C60D0E7A-ED05-4C67-9EE7-3A6C0D7801C8}" ProjectGUID="{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
RootNamespace="Plugin_DSP_LLE" RootNamespace="Plugin_DSP_LLE"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
@ -45,7 +45,7 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -69,8 +69,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLED.dll" OutputFile="../../../Binary/Win32/Plugins/$(ProjectName)D.dll"
LinkIncremental="2" LinkIncremental="2"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@ -130,7 +131,7 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
MinimalRebuild="false" MinimalRebuild="false"
BasicRuntimeChecks="0" BasicRuntimeChecks="0"
@ -154,8 +155,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLED.dll" OutputFile="../../../Binary/x64/Plugins/$(ProjectName)D.dll"
LinkIncremental="2" LinkIncremental="2"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
AssemblyDebug="1" AssemblyDebug="1"
@ -218,7 +220,7 @@
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
OmitFramePointers="true" OmitFramePointers="true"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableEnhancedInstructionSet="2" EnableEnhancedInstructionSet="2"
@ -241,8 +243,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLE.dll" OutputFile="../../../Binary/Win32/Plugins/$(ProjectName).dll"
LinkIncremental="1" LinkIncremental="1"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@ -308,7 +311,7 @@
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
OmitFramePointers="true" OmitFramePointers="true"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
@ -330,8 +333,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLE.dll" OutputFile="../../../Binary/x64/Plugins/$(ProjectName).dll"
LinkIncremental="1" LinkIncremental="1"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@ -395,7 +399,7 @@
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
OmitFramePointers="true" OmitFramePointers="true"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableEnhancedInstructionSet="2" EnableEnhancedInstructionSet="2"
@ -418,8 +422,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/Win32/Plugins/Plugin_DSP_LLEDF.dll" OutputFile="../../../Binary/Win32/Plugins/$(ProjectName)DF.dll"
LinkIncremental="1" LinkIncremental="1"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@ -485,7 +490,7 @@
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
OmitFramePointers="true" OmitFramePointers="true"
AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs" AdditionalIncludeDirectories="../../Core/Common/Src;../../../Externals/WTL80;../../PluginSpecs;../../Core/AudioCommon/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_HLE_EXPORTS;DEBUGFAST;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
@ -507,8 +512,9 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="dxguid.lib dsound.lib winmm.lib" AdditionalDependencies="dxguid.lib dsound.lib winmm.lib"
OutputFile="../../../Binary/x64/Plugins/Plugin_DSP_LLEDF.dll" OutputFile="../../../Binary/x64/Plugins/$(ProjectName)DF.dll"
LinkIncremental="1" LinkIncremental="1"
AdditionalLibraryDirectories="..\..\AudioCommon\$(PlatformName)\$(ConfigurationName)"
GenerateManifest="false" GenerateManifest="false"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb"
@ -727,18 +733,6 @@
> >
</File> </File>
</Filter> </Filter>
<Filter
Name="PCHW"
>
<File
RelativePath=".\Src\Mixer.cpp"
>
</File>
<File
RelativePath=".\Src\Mixer.h"
>
</File>
</Filter>
<Filter <Filter
Name="HLE" Name="HLE"
> >
@ -771,6 +765,18 @@
> >
</File> </File>
</Filter> </Filter>
<Filter
Name="PCHW"
>
<File
RelativePath=".\Src\Mixer.cpp"
>
</File>
<File
RelativePath=".\Src\Mixer.h"
>
</File>
</Filter>
<File <File
RelativePath=".\Src\Globals.cpp" RelativePath=".\Src\Globals.cpp"
> >