mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Change some project settings. Reorganize the symbol database code, step 1/2.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@292 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
+147
-144
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Version="8.00"
|
||||
Name="Bochs_disasm"
|
||||
ProjectGUID="{29C2ABC1-ADA5-42CD-A5FC-96022D52A510}"
|
||||
RootNamespace="Bochs_disasm"
|
||||
@@ -49,7 +49,7 @@
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
@@ -82,132 +82,6 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
WholeProgramOptimization="false"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
WholeProgramOptimization="false"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -240,6 +114,70 @@
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
WholeProgramOptimization="false"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
@@ -305,6 +243,70 @@
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
WholeProgramOptimization="false"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
@@ -370,6 +372,7 @@
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
@@ -457,22 +460,6 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
@@ -481,6 +468,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
@@ -489,6 +484,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|x64"
|
||||
>
|
||||
|
||||
+1826
-1826
File diff suppressed because it is too large
Load Diff
+5661
-5661
File diff suppressed because it is too large
Load Diff
Vendored
+133
-131
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Version="8.00"
|
||||
Name="zlib"
|
||||
ProjectGUID="{3E03C179-8251-46E4-81F4-466F114BAC63}"
|
||||
RootNamespace="zlib"
|
||||
@@ -48,6 +48,7 @@
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
@@ -81,134 +82,6 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -240,6 +113,7 @@
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
@@ -272,6 +146,70 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -303,7 +241,7 @@
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="2"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
@@ -336,6 +274,70 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -367,7 +369,7 @@
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="2"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
|
||||
+169
-162
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Version="8.00"
|
||||
Name="Common"
|
||||
ProjectGUID="{C573CAF7-EE6A-458E-8049-16C0BF34C2E9}"
|
||||
RootNamespace="Common"
|
||||
@@ -54,7 +54,7 @@
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="4"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -88,149 +88,6 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="$(ProjectDir)SubWCRev.exe $(SolutionDir) $(ProjectDir)\src\svnrev_template.h $(ProjectDir)\src\svnrev.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
AdditionalIncludeDirectories="../../PluginSpecs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="true"
|
||||
EnableEnhancedInstructionSet="2"
|
||||
FloatingPointModel="2"
|
||||
RuntimeTypeInfo="false"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="wsock32.lib"
|
||||
OutputFile="$(OutDir)/Common.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="$(ProjectDir)SubWCRev.exe $(SolutionDir) $(ProjectDir)\src\svnrev_template.h $(ProjectDir)\src\svnrev.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="../../PluginSpecs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="wsock32.lib"
|
||||
OutputFile="$(OutDir)/Common.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -266,10 +123,86 @@
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="wsock32.lib"
|
||||
OutputFile="$(OutDir)/Common.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="$(ProjectDir)SubWCRev.exe $(SolutionDir) $(ProjectDir)\src\svnrev_template.h $(ProjectDir)\src\svnrev.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
AdditionalIncludeDirectories="../../PluginSpecs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
EnableEnhancedInstructionSet="2"
|
||||
FloatingPointModel="0"
|
||||
RuntimeTypeInfo="false"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -339,11 +272,12 @@
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
EnableEnhancedInstructionSet="0"
|
||||
FloatingPointModel="2"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -377,6 +311,77 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="$(ProjectDir)SubWCRev.exe $(SolutionDir) $(ProjectDir)\src\svnrev_template.h $(ProjectDir)\src\svnrev.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="../../PluginSpecs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
EnableEnhancedInstructionSet="2"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="wsock32.lib"
|
||||
OutputFile="$(OutDir)/Common.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -409,10 +414,12 @@
|
||||
AdditionalIncludeDirectories="../../PluginSpecs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0"
|
||||
RuntimeLibrary="0"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -593,22 +600,6 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
@@ -617,6 +608,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
@@ -625,6 +624,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|x64"
|
||||
>
|
||||
|
||||
+180
-160
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Version="8.00"
|
||||
Name="Core"
|
||||
ProjectGUID="{F0B874CB-4476-4199-9315-8343D05AE684}"
|
||||
RootNamespace="Core"
|
||||
@@ -54,7 +54,7 @@
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="4"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -87,6 +87,76 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Common\Src;..\DiscIO\Src;..\..\PluginSpecs;..\Debugger\Src;..\..\..\Externals\Bochs_disasm"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LOGGING;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
BufferSecurityCheck="true"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/Core.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -128,148 +198,7 @@
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/Core.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
EnableFiberSafeOptimizations="false"
|
||||
AdditionalIncludeDirectories="..\Common\Src;..\DiscIO\Src;..\..\PluginSpecs;..\Debugger\Src;..\..\..\Externals\Bochs_disasm"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;LOGGING;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/Core.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Common\Src;..\DiscIO\Src;..\..\PluginSpecs;..\Debugger\Src;..\..\..\Externals\Bochs_disasm"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LOGGING;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
BufferSecurityCheck="true"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -345,6 +274,7 @@
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="0"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -377,6 +307,79 @@
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|Win32"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="1"
|
||||
OmitFramePointers="true"
|
||||
EnableFiberSafeOptimizations="false"
|
||||
AdditionalIncludeDirectories="..\Common\Src;..\DiscIO\Src;..\..\PluginSpecs;..\Debugger\Src;..\..\..\Externals\Bochs_disasm"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;LOGGING;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
EnableEnhancedInstructionSet="2"
|
||||
FloatingPointModel="0"
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/Core.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="DebugFast|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
@@ -417,6 +420,7 @@
|
||||
UsePrecompiledHeader="2"
|
||||
AssemblerListingLocation="$(IntDir)\"
|
||||
WarningLevel="3"
|
||||
WarnAsError="false"
|
||||
DebugInformationFormat="3"
|
||||
ForcedIncludeFiles="stdafx.h"
|
||||
/>
|
||||
@@ -792,6 +796,14 @@
|
||||
<Filter
|
||||
Name="PowerPC"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Src\PowerPC\FunctionDB.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\PowerPC\FunctionDB.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\PowerPC\Gekko.h"
|
||||
>
|
||||
@@ -824,6 +836,14 @@
|
||||
RelativePath=".\Src\PowerPC\PPCTables.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\PowerPC\SignatureDB.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\PowerPC\SignatureDB.h"
|
||||
>
|
||||
</File>
|
||||
<Filter
|
||||
Name="Interpreter"
|
||||
>
|
||||
@@ -1220,22 +1240,6 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
@@ -1244,6 +1248,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
@@ -1252,6 +1264,14 @@
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="DebugFast|x64"
|
||||
>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
#include "../Host.h"
|
||||
#include "../VolumeHandler.h"
|
||||
#include "../PatchEngine.h"
|
||||
|
||||
#include "../Host.h"
|
||||
#include "../PowerPC/SignatureDB.h"
|
||||
#include "../PowerPC/FunctionDB.h"
|
||||
|
||||
#include "../MemTools.h"
|
||||
#include "MappedFile.h"
|
||||
@@ -376,7 +376,6 @@ bool CBoot::EmulatedBIOS_Wii(bool _bDebug)
|
||||
void CBoot::UpdateDebugger_MapLoaded(const char *_gameID)
|
||||
{
|
||||
HLE::PatchFunctions();
|
||||
Debugger::AnalyzeBackwards();
|
||||
Host_NotifyMapLoaded();
|
||||
Host_UpdateMemoryView();
|
||||
}
|
||||
@@ -412,6 +411,7 @@ bool CBoot::LoadMapFromFilename(const std::string &_rFilename, const char *_game
|
||||
}
|
||||
else
|
||||
{
|
||||
Debugger::PushMapToFunctionDB(&g_funcDB);
|
||||
success = true;
|
||||
}
|
||||
|
||||
@@ -502,19 +502,6 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara)
|
||||
{
|
||||
HLE::PatchFunctions();
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(_DEBUG) || defined(DEBUGFAST)
|
||||
//PPCAnalyst::FindFunctions(0x81300000,0x81400000);
|
||||
#if 0
|
||||
PPCAnalyst::FindFunctions(0x80003100,0x80200000);
|
||||
PPCAnalyst::LoadFuncDB("data/totaldb.dsy");
|
||||
PPCAnalyst::UseFuncDB();
|
||||
#endif
|
||||
#endif
|
||||
Debugger::GetFromAnalyzer();
|
||||
UpdateDebugger_MapLoaded();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -525,14 +512,7 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara)
|
||||
CDolLoader dolLoader(_StartupPara.m_strFilename.c_str());
|
||||
PC = dolLoader.GetEntryPoint();
|
||||
#ifdef _DEBUG
|
||||
if (!LoadMapFromFilename(_StartupPara.m_strFilename))
|
||||
{
|
||||
PPCAnalyst::FindFunctions(0x80003100,0x80400000);
|
||||
PPCAnalyst::LoadFuncDB("data/totaldb.dsy");
|
||||
PPCAnalyst::UseFuncDB();
|
||||
Debugger::GetFromAnalyzer();
|
||||
UpdateDebugger_MapLoaded();
|
||||
}
|
||||
LoadMapFromFilename(_StartupPara.m_strFilename);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
@@ -592,14 +572,7 @@ bool CBoot::BootUp(const SCoreStartupParameter& _StartupPara)
|
||||
DVDInterface::SetDiscInside(false);
|
||||
if (Load_BIOS(_StartupPara.m_strBios))
|
||||
{
|
||||
if (!LoadMapFromFilename(_StartupPara.m_strFilename))
|
||||
{
|
||||
PPCAnalyst::FindFunctions(0x81300000,0x81400000);
|
||||
PPCAnalyst::LoadFuncDB("data/totaldb.dsy");
|
||||
PPCAnalyst::UseFuncDB();
|
||||
Debugger::GetFromAnalyzer();
|
||||
UpdateDebugger_MapLoaded();
|
||||
}
|
||||
LoadMapFromFilename(_StartupPara.m_strFilename);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -244,8 +244,7 @@ bool ElfReader::LoadSymbols()
|
||||
continue;
|
||||
}
|
||||
//host->AddSymbol(name, value, size, symtype);
|
||||
Debugger::AddSymbol(
|
||||
Debugger::CSymbol(value, size, symtype, name));
|
||||
Debugger::AddSymbol(Debugger::Symbol(value, size, symtype, name));
|
||||
|
||||
hasSymbols = true;
|
||||
//...
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "CoreTiming.h"
|
||||
#include "Core.h"
|
||||
#include "PowerPC/Jit64/JitCache.h"
|
||||
#include "PowerPC/FunctionDB.h"
|
||||
#include "PowerPCDisasm.h"
|
||||
|
||||
#define CASE(x) else if (memcmp(cmd, x, 4*sizeof(TCHAR))==0)
|
||||
@@ -66,11 +67,6 @@ void Console_Submit(const char *cmd)
|
||||
Core::StartTrace(true);
|
||||
LOG(CONSOLE, "write tracing started.");
|
||||
}
|
||||
CASE("scan")
|
||||
{
|
||||
//LOG(CONSOLE,"test1");
|
||||
PPCAnalyst::FindFunctions(0x80003100, 0x80400000);
|
||||
}
|
||||
CASE("trans")
|
||||
{
|
||||
TCHAR temp[256];
|
||||
@@ -97,7 +93,7 @@ void Console_Submit(const char *cmd)
|
||||
sscanf(cmd, "%s %08x", temp, &addr);
|
||||
if (addr!=0)
|
||||
{
|
||||
PPCAnalyst::PrintCalls(addr);
|
||||
g_funcDB.PrintCalls(addr);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,7 +107,7 @@ void Console_Submit(const char *cmd)
|
||||
sscanf(cmd, "%s %08x", temp, &addr);
|
||||
if (addr!=0)
|
||||
{
|
||||
PPCAnalyst::PrintCallers(addr);
|
||||
g_funcDB.PrintCallers(addr);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -163,7 +159,7 @@ void Console_Submit(const char *cmd)
|
||||
}
|
||||
CASE("lisd")
|
||||
{
|
||||
PPCAnalyst::ListDB();
|
||||
// PPCAnalyst::ListDB();
|
||||
}
|
||||
CASE("ipro")
|
||||
{
|
||||
@@ -171,7 +167,7 @@ void Console_Submit(const char *cmd)
|
||||
}
|
||||
CASE("lisf")
|
||||
{
|
||||
PPCAnalyst::ListFunctions();
|
||||
g_funcDB.List();
|
||||
}
|
||||
else {
|
||||
printf("blach\n");
|
||||
|
||||
@@ -157,7 +157,7 @@ void CBreakPoints::AddAutoBreakpoints()
|
||||
XSymbolIndex idx = FindSymbol(bps[i]);
|
||||
if (idx != 0)
|
||||
{
|
||||
const CSymbol &symbol = GetSymbol(idx);
|
||||
const Symbol &symbol = GetSymbol(idx);
|
||||
AddBreakPoint(symbol.vaddress, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,14 +22,15 @@
|
||||
#include "../HW/Memmap.h"
|
||||
#include "../PowerPC/PowerPC.h"
|
||||
#include "../PowerPC/PPCAnalyst.h"
|
||||
#include "../PowerPC/FunctionDB.h"
|
||||
#include "../../../../Externals/Bochs_disasm/PowerPCDisasm.h"
|
||||
|
||||
namespace Debugger
|
||||
{
|
||||
|
||||
static XVectorSymbol m_VectorSymbols;
|
||||
static XVectorSymbol g_Symbols;
|
||||
|
||||
CSymbol::CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) :
|
||||
Symbol::Symbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName) :
|
||||
vaddress(_Address),
|
||||
size(_Size),
|
||||
runCount(0),
|
||||
@@ -44,57 +45,57 @@ CSymbol::CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName)
|
||||
}
|
||||
}
|
||||
|
||||
CSymbol::~CSymbol()
|
||||
Symbol::~Symbol()
|
||||
{
|
||||
m_vecBackwardLinks.clear();
|
||||
}
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_VectorSymbols.clear();
|
||||
g_Symbols.clear();
|
||||
|
||||
// 0 is an invalid entry
|
||||
CSymbol Invalid(static_cast<u32>(-1), 0, ST_FUNCTION, "Invalid");
|
||||
m_VectorSymbols.push_back(Invalid);
|
||||
Symbol Invalid(static_cast<u32>(-1), 0, ST_FUNCTION, "Invalid");
|
||||
g_Symbols.push_back(Invalid);
|
||||
}
|
||||
|
||||
XSymbolIndex AddSymbol(const CSymbol& _rSymbolMapEntry)
|
||||
XSymbolIndex AddSymbol(const Symbol& symbol)
|
||||
{
|
||||
XSymbolIndex old = 0;
|
||||
if ((old = FindSymbol(_rSymbolMapEntry.GetName().c_str())) != 0)
|
||||
XSymbolIndex old = FindSymbol(symbol.GetName().c_str());
|
||||
if (old != 0)
|
||||
return old;
|
||||
m_VectorSymbols.push_back(_rSymbolMapEntry);
|
||||
return (XSymbolIndex)(m_VectorSymbols.size()-1);
|
||||
g_Symbols.push_back(symbol);
|
||||
return (XSymbolIndex)(g_Symbols.size() - 1);
|
||||
}
|
||||
|
||||
const CSymbol& GetSymbol(XSymbolIndex _Index)
|
||||
const Symbol& GetSymbol(XSymbolIndex _Index)
|
||||
{
|
||||
if (_Index < (XSymbolIndex)m_VectorSymbols.size())
|
||||
return m_VectorSymbols[_Index];
|
||||
if (_Index < (XSymbolIndex)g_Symbols.size())
|
||||
return g_Symbols[_Index];
|
||||
|
||||
PanicAlert("GetSymbol is called with an invalid index %i", _Index);
|
||||
return m_VectorSymbols[0];
|
||||
return g_Symbols[0];
|
||||
}
|
||||
|
||||
const XVectorSymbol& AccessSymbols()
|
||||
{
|
||||
return m_VectorSymbols;
|
||||
return g_Symbols;
|
||||
}
|
||||
|
||||
CSymbol& AccessSymbol(XSymbolIndex _Index)
|
||||
Symbol& AccessSymbol(XSymbolIndex _Index)
|
||||
{
|
||||
if (_Index < (XSymbolIndex)m_VectorSymbols.size())
|
||||
return m_VectorSymbols[_Index];
|
||||
if (_Index < (XSymbolIndex)g_Symbols.size())
|
||||
return g_Symbols[_Index];
|
||||
|
||||
PanicAlert("AccessSymbol is called with an invalid index %i", _Index);
|
||||
return m_VectorSymbols[0];
|
||||
return g_Symbols[0];
|
||||
}
|
||||
|
||||
XSymbolIndex FindSymbol(u32 _Address)
|
||||
{
|
||||
for (int i = 0; i < (int)m_VectorSymbols.size(); i++)
|
||||
for (int i = 0; i < (int)g_Symbols.size(); i++)
|
||||
{
|
||||
const CSymbol& rSymbol = m_VectorSymbols[i];
|
||||
const Symbol& rSymbol = g_Symbols[i];
|
||||
if ((_Address >= rSymbol.vaddress) && (_Address < rSymbol.vaddress + rSymbol.size))
|
||||
{
|
||||
return (XSymbolIndex)i;
|
||||
@@ -107,9 +108,9 @@ XSymbolIndex FindSymbol(u32 _Address)
|
||||
|
||||
XSymbolIndex FindSymbol(const char *name)
|
||||
{
|
||||
for (int i = 0; i < (int)m_VectorSymbols.size(); i++)
|
||||
for (int i = 0; i < (int)g_Symbols.size(); i++)
|
||||
{
|
||||
const CSymbol& rSymbol = m_VectorSymbols[i];
|
||||
const Symbol& rSymbol = g_Symbols[i];
|
||||
#ifdef _WIN32
|
||||
if (!_stricmp(rSymbol.GetName().c_str(), name))
|
||||
#else
|
||||
@@ -124,29 +125,21 @@ XSymbolIndex FindSymbol(const char *name)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// __________________________________________________________________________________________________
|
||||
// LoadSymbolMap
|
||||
//
|
||||
// This one can load both leftover map files on game discs (like Zelda), and mapfiles
|
||||
// produced by SaveSymbolMap below.
|
||||
bool LoadSymbolMap(const char *_szFilename)
|
||||
{
|
||||
Reset();
|
||||
|
||||
FILE *f = fopen(_szFilename, "r");
|
||||
if (!f)
|
||||
return false;
|
||||
//char temp[256];
|
||||
//fgets(temp,255,f); //.text section layout
|
||||
//fgets(temp,255,f); // Starting Virtual
|
||||
//fgets(temp,255,f); // address Size address
|
||||
//fgets(temp,255,f); // -----------------------
|
||||
|
||||
bool started=false;
|
||||
|
||||
bool started = false;
|
||||
while (!feof(f))
|
||||
{
|
||||
char line[512],temp[256];
|
||||
fgets(line,511,f);
|
||||
if (strlen(line)<4)
|
||||
fgets(line, 511, f);
|
||||
if (strlen(line) < 4)
|
||||
continue;
|
||||
|
||||
sscanf(line,"%s",temp);
|
||||
@@ -169,43 +162,33 @@ bool LoadSymbolMap(const char *_szFilename)
|
||||
|
||||
if (!started) continue;
|
||||
|
||||
// read out the entry
|
||||
u32 address, vaddress, size, unknown;
|
||||
char name[512];
|
||||
sscanf(line,"%08x %08x %08x %i %s",&address, &size, &vaddress, &unknown, name);
|
||||
sscanf(line, "%08x %08x %08x %i %s", &address, &size, &vaddress, &unknown, name);
|
||||
|
||||
char *namepos = strstr(line, name);
|
||||
const char *namepos = strstr(line, name);
|
||||
if (namepos != 0) //would be odd if not :P
|
||||
strcpy(name, namepos);
|
||||
name[strlen(name)-1] = 0;
|
||||
name[strlen(name) - 1] = 0;
|
||||
|
||||
// we want the function names only ....
|
||||
for (size_t i=0; i<strlen(name); i++)
|
||||
// we want the function names only .... TODO: or do we really? aren't we wasting information here?
|
||||
for (size_t i = 0; i < strlen(name); i++)
|
||||
{
|
||||
if (name[i] == ' ') name[i] = 0x00;
|
||||
if (name[i] == '(') name[i] = 0x00;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// check if this is a valid entry
|
||||
if (strcmp(name,".text")!=0 ||
|
||||
strcmp(name,".init")!=0 ||
|
||||
strlen(name) > 0)
|
||||
// Check if this is a valid entry.
|
||||
if (strcmp(name, ".text") != 0 || strcmp(name, ".init") != 0 || strlen(name) > 0)
|
||||
{
|
||||
AddSymbol(CSymbol(vaddress | 0x80000000, size, ST_FUNCTION, name));
|
||||
AddSymbol(Symbol(vaddress | 0x80000000, size, ST_FUNCTION, name));
|
||||
}
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
|
||||
// AnalyzeBackwards();
|
||||
return true;
|
||||
}
|
||||
|
||||
// __________________________________________________________________________________________________
|
||||
// SaveSymbolMap
|
||||
//
|
||||
void SaveSymbolMap(const char *_rFilename)
|
||||
{
|
||||
FILE *f = fopen(_rFilename,"w");
|
||||
@@ -213,50 +196,41 @@ void SaveSymbolMap(const char *_rFilename)
|
||||
return;
|
||||
|
||||
fprintf(f,".text\n");
|
||||
XVectorSymbol::const_iterator itr = m_VectorSymbols.begin();
|
||||
while(itr != m_VectorSymbols.end())
|
||||
XVectorSymbol::const_iterator itr = g_Symbols.begin();
|
||||
while (itr != g_Symbols.end())
|
||||
{
|
||||
const CSymbol& rSymbol = *itr;
|
||||
const Symbol& rSymbol = *itr;
|
||||
fprintf(f,"%08x %08x %08x %i %s\n",rSymbol.vaddress,rSymbol.size,rSymbol.vaddress,0,rSymbol.GetName().c_str());
|
||||
itr++;
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
|
||||
// =========================================================================================================
|
||||
|
||||
|
||||
void MergeMapWithDB(const char *beginning)
|
||||
void PushMapToFunctionDB(FunctionDB *func_db)
|
||||
{
|
||||
XVectorSymbol::const_iterator itr = m_VectorSymbols.begin();
|
||||
while(itr != m_VectorSymbols.end())
|
||||
XVectorSymbol::const_iterator itr = g_Symbols.begin();
|
||||
while (itr != g_Symbols.end())
|
||||
{
|
||||
const CSymbol& rSymbol = *itr;
|
||||
const Symbol& rSymbol = *itr;
|
||||
|
||||
if (rSymbol.type == ST_FUNCTION && rSymbol.size>=12)
|
||||
{
|
||||
func_db->AddKnownFunction(rSymbol.vaddress, rSymbol.size / 4, rSymbol.GetName().c_str());
|
||||
// if (!beginning || !strlen(beginning) || !(memcmp(beginning,rSymbol.name,strlen(beginning))))
|
||||
PPCAnalyst::AddToFuncDB(rSymbol.vaddress, rSymbol.size, rSymbol.GetName().c_str());
|
||||
// PPCAnalyst::AddToSignatureDB(rSymbol.vaddress, rSymbol.size, rSymbol.GetName().c_str());
|
||||
}
|
||||
|
||||
itr++;
|
||||
}
|
||||
|
||||
PPCAnalyst::UseFuncDB();
|
||||
|
||||
PPCAnalyst::SaveFuncDB("e:\\test.db");
|
||||
|
||||
// PanicAlert("MergeMapWiintthDB : %s", beginning);
|
||||
}
|
||||
|
||||
void GetFromAnalyzer()
|
||||
{
|
||||
struct local {static void AddSymb(PPCAnalyst::SFunction *f)
|
||||
struct local {static void AddSymb(SFunction *f)
|
||||
{
|
||||
Debugger::AddSymbol(CSymbol(f->address, f->size*4, ST_FUNCTION, f->name.c_str()));
|
||||
Debugger::AddSymbol(Symbol(f->address, f->size * 4, ST_FUNCTION, f->name.c_str()));
|
||||
}};
|
||||
PPCAnalyst::GetAllFuncs(local::AddSymb);
|
||||
g_funcDB.GetAllFuncs(local::AddSymb);
|
||||
}
|
||||
|
||||
const char *GetDescription(u32 _Address)
|
||||
@@ -268,100 +242,8 @@ const char *GetDescription(u32 _Address)
|
||||
return "(unk.)";
|
||||
}
|
||||
|
||||
//
|
||||
// --- shouldn't be here ---
|
||||
//
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
|
||||
void FillSymbolListBox(HWND listbox, ESymbolType symmask)
|
||||
{
|
||||
ShowWindow(listbox,SW_HIDE);
|
||||
ListBox_ResetContent(listbox);
|
||||
|
||||
int style = GetWindowLong(listbox,GWL_STYLE);
|
||||
|
||||
ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x80000000)"),0x80000000);
|
||||
ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x81FFFFFF)"),0x81FFFFFF);
|
||||
ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x80003100)"),0x80003100);
|
||||
ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x90000000)"),0x90000000);
|
||||
ListBox_SetItemData(listbox,ListBox_AddString(listbox,"_(0x93FFFFFF)"),0x93FFFFFF);
|
||||
|
||||
XVectorSymbol::const_iterator itr = m_VectorSymbols.begin();
|
||||
while (itr != m_VectorSymbols.end())
|
||||
{
|
||||
const CSymbol& rSymbol = *itr;
|
||||
if (rSymbol.type & symmask)
|
||||
{
|
||||
int index = ListBox_AddString(listbox,rSymbol.GetName().c_str());
|
||||
ListBox_SetItemData(listbox,index,rSymbol.vaddress);
|
||||
}
|
||||
itr++;
|
||||
}
|
||||
|
||||
ShowWindow(listbox,SW_SHOW);
|
||||
}
|
||||
|
||||
void FillListBoxBLinks(HWND listbox, XSymbolIndex _Index)
|
||||
{
|
||||
/* ListBox_ResetContent(listbox);
|
||||
|
||||
int style = GetWindowLong(listbox,GWL_STYLE);
|
||||
|
||||
CSymbol &e = entries[num];*/
|
||||
#ifdef BWLINKS
|
||||
for (int i=0; i<e.backwardLinks.size(); i++)
|
||||
{
|
||||
u32 addr = e.backwardLinks[i];
|
||||
int index = ListBox_AddString(listbox,GetSymbolName(GetSymbolNum(addr)));
|
||||
ListBox_SetItemData(listbox,index,addr);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void AnalyzeBackwards()
|
||||
{
|
||||
#ifndef BWLINKS
|
||||
return;
|
||||
#else
|
||||
for (int i=0; i<numEntries; i++)
|
||||
{
|
||||
u32 ptr = entries[i].vaddress;
|
||||
if (ptr && entries[i].type == ST_FUNCTION)
|
||||
{
|
||||
for (int a = 0; a<entries[i].size/4; a++)
|
||||
{
|
||||
u32 inst = Memory::ReadUnchecked_U32(ptr);
|
||||
switch (inst>>26)
|
||||
{
|
||||
case 18:
|
||||
if (LK) //LK
|
||||
{
|
||||
u32 addr;
|
||||
if(AA)
|
||||
addr = SignExt26(LI << 2);
|
||||
else
|
||||
addr = ptr + SignExt26(LI << 2);
|
||||
|
||||
int funNum = GetSymbolNum(addr);
|
||||
if (funNum>=0)
|
||||
entries[funNum].backwardLinks.push_back(ptr);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
ptr+=4;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool GetCallstack(std::vector<SCallstackEntry> &output)
|
||||
bool GetCallstack(std::vector<CallstackEntry> &output)
|
||||
{
|
||||
if (Core::GetState() == Core::CORE_UNINITIALIZED)
|
||||
return false;
|
||||
@@ -371,7 +253,7 @@ bool GetCallstack(std::vector<SCallstackEntry> &output)
|
||||
|
||||
u32 addr = Memory::ReadUnchecked_U32(PowerPC::ppcState.gpr[1]); // SP
|
||||
if (LR == 0) {
|
||||
SCallstackEntry entry;
|
||||
CallstackEntry entry;
|
||||
entry.Name = "(error: LR=0)";
|
||||
entry.vAddress = 0x0;
|
||||
output.push_back(entry);
|
||||
@@ -380,7 +262,7 @@ bool GetCallstack(std::vector<SCallstackEntry> &output)
|
||||
int count = 1;
|
||||
if (GetDescription(PowerPC::ppcState.pc) != GetDescription(LR))
|
||||
{
|
||||
SCallstackEntry entry;
|
||||
CallstackEntry entry;
|
||||
entry.Name = StringFromFormat(" * %s [ LR = %08x ]\n", Debugger::GetDescription(LR), LR);
|
||||
entry.vAddress = 0x0;
|
||||
count++;
|
||||
@@ -397,7 +279,7 @@ bool GetCallstack(std::vector<SCallstackEntry> &output)
|
||||
if (!str || strlen(str) == 0 || !strcmp(str, "Invalid"))
|
||||
str = "(unknown)";
|
||||
|
||||
SCallstackEntry entry;
|
||||
CallstackEntry entry;
|
||||
entry.Name = StringFromFormat(" * %s [ addr = %08x ]\n", str, func);
|
||||
entry.vAddress = func;
|
||||
output.push_back(entry);
|
||||
@@ -438,5 +320,4 @@ void PrintCallstack() {
|
||||
}
|
||||
}
|
||||
|
||||
} // end of namespace Debugger
|
||||
|
||||
} // end of namespace Debugger
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
class FunctionDB;
|
||||
|
||||
namespace Debugger
|
||||
{
|
||||
|
||||
@@ -32,7 +34,7 @@ enum ESymbolType
|
||||
ST_DATA = 2
|
||||
};
|
||||
|
||||
class CSymbol
|
||||
class Symbol
|
||||
{
|
||||
public:
|
||||
u32 vaddress;
|
||||
@@ -41,8 +43,8 @@ public:
|
||||
|
||||
ESymbolType type;
|
||||
|
||||
CSymbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName);
|
||||
~CSymbol();
|
||||
Symbol(u32 _Address, u32 _Size, ESymbolType _Type, const char *_rName);
|
||||
~Symbol();
|
||||
|
||||
const std::string &GetName() const { return m_strName; }
|
||||
void SetName(const char *_rName) { m_strName = _rName; }
|
||||
@@ -53,14 +55,14 @@ private:
|
||||
};
|
||||
|
||||
typedef int XSymbolIndex;
|
||||
typedef std::vector<CSymbol> XVectorSymbol;
|
||||
typedef std::vector<Symbol> XVectorSymbol;
|
||||
|
||||
void Reset();
|
||||
|
||||
XSymbolIndex AddSymbol(const CSymbol& _rSymbolMapEntry);
|
||||
XSymbolIndex AddSymbol(const Symbol& _rSymbolMapEntry);
|
||||
|
||||
const CSymbol& GetSymbol(XSymbolIndex _Index);
|
||||
CSymbol& AccessSymbol(XSymbolIndex _Index);
|
||||
const Symbol& GetSymbol(XSymbolIndex _Index);
|
||||
Symbol& AccessSymbol(XSymbolIndex _Index);
|
||||
|
||||
const XVectorSymbol& AccessSymbols();
|
||||
|
||||
@@ -69,22 +71,23 @@ XSymbolIndex FindSymbol(const char *name);
|
||||
|
||||
bool LoadSymbolMap(const char *_rFilename);
|
||||
void SaveSymbolMap(const char *_rFilename);
|
||||
void PrintCallstack();
|
||||
|
||||
const char *GetDescription(u32 _Address);
|
||||
|
||||
bool RenameSymbol(XSymbolIndex _Index, const char *_Name);
|
||||
void AnalyzeBackwards();
|
||||
void GetFromAnalyzer();
|
||||
void MergeMapWithDB(const char *beginning);
|
||||
|
||||
struct SCallstackEntry
|
||||
void GetFromAnalyzer();
|
||||
void PushMapToFunctionDB(FunctionDB *func_db);
|
||||
|
||||
struct CallstackEntry
|
||||
{
|
||||
std::string Name;
|
||||
u32 vAddress;
|
||||
};
|
||||
|
||||
bool GetCallstack(std::vector<SCallstackEntry> &output);
|
||||
bool GetCallstack(std::vector<CallstackEntry> &output);
|
||||
void PrintCallstack();
|
||||
|
||||
// TODO: move outta here
|
||||
#ifdef _WIN32
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ static const SPatch OSPatches[] =
|
||||
// Super Monkey Ball
|
||||
{ ".evil_vec_cosine", HLE_Misc::SMB_EvilVecCosine },
|
||||
{ ".evil_normalize", HLE_Misc::SMB_EvilNormalize },
|
||||
{ ".evil_vec_setlength", HLE_Misc::SMB_evil_vec_setlength },
|
||||
{ "PanicAlert", HLE_Misc::PanicAlert },
|
||||
{ ".sqrt_internal_needs_cr1", HLE_Misc::SMB_sqrt_internal },
|
||||
{ ".rsqrt_internal_needs_cr1", HLE_Misc::SMB_rsqrt_internal },
|
||||
@@ -101,13 +102,13 @@ void PatchFunctions()
|
||||
int SymbolIndex = Debugger::FindSymbol(OSPatches[i].m_szPatchName);
|
||||
if (SymbolIndex > 0)
|
||||
{
|
||||
const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(SymbolIndex);
|
||||
const Debugger::Symbol& symbol = Debugger::GetSymbol(SymbolIndex);
|
||||
u32 HLEPatchValue = (1 & 0x3f) << 26;
|
||||
for (size_t addr = rSymbol.vaddress; addr < rSymbol.vaddress + rSymbol.size; addr+=4) {
|
||||
for (size_t addr = symbol.vaddress; addr < symbol.vaddress + symbol.size; addr += 4) {
|
||||
Memory::Write_U32(HLEPatchValue | i, addr);
|
||||
}
|
||||
//PanicAlert("patched %s", OSPatches[i].m_szPatchName);
|
||||
LOG(HLE,"Patching %s %08x", OSPatches[i].m_szPatchName, rSymbol.vaddress);
|
||||
LOG(HLE,"Patching %s %08x", OSPatches[i].m_szPatchName, symbol.vaddress);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,12 +117,12 @@ void PatchFunctions()
|
||||
int SymbolIndex = Debugger::FindSymbol(OSBreakPoints[i].m_szPatchName);
|
||||
if (SymbolIndex != -1)
|
||||
{
|
||||
const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(SymbolIndex);
|
||||
CBreakPoints::AddBreakPoint(rSymbol.vaddress, false);
|
||||
const Debugger::Symbol& symbol = Debugger::GetSymbol(SymbolIndex);
|
||||
CBreakPoints::AddBreakPoint(symbol.vaddress, false);
|
||||
|
||||
LOG(HLE,"Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, rSymbol.vaddress);
|
||||
LOG(HLE,"Adding BP to %s %08x", OSBreakPoints[i].m_szPatchName, symbol.vaddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// CBreakPoints::AddBreakPoint(0x8000D3D0, false);
|
||||
}
|
||||
|
||||
@@ -111,61 +111,39 @@ void SMB_EvilNormalize()
|
||||
NPC = LR;
|
||||
}
|
||||
|
||||
void SMB_evil_vec_setlength()
|
||||
{
|
||||
u32 r3 = GPR(3);
|
||||
u32 r4 = GPR(4);
|
||||
float x = F(r3);
|
||||
float y = F(r3 + 4);
|
||||
float z = F(r3 + 8);
|
||||
float inv_len = (float)(rPS0(1) / sqrt(x*x + y*y + z*z));
|
||||
x *= inv_len;
|
||||
y *= inv_len;
|
||||
z *= inv_len;
|
||||
FW(r4, x);
|
||||
FW(r4 + 4, y);
|
||||
FW(r4 + 8, z);
|
||||
NPC = LR;
|
||||
}
|
||||
|
||||
|
||||
void SMB_sqrt_internal()
|
||||
{
|
||||
/*
|
||||
.sqrt_internal_needs_cr1
|
||||
800070ec: bgt+ cr1,0x80007090
|
||||
800070f0: blt+ cr1,0x80007088
|
||||
800070f4: b 0x80007080
|
||||
800070f8: frsp f0,f1
|
||||
800070fc: lis r4, 0xE000
|
||||
80007100: mcrfs cr1, cr4
|
||||
80007104: mcrfs cr0, cr3
|
||||
80007108: lfs f2, 0x01A0 (r4)
|
||||
8000710c: bso+ cr1,0x800070EC
|
||||
80007110: bso+ 0x80007088
|
||||
80007114: ble+ cr1,0x80007088
|
||||
80007118: mflr r3
|
||||
8000711c: bl 0x800070B0
|
||||
80007120: mtlr r3
|
||||
80007124: fmuls f1,f1,f0
|
||||
80007128: blr
|
||||
*/
|
||||
double f = sqrt(rPS0(1));
|
||||
rPS0(0) = rPS0(1);
|
||||
rPS1(0) = rPS0(1);
|
||||
rPS0(1) = f;
|
||||
rPS1(1) = f;
|
||||
rPS0(0) = f;
|
||||
rPS1(0) = f;
|
||||
NPC = LR;
|
||||
}
|
||||
|
||||
void SMB_rsqrt_internal()
|
||||
{
|
||||
/*
|
||||
.rsqrt_internal_needs_cr1
|
||||
8000712c: bgt+ cr1,0x80007088
|
||||
80007130: blt+ cr1,0x80007090
|
||||
80007134: b 0x80007080
|
||||
80007138: frsp f1,f1
|
||||
8000713c: lis r4, 0xE000
|
||||
80007140: mcrfs cr1, cr4
|
||||
80007144: mcrfs cr0, cr3
|
||||
80007148: lfs f2, 0x01A0 (r4)
|
||||
8000714c: bso+ cr1,0x8000712C
|
||||
80007150: bso+ 0x80007090
|
||||
80007154: ble+ cr1,0x80007090
|
||||
80007158: mflr r3
|
||||
8000715c: bl 0x800070B0
|
||||
80007160: mtlr r3
|
||||
80007164: frsp f1,f1
|
||||
80007168: blr
|
||||
*/
|
||||
double f = 1.0 / sqrt(rPS0(1));
|
||||
rPS0(1) = f;
|
||||
rPS1(1) = f;
|
||||
rPS0(0) = f;
|
||||
rPS1(0) = f;
|
||||
NPC = LR;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace HLE_Misc
|
||||
void SMB_sqrt_internal();
|
||||
void SMB_rsqrt_internal();
|
||||
void SMB_atan2();
|
||||
void SMB_evil_vec_setlength();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -178,12 +178,12 @@ void LogManager::Log(LogTypes::LOG_TYPE _type, const char *_fmt, ...)
|
||||
#endif
|
||||
if (Index > 0)
|
||||
{
|
||||
const Debugger::CSymbol& rSymbol = Debugger::GetSymbol(Index);
|
||||
const Debugger::Symbol& symbol = Debugger::GetSymbol(Index);
|
||||
sprintf(Msg2, "%i: %x %s (%s, %08x ) : %s%s",
|
||||
++count,
|
||||
PowerPC::ppcState.DebugCount,
|
||||
m_Log[_type]->m_szShortName,
|
||||
rSymbol.GetName().c_str(),
|
||||
symbol.GetName().c_str(),
|
||||
PC,
|
||||
Msg, eol);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
// Copyright (C) 2003-2008 Dolphin Project.
|
||||
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, version 2.0.
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License 2.0 for more details.
|
||||
|
||||
// A copy of the GPL 2.0 should have been included with the program.
|
||||
// If not, see http://www.gnu.org/licenses/
|
||||
|
||||
// Official SVN repository and contact information can be found at
|
||||
// http://code.google.com/p/dolphin-emu/
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "FunctionDB.h"
|
||||
#include "SignatureDB.h"
|
||||
#include "PPCAnalyst.h"
|
||||
|
||||
FunctionDB g_funcDB;
|
||||
|
||||
void FunctionDB::List()
|
||||
{
|
||||
for (XFuncMap::iterator iter = functions.begin(); iter != functions.end(); iter++)
|
||||
{
|
||||
LOG(HLE,"%s @ %08x: %i bytes (hash %08x) : %i calls",iter->second.name.c_str(),iter->second.address,iter->second.size,iter->second.hash,iter->second.numCalls);
|
||||
}
|
||||
LOG(HLE,"%i functions known in this program above.",functions.size());
|
||||
}
|
||||
|
||||
void FunctionDB::Clear()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Adds the function to the list, unless it's already there
|
||||
SFunction *FunctionDB::AddFunction(u32 startAddr)
|
||||
{
|
||||
if (startAddr < 0x80000010)
|
||||
return 0;
|
||||
XFuncMap::iterator iter = functions.find(startAddr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
// it's already in the list
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
SFunction tempFunc; //the current one we're working on
|
||||
u32 targetEnd = PPCAnalyst::AnalyzeFunction(startAddr, tempFunc);
|
||||
if (targetEnd == 0)
|
||||
return 0; //found a dud :(
|
||||
//LOG(HLE,"SFunction found at %08x",startAddr);
|
||||
functions[startAddr] = tempFunc;
|
||||
checksumToFunction[tempFunc.hash] = &(functions[startAddr]);
|
||||
return &functions[startAddr];
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::AddKnownFunction(u32 startAddr, u32 size, const char *name)
|
||||
{
|
||||
XFuncMap::iterator iter = functions.find(startAddr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
SFunction *tempfunc = &iter->second;
|
||||
tempfunc->name = name;
|
||||
tempfunc->hash = SignatureDB::ComputeCodeChecksum(startAddr, startAddr + size);
|
||||
}
|
||||
else
|
||||
{
|
||||
SFunction tf;
|
||||
tf.name = name;
|
||||
PPCAnalyst::AnalyzeFunction(startAddr, tf);
|
||||
functions[startAddr] = tf;
|
||||
checksumToFunction[tf.hash] = &(functions[startAddr]);
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::FillInCallers()
|
||||
{
|
||||
for (XFuncMap::iterator iter = functions.begin(); iter!=functions.end(); iter++)
|
||||
{
|
||||
SFunction &f = iter->second;
|
||||
for (size_t i=0; i<f.calls.size(); i++)
|
||||
{
|
||||
SCall NewCall(iter->first, f.calls[i].callAddress);
|
||||
u32 FunctionAddress = f.calls[i].function;
|
||||
XFuncMap::iterator FuncIterator = functions.find(FunctionAddress);
|
||||
if (FuncIterator != functions.end())
|
||||
{
|
||||
SFunction& rCalledFunction = FuncIterator->second;
|
||||
rCalledFunction.callers.push_back(NewCall);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(HLE,"FillInCallers tries to fill data in an unknown fuction 0x%08x.", FunctionAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::PrintCalls(u32 funcAddr)
|
||||
{
|
||||
XFuncMap::iterator iter = functions.find(funcAddr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
SFunction &f = iter->second;
|
||||
LOG(HLE, "The function %s at %08x calls:", f.name.c_str(), f.address);
|
||||
for (std::vector<SCall>::iterator fiter = f.calls.begin(); fiter!=f.calls.end(); fiter++)
|
||||
{
|
||||
XFuncMap::iterator n = functions.find(fiter->function);
|
||||
if (n != functions.end())
|
||||
{
|
||||
LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(CONSOLE,"SFunction does not exist");
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::PrintCallers(u32 funcAddr)
|
||||
{
|
||||
XFuncMap::iterator iter = functions.find(funcAddr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
SFunction &f = iter->second;
|
||||
LOG(CONSOLE,"The function %s at %08x is called by:",f.name.c_str(),f.address);
|
||||
for (std::vector<SCall>::iterator fiter = f.callers.begin(); fiter != f.callers.end(); fiter++)
|
||||
{
|
||||
XFuncMap::iterator n = functions.find(fiter->function);
|
||||
if (n != functions.end())
|
||||
{
|
||||
LOG(CONSOLE,"* %08x : %s", fiter->callAddress, n->second.name.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::GetAllFuncs(functionGetterCallback callback)
|
||||
{
|
||||
XFuncMap::iterator iter = functions.begin();
|
||||
while (iter != functions.end())
|
||||
{
|
||||
callback(&(iter->second));
|
||||
iter++;
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDB::LogFunctionCall(u32 addr)
|
||||
{
|
||||
//u32 from = PC;
|
||||
XFuncMap::iterator iter = functions.find(addr);
|
||||
if (iter != functions.end())
|
||||
{
|
||||
SFunction &f = iter->second;
|
||||
f.numCalls++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
// Copyright (C) 2003-2008 Dolphin Project.
|
||||
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, version 2.0.
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License 2.0 for more details.
|
||||
|
||||
// A copy of the GPL 2.0 should have been included with the program.
|
||||
// If not, see http://www.gnu.org/licenses/
|
||||
|
||||
// Official SVN repository and contact information can be found at
|
||||
// http://code.google.com/p/dolphin-emu/
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct SCall
|
||||
{
|
||||
SCall(u32 a, u32 b) :
|
||||
function(a),
|
||||
callAddress(b)
|
||||
{}
|
||||
u32 function;
|
||||
u32 callAddress;
|
||||
};
|
||||
|
||||
struct SFunction
|
||||
{
|
||||
SFunction() :
|
||||
hash(0),
|
||||
address(0),
|
||||
flags(0),
|
||||
size(0),
|
||||
numCalls(0),
|
||||
analyzed(0)
|
||||
{}
|
||||
|
||||
~SFunction()
|
||||
{
|
||||
callers.clear();
|
||||
calls.clear();
|
||||
}
|
||||
|
||||
std::string name;
|
||||
std::vector<SCall> callers; //addresses of functions that call this function
|
||||
std::vector<SCall> calls; //addresses of functions that are called by this function
|
||||
u32 hash; //use for HLE function finding
|
||||
u32 address;
|
||||
u32 flags;
|
||||
int size;
|
||||
int numCalls;
|
||||
|
||||
int analyzed;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
FFLAG_TIMERINSTRUCTIONS=(1<<0),
|
||||
FFLAG_LEAF=(1<<1),
|
||||
FFLAG_ONLYCALLSNICELEAFS=(1<<2),
|
||||
FFLAG_EVIL=(1<<3),
|
||||
FFLAG_RFI=(1<<4),
|
||||
FFLAG_STRAIGHT=(1<<5)
|
||||
};
|
||||
|
||||
|
||||
// This has functionality overlapping Debugger_Symbolmap. Should merge that stuff in here later.
|
||||
class FunctionDB
|
||||
{
|
||||
public:
|
||||
typedef std::map<u32, SFunction> XFuncMap;
|
||||
typedef std::map<u32, SFunction*> XFuncPtrMap;
|
||||
|
||||
private:
|
||||
XFuncMap functions;
|
||||
XFuncPtrMap checksumToFunction;
|
||||
|
||||
public:
|
||||
|
||||
typedef void (*functionGetterCallback)(SFunction *f);
|
||||
|
||||
FunctionDB() {}
|
||||
|
||||
SFunction *AddFunction(u32 startAddr);
|
||||
void AddKnownFunction(u32 startAddr, u32 size, const char *name);
|
||||
|
||||
void GetAllFuncs(functionGetterCallback callback);
|
||||
SFunction *GetFunction(u32 hash) {
|
||||
// TODO: sanity check
|
||||
return checksumToFunction[hash];
|
||||
}
|
||||
|
||||
XFuncMap::iterator GetIterator() { return functions.begin(); }
|
||||
XFuncMap::const_iterator GetConstIterator() { return functions.begin(); }
|
||||
XFuncMap::iterator End() { return functions.end(); }
|
||||
|
||||
void Clear();
|
||||
void List();
|
||||
void FillInCallers();
|
||||
|
||||
void PrintCalls(u32 funcAddr);
|
||||
void PrintCallers(u32 funcAddr);
|
||||
void LogFunctionCall(u32 addr);
|
||||
};
|
||||
|
||||
extern FunctionDB g_funcDB;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,6 +14,7 @@
|
||||
|
||||
// Official SVN repository and contact information can be found at
|
||||
// http://code.google.com/p/dolphin-emu/
|
||||
|
||||
#ifndef _PPCANALYST_H
|
||||
#define _PPCANALYST_H
|
||||
|
||||
@@ -25,38 +26,17 @@
|
||||
#include "Common.h"
|
||||
#include "Gekko.h"
|
||||
|
||||
class PPCAnalyst
|
||||
class FunctionDB;
|
||||
struct SFunction;
|
||||
|
||||
namespace PPCAnalyst
|
||||
{
|
||||
private:
|
||||
|
||||
struct SCall
|
||||
{
|
||||
SCall(u32 a, u32 b) :
|
||||
function(a),
|
||||
callAddress(b)
|
||||
{}
|
||||
u32 function;
|
||||
u32 callAddress;
|
||||
};
|
||||
|
||||
struct SDBFunc
|
||||
{
|
||||
u32 size;
|
||||
std::string name;
|
||||
|
||||
SDBFunc() :
|
||||
size(0)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
struct CodeOp //16B
|
||||
{
|
||||
UGeckoInstruction inst;
|
||||
u32 address;
|
||||
u32 branchTo; //if 0, not a branch
|
||||
int branchToIndex; //index of target block
|
||||
int branchToIndex; //index of target block
|
||||
u8 regsOut[2];
|
||||
u8 regsIn[3];
|
||||
u8 fregOut;
|
||||
@@ -90,7 +70,7 @@ public:
|
||||
bool any;
|
||||
bool anyTimer;
|
||||
|
||||
int GetTotalNumAccesses(int reg) {return numReads[reg]+numWrites[reg];}
|
||||
int GetTotalNumAccesses(int reg) {return numReads[reg] + numWrites[reg];}
|
||||
int GetUseRange(int reg) {
|
||||
return max(lastRead[reg], lastWrite[reg]) -
|
||||
min(firstRead[reg], firstWrite[reg]);}
|
||||
@@ -98,83 +78,13 @@ public:
|
||||
|
||||
void ShuffleUp(CodeOp *code, int first, int last);
|
||||
|
||||
struct SFunction
|
||||
{
|
||||
SFunction() :
|
||||
hash(0),
|
||||
address(0),
|
||||
flags(0),
|
||||
size(0),
|
||||
numCalls(0)
|
||||
{}
|
||||
CodeOp *Flatten(u32 address, u32 &realsize, BlockStats &st, BlockRegStats &gpa, BlockRegStats &fpa);
|
||||
|
||||
~SFunction()
|
||||
{
|
||||
callers.clear();
|
||||
calls.clear();
|
||||
}
|
||||
void LogFunctionCall(u32 addr);
|
||||
|
||||
std::string name;
|
||||
std::vector<SCall> callers; //addresses of functions that call this function
|
||||
std::vector<SCall> calls; //addresses of functions that are called by this function
|
||||
u32 hash; //use for HLE function finding
|
||||
u32 address;
|
||||
u32 flags;
|
||||
int size;
|
||||
int numCalls;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
FFLAG_TIMERINSTRUCTIONS=(1<<0),
|
||||
FFLAG_LEAF=(1<<1),
|
||||
FFLAG_ONLYCALLSNICELEAFS=(1<<2),
|
||||
FFLAG_EVIL=(1<<3),
|
||||
FFLAG_RFI=(1<<4),
|
||||
FFLAG_STRAIGHT=(1<<5)
|
||||
};
|
||||
|
||||
private:
|
||||
typedef void (*functionGetterCallback)(SFunction *f);
|
||||
typedef std::map<u32, SFunction> XFuncMap;
|
||||
typedef std::map<u32, SFunction*> XFuncPtrMap;
|
||||
typedef std::map<u32, SDBFunc> XFuncDB;
|
||||
|
||||
static XFuncMap functions;
|
||||
static XFuncPtrMap checksumToFunction;
|
||||
static XFuncDB database;
|
||||
|
||||
static u32 AnalyzeFunction(u32 startAddr, SFunction &func);
|
||||
static void AnalyzeFunction2(SFunction &func);
|
||||
static u32 EvaluateBranchTarget(UGeckoInstruction instr, u32 pc);
|
||||
static SFunction *AddFunction(u32 startAddr);
|
||||
static void FindFunctionsFromBranches(u32 startAddr, u32 endAddr);
|
||||
static u32 FuncChecksum (u32 offsetStart, u32 offsetEnd);
|
||||
static void FillInCallers();
|
||||
static void FindFunctionsAfterBLR();
|
||||
static void FixUpInternalBranches(CodeOp *code, int begin, int end);
|
||||
|
||||
public:
|
||||
static CodeOp *Flatten(u32 address, u32 &realsize, BlockStats &st, BlockRegStats &gpa, BlockRegStats &fpa);
|
||||
|
||||
static void LogFunctionCall(u32 addr);
|
||||
|
||||
static void FindFunctions(u32 startAddr, u32 endAddr);
|
||||
static void PrintCalls(u32 funcAddr);
|
||||
static void PrintCallers(u32 funcAddr);
|
||||
static void AddToFuncDB(u32 startAddr, u32 size, const TCHAR *name);
|
||||
static void ListFunctions();
|
||||
|
||||
static bool SaveFuncDB(const TCHAR *filename);
|
||||
static bool LoadFuncDB(const TCHAR *filename);
|
||||
static void ClearDB();
|
||||
static void ListDB();
|
||||
static void UseFuncDB();
|
||||
static void CleanDB(); //remove zzz_
|
||||
|
||||
static void GetAllFuncs(functionGetterCallback callback);
|
||||
|
||||
};
|
||||
void FindFunctions(u32 startAddr, u32 endAddr, FunctionDB *func_db);
|
||||
bool AnalyzeFunction(u32 startAddr, SFunction &func);
|
||||
} // namespace
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user