Using Unix tools to operate on a tree containing filename with spaces in them
is really annoying, so rename the handful of instances where there were spaces.

Host.cpp has never been used.

Games tend to lookup the following directories that we don't yet have anything
to put in, so prepopulate them in Data/User/Wii:

title/00010001
title/00010002
title/00010003
title/00010004
title/00010005
title/00010006
title/00010007
meta
shared2/title
 
Set eol-style native on a number of text files which didn't already have it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5572 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang
2010-06-02 18:00:22 +00:00
parent e2ef72504e
commit 664cea45c7
102 changed files with 58499 additions and 57808 deletions

View File

@ -1,367 +1,367 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="Bochs_disasm" Name="Bochs_disasm"
ProjectGUID="{29C2ABC1-ADA5-42CD-A5FC-96022D52A510}" ProjectGUID="{29C2ABC1-ADA5-42CD-A5FC-96022D52A510}"
RootNamespace="Bochs_disasm" RootNamespace="Bochs_disasm"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB" PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
WarnAsError="false" WarnAsError="false"
DebugInformationFormat="4" DebugInformationFormat="4"
ForcedIncludeFiles="stdafx.h" ForcedIncludeFiles="stdafx.h"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB" PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
WarnAsError="false" WarnAsError="false"
DebugInformationFormat="3" DebugInformationFormat="3"
ForcedIncludeFiles="stdafx.h" ForcedIncludeFiles="stdafx.h"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
WholeProgramOptimization="false" WholeProgramOptimization="false"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB" PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
WarnAsError="false" WarnAsError="false"
DebugInformationFormat="3" DebugInformationFormat="3"
ForcedIncludeFiles="stdafx.h" ForcedIncludeFiles="stdafx.h"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
WholeProgramOptimization="false" WholeProgramOptimization="false"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB" PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
WarnAsError="false" WarnAsError="false"
DebugInformationFormat="3" DebugInformationFormat="3"
ForcedIncludeFiles="stdafx.h" ForcedIncludeFiles="stdafx.h"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\config.h" RelativePath=".\config.h"
> >
</File> </File>
<File <File
RelativePath=".\dis_decode.cpp" RelativePath=".\dis_decode.cpp"
> >
</File> </File>
<File <File
RelativePath=".\dis_groups.cpp" RelativePath=".\dis_groups.cpp"
> >
</File> </File>
<File <File
RelativePath=".\dis_tables.h" RelativePath=".\dis_tables.h"
> >
</File> </File>
<File <File
RelativePath=".\dis_tables.inl" RelativePath=".\dis_tables.inl"
> >
</File> </File>
<File <File
RelativePath=".\disasm.h" RelativePath=".\disasm.h"
> >
</File> </File>
<File <File
RelativePath=".\opcodes.inl" RelativePath=".\opcodes.inl"
> >
</File> </File>
<File <File
RelativePath=".\PowerPCDisasm.cpp" RelativePath=".\PowerPCDisasm.cpp"
> >
</File> </File>
<File <File
RelativePath=".\PowerPCDisasm.h" RelativePath=".\PowerPCDisasm.h"
> >
</File> </File>
<File <File
RelativePath=".\resolve.cpp" RelativePath=".\resolve.cpp"
> >
</File> </File>
<File <File
RelativePath=".\stdafx.cpp" RelativePath=".\stdafx.cpp"
> >
<FileConfiguration <FileConfiguration
Name="Debug|Win32" Name="Debug|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Debug|x64" Name="Debug|x64"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Release|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|x64" Name="Release|x64"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
</File> </File>
<File <File
RelativePath=".\stdafx.h" RelativePath=".\stdafx.h"
> >
</File> </File>
<File <File
RelativePath=".\syntax.cpp" RelativePath=".\syntax.cpp"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

File diff suppressed because it is too large Load Diff

View File

@ -1,312 +1,312 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="LZO" Name="LZO"
ProjectGUID="{33546D62-7F34-4EA6-A88E-D538B36E16BF}" ProjectGUID="{33546D62-7F34-4EA6-A88E-D538B36E16BF}"
RootNamespace="LZO" RootNamespace="LZO"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)/lzo.lib" OutputFile="$(OutDir)/lzo.lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Source Files" Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
> >
<File <File
RelativePath=".\minilzo.c" RelativePath=".\minilzo.c"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Header Files" Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd" Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
> >
<File <File
RelativePath=".\lzoconf.h" RelativePath=".\lzoconf.h"
> >
</File> </File>
<File <File
RelativePath=".\lzodefs.h" RelativePath=".\lzodefs.h"
> >
</File> </File>
<File <File
RelativePath=".\minilzo.h" RelativePath=".\minilzo.h"
> >
</File> </File>
</Filter> </Filter>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

1006
Externals/Lua/Lua.vcproj vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 10.00 Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008 # Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MemCardManager", "Memcard Manager.vcproj", "{413653C3-59A4-4E3A-ABB0-56558B323DFE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MemCardManager", "MemcardManager.vcproj", "{413653C3-59A4-4E3A-ABB0-56558B323DFE}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64 Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|Win32.ActiveCfg = Debug|Win32 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|Win32.ActiveCfg = Debug|Win32
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|Win32.Build.0 = Debug|Win32 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|Win32.Build.0 = Debug|Win32
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|x64.ActiveCfg = Debug|x64 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|x64.ActiveCfg = Debug|x64
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|x64.Build.0 = Debug|x64 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Debug|x64.Build.0 = Debug|x64
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|Win32.ActiveCfg = Release|Win32 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|Win32.ActiveCfg = Release|Win32
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|Win32.Build.0 = Release|Win32 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|Win32.Build.0 = Release|Win32
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|x64.ActiveCfg = Release|x64 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|x64.ActiveCfg = Release|x64
{413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|x64.Build.0 = Release|x64 {413653C3-59A4-4E3A-ABB0-56558B323DFE}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
AMDCaProjectFile = D:\Dev\Dolphin\trunk\Source\CodeAnalyst\Dolphin.caw AMDCaProjectFile = D:\Dev\Dolphin\trunk\Source\CodeAnalyst\Dolphin.caw
EndGlobalSection EndGlobalSection
GlobalSection(DPCodeReviewSolutionGUID) = preSolution GlobalSection(DPCodeReviewSolutionGUID) = preSolution
DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@ -13,8 +13,8 @@ libs = [
if wxenv['HAVE_WX']: if wxenv['HAVE_WX']:
files += [ files += [
'Externals/Memcard Manager/src/mcmMain.cpp', 'Externals/MemcardManager/src/mcmMain.cpp',
'Externals/Memcard Manager/src/MCMdebug.cpp', 'Externals/MemcardManager/src/MCMdebug.cpp',
'Source/Core/DolphinWX/Src/MemcardManager.cpp', 'Source/Core/DolphinWX/Src/MemcardManager.cpp',
'Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp', 'Source/Core/DolphinWX/Src/MemoryCards/GCMemcard.cpp',
'Source/Core/DolphinWX/Src/WxUtils.cpp', 'Source/Core/DolphinWX/Src/WxUtils.cpp',
@ -48,7 +48,7 @@ else:
exeGUI = env['binary_dir'] + 'Memcard Manager' exeGUI = env['binary_dir'] + 'MemcardManager'
#objects = [ wxenv.Object(srcFile) for srcFile in files ] #objects = [ wxenv.Object(srcFile) for srcFile in files ]

View File

@ -47,7 +47,7 @@ include_paths = [
basedir + 'Source/Core/Common/Src', basedir + 'Source/Core/Common/Src',
basedir + 'Source/PluginSpecs', basedir + 'Source/PluginSpecs',
basedir + 'Source/Core/DolphinWX/Src', basedir + 'Source/Core/DolphinWX/Src',
basedir + 'Externals/Memcard Manager/src', basedir + 'Externals/MemcardManager/src',
] ]
dirs = [ dirs = [

View File

@ -0,0 +1,519 @@
#include "MemcardManager.h"
#include "MCMdebug.h"
BEGIN_EVENT_TABLE(CMemcardManagerDebug, wxWindow)
EVT_CLOSE(CMemcardManagerDebug::OnClose)
END_EVENT_TABLE()
CMemcardManagerDebug::CMemcardManagerDebug(wxFrame* parent, const wxPoint& pos, const wxSize& size) :
wxFrame(parent, wxID_ANY, _T("Memcard Debug Window"), pos, size, MEMCARD_MANAGER_STYLE)
{
// Create the GUI controls
Init_ChildControls();
// Setup Window
SetBackgroundColour(m_Notebook_MCMD->GetBackgroundColour());
SetSize(size);
SetPosition(pos);
Layout();
Show();
}
void CMemcardManagerDebug::updatePanels(GCMemcard **memCard,int card)
{
memoryCard = memCard;
updateHDRtab(card);
updateDIRtab(card);
updateDIRBtab(card);
updateBATtab(card);
updateBATBtab(card);
}
void CMemcardManagerDebug::Init_ChildControls()
{
// Main Notebook
m_Notebook_MCMD = new wxNotebook(this, ID_NOTEBOOK_MAIN, wxDefaultPosition, wxDefaultSize);
m_Tab_HDR = new wxPanel(m_Notebook_MCMD, ID_TAB_HDR, wxDefaultPosition, wxDefaultSize);
m_Tab_DIR = new wxPanel(m_Notebook_MCMD, ID_TAB_DIR, wxDefaultPosition, wxDefaultSize);
m_Tab_DIR_b = new wxPanel(m_Notebook_MCMD, ID_TAB_DIR_B, wxDefaultPosition, wxDefaultSize);
m_Tab_BAT = new wxPanel(m_Notebook_MCMD, ID_TAB_BAT, wxDefaultPosition, wxDefaultSize);
m_Tab_BAT_b = new wxPanel(m_Notebook_MCMD, ID_TAB_BAT_B, wxDefaultPosition, wxDefaultSize);
Init_HDR();
Init_DIR();
Init_DIR_b();
Init_BAT();
Init_BAT_b();
// Add Tabs to Notebook
m_Notebook_MCMD->AddPage(m_Tab_HDR, _T("HDR"));
m_Notebook_MCMD->AddPage(m_Tab_DIR, _T("DIR"));
m_Notebook_MCMD->AddPage(m_Tab_DIR_b, _T("DIR_b"));
m_Notebook_MCMD->AddPage(m_Tab_BAT, _T("Bat"));
m_Notebook_MCMD->AddPage(m_Tab_BAT_b, _T("Bat_b"));
wxBoxSizer* sMain = new wxBoxSizer(wxVERTICAL);
sMain->Add(m_Notebook_MCMD, 1, wxEXPAND|wxALL, 5);
SetSizer(sMain);
Layout();
Fit();
}
void CMemcardManagerDebug::OnClose(wxCloseEvent& WXUNUSED (event))
{
Hide();
}
void CMemcardManagerDebug::Init_HDR()
{
wxBoxSizer *sMain;
wxStaticBoxSizer *sHDR[2];
sMain = new wxBoxSizer(wxHORIZONTAL);
sHDR[0] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_HDR, wxT("MEMCARD:A"));
sHDR[1] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_HDR, wxT("MEMCARD:B"));
wxGridBagSizer * sOtPaths[2];
wxStaticText *st[2][11];
for(int i = SLOT_A; i <=SLOT_B;i++)
{
sOtPaths[i] = new wxGridBagSizer(0, 0);
sOtPaths[i]->AddGrowableCol(1);
st[i][0]= new wxStaticText(m_Tab_HDR, 0, wxT("Ser\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][1]= new wxStaticText(m_Tab_HDR, 0, wxT("fmtTime\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][2]= new wxStaticText(m_Tab_HDR, 0, wxT("SRAMBIAS\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][3]= new wxStaticText(m_Tab_HDR, 0, wxT("SRAMLANG\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][4]= new wxStaticText(m_Tab_HDR, 0, wxT("Unk2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][5]= new wxStaticText(m_Tab_HDR, 0, wxT("deviceID\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][6]= new wxStaticText(m_Tab_HDR, 0, wxT("Size\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][7]= new wxStaticText(m_Tab_HDR, 0, wxT("Encoding\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][8]= new wxStaticText(m_Tab_HDR, 0, wxT("UpdateCounter\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][9]= new wxStaticText(m_Tab_HDR, 0, wxT("CheckSum1\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][10]= new wxStaticText(m_Tab_HDR, 0, wxT("CheckSum2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_ser[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX"),
wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_fmtTime[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XXXXXXXX, XXXXXXXX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_SRAMBIAS[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX, XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_SRAMLANG[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX, XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_Unk2[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX, XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_devID[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_Size[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_Encoding[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_UpdateCounter[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_CheckSum1[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_HDR_CheckSum2[i] = new wxStaticText(m_Tab_HDR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[i]->Add(st[i][0], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_ser[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][1], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_fmtTime[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][2], wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_SRAMBIAS[i], wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][3], wxGBPosition(3, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_SRAMLANG[i], wxGBPosition(3, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][4], wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_Unk2[i], wxGBPosition(4, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][5], wxGBPosition(5, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_devID[i], wxGBPosition(5, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][6], wxGBPosition(6, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_Size[i], wxGBPosition(6, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][7], wxGBPosition(7, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_Encoding[i], wxGBPosition(7, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][8], wxGBPosition(8, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_UpdateCounter[i], wxGBPosition(8, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][9], wxGBPosition(9, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_CheckSum1[i], wxGBPosition(9, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][10], wxGBPosition(10, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_HDR_CheckSum2[i], wxGBPosition(10, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sHDR[i]->Add(sOtPaths[i], 0, wxEXPAND|wxALL, 5);
sMain->Add(sHDR[i], 0, wxEXPAND|wxALL, 1);
}
m_Tab_HDR->SetSizer(sMain);
m_Tab_HDR->Layout();
}
void CMemcardManagerDebug::updateHDRtab(int card)
{
wxString wx_ser,
wx_fmtTime,
wx_SRAMBIAS,
wx_SRAMLANG,
wx_Unk2,
wx_devID,
wx_Size,
wx_Encoding,
wx_UpdateCounter,
wx_CheckSum1,
wx_CheckSum2;
wx_ser.Printf(wxT("%02X, %02X, %02X, %02X, %02X, %02X, %02X, %02X, %02X, %02X, %02X, %02X"),
memoryCard[card]->hdr.serial[0],memoryCard[card]->hdr.serial[1],
memoryCard[card]->hdr.serial[2],memoryCard[card]->hdr.serial[3],
memoryCard[card]->hdr.serial[4],memoryCard[card]->hdr.serial[5],
memoryCard[card]->hdr.serial[6],memoryCard[card]->hdr.serial[7],
memoryCard[card]->hdr.serial[8],memoryCard[card]->hdr.serial[9],
memoryCard[card]->hdr.serial[10],memoryCard[card]->hdr.serial[11]);
wx_fmtTime.Printf(wxT("%08X, %08X"),
Common::swap32(memoryCard[card]->hdr.fmtTime.high),Common::swap32(memoryCard[card]->hdr.fmtTime.low));
wx_SRAMBIAS.Printf(wxT("%02X, %02X, %02X, %02X"),
memoryCard[card]->hdr.SramBias[0],memoryCard[card]->hdr.SramBias[1],
memoryCard[card]->hdr.SramBias[2],memoryCard[card]->hdr.SramBias[3]);
wx_SRAMLANG.Printf(wxT("%02X, %02X, %02X, %02X"),
memoryCard[card]->hdr.SramLang[0], memoryCard[card]->hdr.SramLang[1],
memoryCard[card]->hdr.SramLang[2],memoryCard[card]->hdr.SramLang[3]);
wx_Unk2.Printf(wxT("%02X, %02X, %02X, %02X"),
memoryCard[card]->hdr.Unk2[0],memoryCard[card]->hdr.Unk2[1],
memoryCard[card]->hdr.Unk2[2],memoryCard[card]->hdr.Unk2[3]);
wx_devID.Printf(wxT("%02X, %02X"),
memoryCard[card]->hdr.deviceID[0],memoryCard[card]->hdr.deviceID[1]);
wx_Size.Printf(wxT("%02X, %02X"),
memoryCard[card]->hdr.SizeMb[0],memoryCard[card]->hdr.SizeMb[1]);
wx_Encoding.Printf( wxT("%02X, %02X"),
memoryCard[card]->hdr.Encoding[0],memoryCard[card]->hdr.Encoding[1]);
wx_UpdateCounter.Printf(wxT("%02X, %02X"),
memoryCard[card]->hdr.UpdateCounter[0],memoryCard[card]->hdr.UpdateCounter[1]);
wx_CheckSum1.Printf(wxT("%02X, %02X"),
memoryCard[card]->hdr.CheckSum1[0],memoryCard[card]->hdr.CheckSum1[1]);
wx_CheckSum2.Printf(wxT("%02X, %02X"),
memoryCard[card]->hdr.CheckSum2[0],memoryCard[card]->hdr.CheckSum2[1]);
t_HDR_ser[card]->SetLabel(wx_ser);
t_HDR_fmtTime[card]->SetLabel(wx_fmtTime);
t_HDR_SRAMBIAS[card]->SetLabel(wx_SRAMBIAS);
t_HDR_SRAMLANG[card]->SetLabel(wx_SRAMLANG);
t_HDR_Unk2[card]->SetLabel(wx_Unk2);
t_HDR_devID[card]->SetLabel(wx_devID);
t_HDR_Size[card]->SetLabel(wx_Size);
t_HDR_Encoding[card]->SetLabel(wx_Encoding);
t_HDR_UpdateCounter[card]->SetLabel(wx_UpdateCounter);
t_HDR_CheckSum1[card]->SetLabel(wx_CheckSum1);
t_HDR_CheckSum2[card]->SetLabel(wx_CheckSum2);
}
void CMemcardManagerDebug::Init_DIR()
{
wxBoxSizer *sMain;
wxStaticBoxSizer *sDIR[2];
sMain = new wxBoxSizer(wxHORIZONTAL);
sDIR[0] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_DIR, wxT("MEMCARD:A"));
sDIR[1] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_DIR, wxT("MEMCARD:B"));
wxGridBagSizer * sOtPaths[3];
wxStaticText *st[2][9];
for(int i = SLOT_A; i <=SLOT_B;i++)
{
sOtPaths[i] = new wxGridBagSizer(0, 0);
sOtPaths[i]->AddGrowableCol(1);
st[i][0]= new wxStaticText(m_Tab_DIR, 0, wxT("UpdateCounter\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][1]= new wxStaticText(m_Tab_DIR, 0, wxT("CheckSum1\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][2]= new wxStaticText(m_Tab_DIR, 0, wxT("CheckSum2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_UpdateCounter[i] = new wxStaticText(m_Tab_DIR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_CheckSum1[i] = new wxStaticText(m_Tab_DIR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_CheckSum2[i] = new wxStaticText(m_Tab_DIR, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[i]->Add(st[i][0], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_UpdateCounter[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][1], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_CheckSum1[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][2], wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_CheckSum2[i], wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sDIR[i]->Add(sOtPaths[i], 0, wxEXPAND|wxALL, 5);
sMain->Add(sDIR[i], 0, wxEXPAND|wxALL, 1);
}
m_Tab_DIR->SetSizer(sMain);
m_Tab_DIR->Layout();
}
void CMemcardManagerDebug::updateDIRtab(int card)
{
wxString wx_UpdateCounter,
wx_CheckSum1,
wx_CheckSum2;
wx_UpdateCounter.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir.UpdateCounter[0],memoryCard[card]->dir.UpdateCounter[1]);
wx_CheckSum1.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir.CheckSum1[0],memoryCard[card]->dir.CheckSum1[1]);
wx_CheckSum2.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir.CheckSum2[0],memoryCard[card]->dir.CheckSum2[1]);
t_DIR_UpdateCounter[card]->SetLabel(wx_UpdateCounter);
t_DIR_CheckSum1[card]->SetLabel(wx_CheckSum1);
t_DIR_CheckSum2[card]->SetLabel(wx_CheckSum2);
}
void CMemcardManagerDebug::Init_DIR_b()
{
wxBoxSizer *sMain;
wxStaticBoxSizer *sDIR_b[2];
sMain = new wxBoxSizer(wxHORIZONTAL);
sDIR_b[0] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_DIR_b, wxT("MEMCARD:A"));
sDIR_b[1] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_DIR_b, wxT("MEMCARD:B"));
wxGridBagSizer * sOtPaths[3];
wxStaticText *st[2][9];
for(int i = SLOT_A; i <=SLOT_B;i++)
{
sOtPaths[i] = new wxGridBagSizer(0, 0);
sOtPaths[i]->AddGrowableCol(1);
st[i][0]= new wxStaticText(m_Tab_DIR_b, 0, wxT("UpdateCounter\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][1]= new wxStaticText(m_Tab_DIR_b, 0, wxT("CheckSum1\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][2]= new wxStaticText(m_Tab_DIR_b, 0, wxT("CheckSum2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_b_UpdateCounter[i] = new wxStaticText(m_Tab_DIR_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_b_CheckSum1[i] = new wxStaticText(m_Tab_DIR_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_DIR_b_CheckSum2[i] = new wxStaticText(m_Tab_DIR_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[i]->Add(st[i][0], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_b_UpdateCounter[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][1], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_b_CheckSum1[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][2], wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_DIR_b_CheckSum2[i], wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sDIR_b[i]->Add(sOtPaths[i], 0, wxEXPAND|wxALL, 5);
sMain->Add(sDIR_b[i], 0, wxEXPAND|wxALL, 1);
}
m_Tab_DIR_b->SetSizer(sMain);
m_Tab_DIR_b->Layout();
}
void CMemcardManagerDebug::updateDIRBtab(int card)
{
wxString wx_UpdateCounter,
wx_CheckSum1,
wx_CheckSum2;
wx_UpdateCounter.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir_backup.UpdateCounter[0],memoryCard[card]->dir_backup.UpdateCounter[1]);
wx_CheckSum1.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir_backup.CheckSum1[0],memoryCard[card]->dir_backup.CheckSum1[1]);
wx_CheckSum2.Printf(wxT("%02X, %02X"),
memoryCard[card]->dir_backup.CheckSum2[0],memoryCard[card]->dir_backup.CheckSum2[1]);
t_DIR_b_UpdateCounter[card]->SetLabel(wx_UpdateCounter);
t_DIR_b_CheckSum1[card]->SetLabel(wx_CheckSum1);
t_DIR_b_CheckSum2[card]->SetLabel(wx_CheckSum2);
}
void CMemcardManagerDebug::Init_BAT()
{
wxBoxSizer *sMain;
wxStaticBoxSizer *sBAT[4];
sMain = new wxBoxSizer(wxHORIZONTAL);
sBAT[0] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT, wxT("MEMCARD:A"));
sBAT[1] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT, wxT("MEMCARD:B"));
sBAT[2] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT, wxT("MEMCARD:A MAP"));
sBAT[3] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT, wxT("MEMCARD:B MAP"));
wxGridBagSizer * sOtPaths[4];
wxStaticText *st[2][9];
for(int i = SLOT_A; i <=SLOT_B;i++)
{
sOtPaths[i] = new wxGridBagSizer(0, 0);
sOtPaths[i]->AddGrowableCol(1);
st[i][0]= new wxStaticText(m_Tab_BAT, 0, wxT("CheckSum1\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][1]= new wxStaticText(m_Tab_BAT, 0, wxT("CheckSum2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][2]= new wxStaticText(m_Tab_BAT, 0, wxT("UpdateCounter\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][3]= new wxStaticText(m_Tab_BAT, 0, wxT("FreeBlocks\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][4]= new wxStaticText(m_Tab_BAT, 0, wxT("LastAllocated\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_CheckSum1[i] = new wxStaticText(m_Tab_BAT, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_CheckSum2[i] = new wxStaticText(m_Tab_BAT, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_UpdateCounter[i] = new wxStaticText(m_Tab_BAT, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_FreeBlocks[i] = new wxStaticText(m_Tab_BAT, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_LastAllocated[i] = new wxStaticText(m_Tab_BAT, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[i]->Add(st[i][0], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_CheckSum1[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][1], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_CheckSum2[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][2], wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_UpdateCounter[i], wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][3], wxGBPosition(3, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_FreeBlocks[i], wxGBPosition(3, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][4], wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_LastAllocated[i], wxGBPosition(4, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sBAT[i]->Add(sOtPaths[i], 0, wxEXPAND|wxALL, 5);
sMain->Add(sBAT[i], 0, wxEXPAND|wxALL, 1);
}
for (int k=2;k<=3;k++) //256
{
sOtPaths[k] = new wxGridBagSizer(0, 0);
sOtPaths[k]->AddGrowableCol(1);
for(int j=0;j<256;j++)
{
t_BAT_map[j][k%2] = new wxStaticText(m_Tab_BAT, 0, wxT("XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[k]->Add(t_BAT_map[j][k%2], wxGBPosition(j, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
}
sBAT[k]->Add(sOtPaths[k], 0, wxEXPAND|wxALL, 5);
sMain->Add(sBAT[k], 0, wxEXPAND|wxALL, 1);
}
m_Tab_BAT->SetSizer(sMain);
m_Tab_BAT->Layout();
}
void CMemcardManagerDebug::updateBATtab(int card)
{
wxString wx_UpdateCounter,
wx_CheckSum1,
wx_CheckSum2,
wx_FreeBlocks,
wx_LastAllocated;
wx_CheckSum1.Printf(wxT("%02X, %02X"), memoryCard[card]->bat.CheckSum1[0],memoryCard[card]->bat.CheckSum1[1]);
wx_CheckSum2.Printf(wxT("%02X, %02X"), memoryCard[card]->bat.CheckSum2[0],memoryCard[card]->bat.CheckSum2[1]);
wx_UpdateCounter.Printf(wxT("%02X, %02X"), memoryCard[card]->bat.UpdateCounter[0],memoryCard[card]->bat.UpdateCounter[1]);
wx_FreeBlocks.Printf(wxT("%02X, %02X"), memoryCard[card]->bat.FreeBlocks[0],memoryCard[card]->bat.FreeBlocks[1]);
wx_LastAllocated.Printf(wxT("%d"), memoryCard[card]->bat.LastAllocated[0] << 8 | memoryCard[card]->bat.LastAllocated[1]);
t_BAT_CheckSum1[card]->SetLabel(wx_CheckSum1);
t_BAT_CheckSum2[card]->SetLabel(wx_CheckSum2);
t_BAT_UpdateCounter[card]->SetLabel(wx_UpdateCounter);
t_BAT_FreeBlocks[card]->SetLabel(wx_FreeBlocks);
t_BAT_LastAllocated[card]->SetLabel(wx_LastAllocated);
wxString wx_map[256];
int pagesMax = 2048;
pagesMax = (1) * 13*8;
for(int j=0;j<2048 && j < pagesMax ;j+=8)
{
wx_map[j/8].Printf(wxT("%d, %d, %d, %d, %d, %d, %d, %d"),
(memoryCard[card]->bat.Map[j] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j]),
(memoryCard[card]->bat.Map[j+1] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+1]),
(memoryCard[card]->bat.Map[j+2] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+2]),
(memoryCard[card]->bat.Map[j+3] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+3]),
(memoryCard[card]->bat.Map[j+4] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+4]),
(memoryCard[card]->bat.Map[j+5] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+5]),
(memoryCard[card]->bat.Map[j+6] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+6]),
(memoryCard[card]->bat.Map[j+7] == 0xFFFF)? -1 : Common::swap16(memoryCard[card]->bat.Map[j+7]));
t_BAT_map[j/8][card]->SetLabel(wx_map[j/8]);
}
}
void CMemcardManagerDebug::Init_BAT_b()
{
wxBoxSizer *sMain;
wxStaticBoxSizer *sBAT_b[2];
sMain = new wxBoxSizer(wxHORIZONTAL);
sBAT_b[0] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT_b, wxT("MEMCARD:A"));
sBAT_b[1] = new wxStaticBoxSizer(wxVERTICAL, m_Tab_BAT_b, wxT("MEMCARD:B"));
wxGridBagSizer * sOtPaths[3];
wxStaticText *st[2][9];
for(int i = SLOT_A; i <=SLOT_B;i++)
{
sOtPaths[i] = new wxGridBagSizer(0, 0);
sOtPaths[i]->AddGrowableCol(1);
st[i][0]= new wxStaticText(m_Tab_BAT_b, 0, wxT("CheckSum1\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][1]= new wxStaticText(m_Tab_BAT_b, 0, wxT("CheckSum2\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][2]= new wxStaticText(m_Tab_BAT_b, 0, wxT("UpdateCounter\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][3]= new wxStaticText(m_Tab_BAT_b, 0, wxT("FreeBlocks\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
st[i][4]= new wxStaticText(m_Tab_BAT_b, 0, wxT("LastAllocated\t\t"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_b_CheckSum1[i] = new wxStaticText(m_Tab_BAT_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_b_CheckSum2[i] = new wxStaticText(m_Tab_BAT_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_b_UpdateCounter[i] = new wxStaticText(m_Tab_BAT_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_b_FreeBlocks[i] = new wxStaticText(m_Tab_BAT_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
t_BAT_b_LastAllocated[i] = new wxStaticText(m_Tab_BAT_b, 0, wxT("XX, XX"), wxDefaultPosition, wxDefaultSize, 0, wxEmptyString);
sOtPaths[i]->Add(st[i][0], wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_b_CheckSum1[i], wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][1], wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_b_CheckSum2[i], wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][2], wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_b_UpdateCounter[i], wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][3], wxGBPosition(3, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_b_FreeBlocks[i], wxGBPosition(3, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtPaths[i]->Add(st[i][4], wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtPaths[i]->Add(t_BAT_b_LastAllocated[i], wxGBPosition(4, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sBAT_b[i]->Add(sOtPaths[i], 0, wxEXPAND|wxALL, 5);
sMain->Add(sBAT_b[i], 0, wxEXPAND|wxALL, 1);
}
m_Tab_BAT_b->SetSizer(sMain);
m_Tab_BAT_b->Layout();
}
void CMemcardManagerDebug::updateBATBtab(int card)
{
wxString wx_UpdateCounter,
wx_CheckSum1,
wx_CheckSum2,
wx_FreeBlocks,
wx_LastAllocated;
wx_CheckSum1.Printf(wxT("%02X, %02X"), memoryCard[card]->bat_backup.CheckSum1[0],memoryCard[card]->bat_backup.CheckSum1[1]);
wx_CheckSum2.Printf(wxT("%02X, %02X"), memoryCard[card]->bat_backup.CheckSum2[0],memoryCard[card]->bat_backup.CheckSum2[1]);
wx_UpdateCounter.Printf(wxT("%02X, %02X"), memoryCard[card]->bat_backup.UpdateCounter[0],memoryCard[card]->bat_backup.UpdateCounter[1]);
wx_FreeBlocks.Printf(wxT("%02X, %02X"), memoryCard[card]->bat_backup.FreeBlocks[0],memoryCard[card]->bat_backup.FreeBlocks[1]);
wx_LastAllocated.Printf(wxT("%02X, %02X"), memoryCard[card]->bat_backup.LastAllocated[0],memoryCard[card]->bat_backup.LastAllocated[1]);
t_BAT_b_CheckSum1[card]->SetLabel(wx_CheckSum1);
t_BAT_b_CheckSum2[card]->SetLabel(wx_CheckSum2);
t_BAT_b_UpdateCounter[card]->SetLabel(wx_UpdateCounter);
t_BAT_b_FreeBlocks[card]->SetLabel(wx_FreeBlocks);
t_BAT_b_LastAllocated[card]->SetLabel(wx_LastAllocated);
}

111
Externals/MemcardManager/src/MCMdebug.h vendored Normal file
View File

@ -0,0 +1,111 @@
// Copyright (C) 2003 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/
#ifndef __MCM_H__
#define __MCM_H__
#include "MemcardManager.h"
#include <wx/gbsizer.h>
#include <wx/notebook.h>
class CMemcardManagerDebug : public wxFrame
{
public:
CMemcardManagerDebug(wxFrame* parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
virtual ~CMemcardManagerDebug(){};
void updatePanels(GCMemcard ** memCard,int card);
private:
enum
{
ID_NOTEBOOK_MAIN,
ID_TAB_HDR,
ID_TAB_DIR,
ID_TAB_DIR_B,
ID_TAB_BAT,
ID_TAB_BAT_B,
};
GCMemcard **memoryCard;
wxNotebook *m_Notebook_MCMD;
wxPanel *m_Tab_HDR,
*m_Tab_DIR,
*m_Tab_DIR_b,
*m_Tab_BAT,
*m_Tab_BAT_b;
wxBoxSizer *sMain,
*sDebug,
*sDebug2;
wxStaticText *t_HDR_ser[2],
*t_HDR_fmtTime[2],
*t_HDR_SRAMBIAS[2],
*t_HDR_SRAMLANG[2],
*t_HDR_Unk2[2],
*t_HDR_devID[2],
*t_HDR_Size[2],
*t_HDR_Encoding[2],
*t_HDR_UpdateCounter[2],
*t_HDR_CheckSum1[2],
*t_HDR_CheckSum2[2],
*t_DIR_UpdateCounter[2],
*t_DIR_CheckSum1[2],
*t_DIR_CheckSum2[2],
*t_DIR_b_UpdateCounter[2],
*t_DIR_b_CheckSum1[2],
*t_DIR_b_CheckSum2[2],
*t_BAT_CheckSum1[2],
*t_BAT_CheckSum2[2],
*t_BAT_UpdateCounter[2],
*t_BAT_FreeBlocks[2],
*t_BAT_LastAllocated[2],
*t_BAT_map[256][2],
*t_BAT_b_CheckSum1[2],
*t_BAT_b_CheckSum2[2],
*t_BAT_b_UpdateCounter[2],
*t_BAT_b_FreeBlocks[2],
*t_BAT_b_LastAllocated[2];
DECLARE_EVENT_TABLE();
void Init_ChildControls();
void OnClose(wxCloseEvent& event);
void Init_HDR();
void Init_DIR();
void Init_DIR_b();
void Init_BAT();
void Init_BAT_b();
void updateHDRtab(int card);
void updateDIRtab(int card);
void updateDIRBtab(int card);
void updateBATtab(int card);
void updateBATBtab(int card);
};
#endif

17
Externals/MemcardManager/src/MCMmain.h vendored Normal file
View File

@ -0,0 +1,17 @@
#ifndef _MCM__
#define _MCM__
void __Log(int logNumber, const char* text, ...){logNumber; text;}
void __Logv(int log, int v, const char *format, ...){log; v; format;}
#include "MemcardManager.h"
#include "Timer.h"
class MCMApp
: public wxApp
{
public:
bool OnInit();
};
#endif

View File

@ -0,0 +1,51 @@
// Copyright (C) 2003 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 "MCMmain.h"
IMPLEMENT_APP(MCMApp)
CMemcardManager *main_frame;
#if defined HAVE_WX && HAVE_WX
bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int Style)
{
return wxYES == wxMessageBox(wxString::FromAscii(text),
wxString::FromAscii(caption),
(yes_no)?wxYES_NO:wxOK);
}
#endif
bool MCMApp::OnInit()
{
// Register message box handler
#if defined(HAVE_WX) && HAVE_WX
RegisterMsgAlertHandler(&wxMsgAlert);
#endif
main_frame = new CMemcardManager((wxFrame*) NULL, wxID_ANY, wxString::FromAscii("Memcard Manager"),
wxPoint(100, 100), wxSize(800, 600));
main_frame->Show();
SetTopWindow(main_frame);
return true;
}
u32 CEXIIPL::GetGCTime()
{
const u32 cJanuary2000 = 0x386D42C0; // Seconds between 1.1.1970 and 1.1.2000
u64 ltime = Common::Timer::GetLocalTimeSinceJan1970();
return ((u32)ltime - cJanuary2000);
}

View File

@ -1,395 +1,395 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="SFML_Network" Name="SFML_Network"
ProjectGUID="{823DDC98-42D5-4A38-88CF-9DC06C788AE4}" ProjectGUID="{823DDC98-42D5-4A38-88CF-9DC06C788AE4}"
RootNamespace="sfml-network" RootNamespace="sfml-network"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="" Description=""
CommandLine="" CommandLine=""
Outputs="" Outputs=""
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;" AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="4" WarningLevel="4"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="ws2_32.lib" AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="" CommandLine=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="" Description=""
CommandLine="" CommandLine=""
Outputs="" Outputs=""
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;" AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="4" WarningLevel="4"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="ws2_32.lib" AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="" CommandLine=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="" Description=""
CommandLine="" CommandLine=""
Outputs="" Outputs=""
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="3" Optimization="3"
InlineFunctionExpansion="2" InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
WholeProgramOptimization="false" WholeProgramOptimization="false"
AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;" AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;"
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
EnableEnhancedInstructionSet="0" EnableEnhancedInstructionSet="0"
FloatingPointModel="2" FloatingPointModel="2"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="4" WarningLevel="4"
DebugInformationFormat="0" DebugInformationFormat="0"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="ws2_32.lib" AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
Description="" Description=""
CommandLine="" CommandLine=""
Outputs="" Outputs=""
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="3" Optimization="3"
InlineFunctionExpansion="2" InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
WholeProgramOptimization="false" WholeProgramOptimization="false"
AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;" AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\src&quot;;&quot;$(ProjectDir)..\..\include&quot;"
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;SFML_EXPORTS;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
EnableEnhancedInstructionSet="0" EnableEnhancedInstructionSet="0"
FloatingPointModel="2" FloatingPointModel="2"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="4" WarningLevel="4"
DebugInformationFormat="0" DebugInformationFormat="0"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="ws2_32.lib" AdditionalDependencies="ws2_32.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Win32" Name="Win32"
> >
<File <File
RelativePath="..\..\src\SFML\Network\Win32\SocketHelper.cpp" RelativePath="..\..\src\SFML\Network\Win32\SocketHelper.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Win32\SocketHelper.hpp" RelativePath="..\..\include\SFML\Network\Win32\SocketHelper.hpp"
> >
</File> </File>
</Filter> </Filter>
<File <File
RelativePath="..\..\src\SFML\Network\Ftp.cpp" RelativePath="..\..\src\SFML\Network\Ftp.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Ftp.hpp" RelativePath="..\..\include\SFML\Network\Ftp.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\Http.cpp" RelativePath="..\..\src\SFML\Network\Http.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Http.hpp" RelativePath="..\..\include\SFML\Network\Http.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\IPAddress.cpp" RelativePath="..\..\src\SFML\Network\IPAddress.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\IPAddress.hpp" RelativePath="..\..\include\SFML\Network\IPAddress.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\Packet.cpp" RelativePath="..\..\src\SFML\Network\Packet.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Packet.hpp" RelativePath="..\..\include\SFML\Network\Packet.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Selector.hpp" RelativePath="..\..\include\SFML\Network\Selector.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\Selector.inl" RelativePath="..\..\include\SFML\Network\Selector.inl"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\SelectorBase.cpp" RelativePath="..\..\src\SFML\Network\SelectorBase.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\SelectorBase.hpp" RelativePath="..\..\include\SFML\Network\SelectorBase.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\SocketHelper.hpp" RelativePath="..\..\include\SFML\Network\SocketHelper.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\SocketTCP.cpp" RelativePath="..\..\src\SFML\Network\SocketTCP.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\SocketTCP.hpp" RelativePath="..\..\include\SFML\Network\SocketTCP.hpp"
> >
</File> </File>
<File <File
RelativePath="..\..\src\SFML\Network\SocketUDP.cpp" RelativePath="..\..\src\SFML\Network\SocketUDP.cpp"
> >
</File> </File>
<File <File
RelativePath="..\..\include\SFML\Network\SocketUDP.hpp" RelativePath="..\..\include\SFML\Network\SocketUDP.hpp"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

836
Externals/SOIL/SOIL.h vendored
View File

@ -1,418 +1,418 @@
/** /**
@mainpage SOIL @mainpage SOIL
Jonathan Dummer Jonathan Dummer
2007-07-26-10.36 2007-07-26-10.36
Simple OpenGL Image Library Simple OpenGL Image Library
A tiny c library for uploading images as A tiny c library for uploading images as
textures into OpenGL. Also saving and textures into OpenGL. Also saving and
loading of images is supported. loading of images is supported.
I'm using Sean's Tool Box image loader as a base: I'm using Sean's Tool Box image loader as a base:
http://www.nothings.org/ http://www.nothings.org/
I'm upgrading it to load TGA and DDS files, and a direct I'm upgrading it to load TGA and DDS files, and a direct
path for loading DDS files straight into OpenGL textures, path for loading DDS files straight into OpenGL textures,
when applicable. when applicable.
Image Formats: Image Formats:
- BMP load & save - BMP load & save
- TGA load & save - TGA load & save
- DDS load & save - DDS load & save
- PNG load - PNG load
- JPG load - JPG load
OpenGL Texture Features: OpenGL Texture Features:
- resample to power-of-two sizes - resample to power-of-two sizes
- MIPmap generation - MIPmap generation
- compressed texture S3TC formats (if supported) - compressed texture S3TC formats (if supported)
- can pre-multiply alpha for you, for better compositing - can pre-multiply alpha for you, for better compositing
- can flip image about the y-axis (except pre-compressed DDS files) - can flip image about the y-axis (except pre-compressed DDS files)
Thanks to: Thanks to:
* Sean Barret - for the awesome stb_image * Sean Barret - for the awesome stb_image
* Dan Venkitachalam - for finding some non-compliant DDS files, and patching some explicit casts * Dan Venkitachalam - for finding some non-compliant DDS files, and patching some explicit casts
* everybody at gamedev.net * everybody at gamedev.net
**/ **/
#ifndef HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY #ifndef HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY
#define HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY #define HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** /**
The format of images that may be loaded (force_channels). The format of images that may be loaded (force_channels).
SOIL_LOAD_AUTO leaves the image in whatever format it was found. SOIL_LOAD_AUTO leaves the image in whatever format it was found.
SOIL_LOAD_L forces the image to load as Luminous (greyscale) SOIL_LOAD_L forces the image to load as Luminous (greyscale)
SOIL_LOAD_LA forces the image to load as Luminous with Alpha SOIL_LOAD_LA forces the image to load as Luminous with Alpha
SOIL_LOAD_RGB forces the image to load as Red Green Blue SOIL_LOAD_RGB forces the image to load as Red Green Blue
SOIL_LOAD_RGBA forces the image to load as Red Green Blue Alpha SOIL_LOAD_RGBA forces the image to load as Red Green Blue Alpha
**/ **/
enum enum
{ {
SOIL_LOAD_AUTO = 0, SOIL_LOAD_AUTO = 0,
SOIL_LOAD_L = 1, SOIL_LOAD_L = 1,
SOIL_LOAD_LA = 2, SOIL_LOAD_LA = 2,
SOIL_LOAD_RGB = 3, SOIL_LOAD_RGB = 3,
SOIL_LOAD_RGBA = 4 SOIL_LOAD_RGBA = 4
}; };
/** /**
Passed in as reuse_texture_ID, will cause SOIL to Passed in as reuse_texture_ID, will cause SOIL to
register a new texture ID using glGenTextures(). register a new texture ID using glGenTextures().
If the value passed into reuse_texture_ID > 0 then If the value passed into reuse_texture_ID > 0 then
SOIL will just re-use that texture ID (great for SOIL will just re-use that texture ID (great for
reloading image assets in-game!) reloading image assets in-game!)
**/ **/
enum enum
{ {
SOIL_CREATE_NEW_ID = 0 SOIL_CREATE_NEW_ID = 0
}; };
/** /**
flags you can pass into SOIL_load_OGL_texture() flags you can pass into SOIL_load_OGL_texture()
and SOIL_create_OGL_texture(). and SOIL_create_OGL_texture().
(note that if SOIL_FLAG_DDS_LOAD_DIRECT is used (note that if SOIL_FLAG_DDS_LOAD_DIRECT is used
the rest of the flags with the exception of the rest of the flags with the exception of
SOIL_FLAG_TEXTURE_REPEATS will be ignored while SOIL_FLAG_TEXTURE_REPEATS will be ignored while
loading already-compressed DDS files.) loading already-compressed DDS files.)
SOIL_FLAG_POWER_OF_TWO: force the image to be POT SOIL_FLAG_POWER_OF_TWO: force the image to be POT
SOIL_FLAG_MIPMAPS: generate mipmaps for the texture SOIL_FLAG_MIPMAPS: generate mipmaps for the texture
SOIL_FLAG_TEXTURE_REPEATS: otherwise will clamp SOIL_FLAG_TEXTURE_REPEATS: otherwise will clamp
SOIL_FLAG_MULTIPLY_ALPHA: for using (GL_ONE,GL_ONE_MINUS_SRC_ALPHA) blending SOIL_FLAG_MULTIPLY_ALPHA: for using (GL_ONE,GL_ONE_MINUS_SRC_ALPHA) blending
SOIL_FLAG_INVERT_Y: flip the image vertically SOIL_FLAG_INVERT_Y: flip the image vertically
SOIL_FLAG_COMPRESS_TO_DXT: if the card can display them, will convert RGB to DXT1, RGBA to DXT5 SOIL_FLAG_COMPRESS_TO_DXT: if the card can display them, will convert RGB to DXT1, RGBA to DXT5
SOIL_FLAG_DDS_LOAD_DIRECT: will load DDS files directly without _ANY_ additional processing SOIL_FLAG_DDS_LOAD_DIRECT: will load DDS files directly without _ANY_ additional processing
SOIL_FLAG_NTSC_SAFE_RGB: clamps RGB components to the range [16,235] SOIL_FLAG_NTSC_SAFE_RGB: clamps RGB components to the range [16,235]
SOIL_FLAG_CoCg_Y: Google YCoCg; RGB=>CoYCg, RGBA=>CoCgAY SOIL_FLAG_CoCg_Y: Google YCoCg; RGB=>CoYCg, RGBA=>CoCgAY
SOIL_FLAG_TEXTURE_RECTANGE: uses ARB_texture_rectangle ; pixel indexed & no repeat or MIPmaps or cubemaps SOIL_FLAG_TEXTURE_RECTANGE: uses ARB_texture_rectangle ; pixel indexed & no repeat or MIPmaps or cubemaps
**/ **/
enum enum
{ {
SOIL_FLAG_POWER_OF_TWO = 1, SOIL_FLAG_POWER_OF_TWO = 1,
SOIL_FLAG_MIPMAPS = 2, SOIL_FLAG_MIPMAPS = 2,
SOIL_FLAG_TEXTURE_REPEATS = 4, SOIL_FLAG_TEXTURE_REPEATS = 4,
SOIL_FLAG_MULTIPLY_ALPHA = 8, SOIL_FLAG_MULTIPLY_ALPHA = 8,
SOIL_FLAG_INVERT_Y = 16, SOIL_FLAG_INVERT_Y = 16,
SOIL_FLAG_COMPRESS_TO_DXT = 32, SOIL_FLAG_COMPRESS_TO_DXT = 32,
SOIL_FLAG_DDS_LOAD_DIRECT = 64, SOIL_FLAG_DDS_LOAD_DIRECT = 64,
SOIL_FLAG_NTSC_SAFE_RGB = 128, SOIL_FLAG_NTSC_SAFE_RGB = 128,
SOIL_FLAG_CoCg_Y = 256, SOIL_FLAG_CoCg_Y = 256,
SOIL_FLAG_TEXTURE_RECTANGLE = 512 SOIL_FLAG_TEXTURE_RECTANGLE = 512
}; };
/** /**
The types of images that may be saved. The types of images that may be saved.
(TGA supports uncompressed RGB / RGBA) (TGA supports uncompressed RGB / RGBA)
(BMP supports uncompressed RGB) (BMP supports uncompressed RGB)
(DDS supports DXT1 and DXT5) (DDS supports DXT1 and DXT5)
**/ **/
enum enum
{ {
SOIL_SAVE_TYPE_TGA = 0, SOIL_SAVE_TYPE_TGA = 0,
SOIL_SAVE_TYPE_BMP = 1, SOIL_SAVE_TYPE_BMP = 1,
SOIL_SAVE_TYPE_DDS = 2 SOIL_SAVE_TYPE_DDS = 2
}; };
/** /**
Defines the order of faces in a DDS cubemap. Defines the order of faces in a DDS cubemap.
I recommend that you use the same order in single I recommend that you use the same order in single
image cubemap files, so they will be interchangeable image cubemap files, so they will be interchangeable
with DDS cubemaps when using SOIL. with DDS cubemaps when using SOIL.
**/ **/
#define SOIL_DDS_CUBEMAP_FACE_ORDER "EWUDNS" #define SOIL_DDS_CUBEMAP_FACE_ORDER "EWUDNS"
/** /**
The types of internal fake HDR representations The types of internal fake HDR representations
SOIL_HDR_RGBE: RGB * pow( 2.0, A - 128.0 ) SOIL_HDR_RGBE: RGB * pow( 2.0, A - 128.0 )
SOIL_HDR_RGBdivA: RGB / A SOIL_HDR_RGBdivA: RGB / A
SOIL_HDR_RGBdivA2: RGB / (A*A) SOIL_HDR_RGBdivA2: RGB / (A*A)
**/ **/
enum enum
{ {
SOIL_HDR_RGBE = 0, SOIL_HDR_RGBE = 0,
SOIL_HDR_RGBdivA = 1, SOIL_HDR_RGBdivA = 1,
SOIL_HDR_RGBdivA2 = 2 SOIL_HDR_RGBdivA2 = 2
}; };
/** /**
Loads an image from disk into an OpenGL texture. Loads an image from disk into an OpenGL texture.
\param filename the name of the file to upload as a texture \param filename the name of the file to upload as a texture
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_texture unsigned int SOIL_load_OGL_texture
( (
const char *filename, const char *filename,
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads 6 images from disk into an OpenGL cubemap texture. Loads 6 images from disk into an OpenGL cubemap texture.
\param x_pos_file the name of the file to upload as the +x cube face \param x_pos_file the name of the file to upload as the +x cube face
\param x_neg_file the name of the file to upload as the -x cube face \param x_neg_file the name of the file to upload as the -x cube face
\param y_pos_file the name of the file to upload as the +y cube face \param y_pos_file the name of the file to upload as the +y cube face
\param y_neg_file the name of the file to upload as the -y cube face \param y_neg_file the name of the file to upload as the -y cube face
\param z_pos_file the name of the file to upload as the +z cube face \param z_pos_file the name of the file to upload as the +z cube face
\param z_neg_file the name of the file to upload as the -z cube face \param z_neg_file the name of the file to upload as the -z cube face
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_cubemap unsigned int SOIL_load_OGL_cubemap
( (
const char *x_pos_file, const char *x_pos_file,
const char *x_neg_file, const char *x_neg_file,
const char *y_pos_file, const char *y_pos_file,
const char *y_neg_file, const char *y_neg_file,
const char *z_pos_file, const char *z_pos_file,
const char *z_neg_file, const char *z_neg_file,
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads 1 image from disk and splits it into an OpenGL cubemap texture. Loads 1 image from disk and splits it into an OpenGL cubemap texture.
\param filename the name of the file to upload as a texture \param filename the name of the file to upload as a texture
\param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc. \param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc.
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_single_cubemap unsigned int SOIL_load_OGL_single_cubemap
( (
const char *filename, const char *filename,
const char face_order[6], const char face_order[6],
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads an HDR image from disk into an OpenGL texture. Loads an HDR image from disk into an OpenGL texture.
\param filename the name of the file to upload as a texture \param filename the name of the file to upload as a texture
\param fake_HDR_format SOIL_HDR_RGBE, SOIL_HDR_RGBdivA, SOIL_HDR_RGBdivA2 \param fake_HDR_format SOIL_HDR_RGBE, SOIL_HDR_RGBdivA, SOIL_HDR_RGBdivA2
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_HDR_texture unsigned int SOIL_load_OGL_HDR_texture
( (
const char *filename, const char *filename,
int fake_HDR_format, int fake_HDR_format,
int rescale_to_max, int rescale_to_max,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads an image from RAM into an OpenGL texture. Loads an image from RAM into an OpenGL texture.
\param buffer the image data in RAM just as if it were still in a file \param buffer the image data in RAM just as if it were still in a file
\param buffer_length the size of the buffer in bytes \param buffer_length the size of the buffer in bytes
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_texture_from_memory unsigned int SOIL_load_OGL_texture_from_memory
( (
const unsigned char *const buffer, const unsigned char *const buffer,
int buffer_length, int buffer_length,
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads 6 images from memory into an OpenGL cubemap texture. Loads 6 images from memory into an OpenGL cubemap texture.
\param x_pos_buffer the image data in RAM to upload as the +x cube face \param x_pos_buffer the image data in RAM to upload as the +x cube face
\param x_pos_buffer_length the size of the above buffer \param x_pos_buffer_length the size of the above buffer
\param x_neg_buffer the image data in RAM to upload as the +x cube face \param x_neg_buffer the image data in RAM to upload as the +x cube face
\param x_neg_buffer_length the size of the above buffer \param x_neg_buffer_length the size of the above buffer
\param y_pos_buffer the image data in RAM to upload as the +x cube face \param y_pos_buffer the image data in RAM to upload as the +x cube face
\param y_pos_buffer_length the size of the above buffer \param y_pos_buffer_length the size of the above buffer
\param y_neg_buffer the image data in RAM to upload as the +x cube face \param y_neg_buffer the image data in RAM to upload as the +x cube face
\param y_neg_buffer_length the size of the above buffer \param y_neg_buffer_length the size of the above buffer
\param z_pos_buffer the image data in RAM to upload as the +x cube face \param z_pos_buffer the image data in RAM to upload as the +x cube face
\param z_pos_buffer_length the size of the above buffer \param z_pos_buffer_length the size of the above buffer
\param z_neg_buffer the image data in RAM to upload as the +x cube face \param z_neg_buffer the image data in RAM to upload as the +x cube face
\param z_neg_buffer_length the size of the above buffer \param z_neg_buffer_length the size of the above buffer
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_cubemap_from_memory unsigned int SOIL_load_OGL_cubemap_from_memory
( (
const unsigned char *const x_pos_buffer, const unsigned char *const x_pos_buffer,
int x_pos_buffer_length, int x_pos_buffer_length,
const unsigned char *const x_neg_buffer, const unsigned char *const x_neg_buffer,
int x_neg_buffer_length, int x_neg_buffer_length,
const unsigned char *const y_pos_buffer, const unsigned char *const y_pos_buffer,
int y_pos_buffer_length, int y_pos_buffer_length,
const unsigned char *const y_neg_buffer, const unsigned char *const y_neg_buffer,
int y_neg_buffer_length, int y_neg_buffer_length,
const unsigned char *const z_pos_buffer, const unsigned char *const z_pos_buffer,
int z_pos_buffer_length, int z_pos_buffer_length,
const unsigned char *const z_neg_buffer, const unsigned char *const z_neg_buffer,
int z_neg_buffer_length, int z_neg_buffer_length,
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Loads 1 image from RAM and splits it into an OpenGL cubemap texture. Loads 1 image from RAM and splits it into an OpenGL cubemap texture.
\param buffer the image data in RAM just as if it were still in a file \param buffer the image data in RAM just as if it were still in a file
\param buffer_length the size of the buffer in bytes \param buffer_length the size of the buffer in bytes
\param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc. \param face_order the order of the faces in the file, any combination of NSWEUD, for North, South, Up, etc.
\param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param force_channels 0-image format, 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_load_OGL_single_cubemap_from_memory unsigned int SOIL_load_OGL_single_cubemap_from_memory
( (
const unsigned char *const buffer, const unsigned char *const buffer,
int buffer_length, int buffer_length,
const char face_order[6], const char face_order[6],
int force_channels, int force_channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Creates a 2D OpenGL texture from raw image data. Note that the raw data is Creates a 2D OpenGL texture from raw image data. Note that the raw data is
_NOT_ freed after the upload (so the user can load various versions). _NOT_ freed after the upload (so the user can load various versions).
\param data the raw data to be uploaded as an OpenGL texture \param data the raw data to be uploaded as an OpenGL texture
\param width the width of the image in pixels \param width the width of the image in pixels
\param height the height of the image in pixels \param height the height of the image in pixels
\param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_create_OGL_texture unsigned int SOIL_create_OGL_texture
( (
const unsigned char *const data, const unsigned char *const data,
int width, int height, int channels, int width, int height, int channels,
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Creates an OpenGL cubemap texture by splitting up 1 image into 6 parts. Creates an OpenGL cubemap texture by splitting up 1 image into 6 parts.
\param data the raw data to be uploaded as an OpenGL texture \param data the raw data to be uploaded as an OpenGL texture
\param width the width of the image in pixels \param width the width of the image in pixels
\param height the height of the image in pixels \param height the height of the image in pixels
\param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA \param channels the number of channels: 1-luminous, 2-luminous/alpha, 3-RGB, 4-RGBA
\param face_order the order of the faces in the file, and combination of NSWEUD, for North, South, Up, etc. \param face_order the order of the faces in the file, and combination of NSWEUD, for North, South, Up, etc.
\param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture) \param reuse_texture_ID 0-generate a new texture ID, otherwise reuse the texture ID (overwriting the old texture)
\param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT \param flags can be any of SOIL_FLAG_POWER_OF_TWO | SOIL_FLAG_MIPMAPS | SOIL_FLAG_TEXTURE_REPEATS | SOIL_FLAG_MULTIPLY_ALPHA | SOIL_FLAG_INVERT_Y | SOIL_FLAG_COMPRESS_TO_DXT | SOIL_FLAG_DDS_LOAD_DIRECT
\return 0-failed, otherwise returns the OpenGL texture handle \return 0-failed, otherwise returns the OpenGL texture handle
**/ **/
unsigned int SOIL_create_OGL_single_cubemap unsigned int SOIL_create_OGL_single_cubemap
( (
const unsigned char *const data, const unsigned char *const data,
int width, int height, int channels, int width, int height, int channels,
const char face_order[6], const char face_order[6],
unsigned int reuse_texture_ID, unsigned int reuse_texture_ID,
unsigned int flags unsigned int flags
); );
/** /**
Captures the OpenGL window (RGB) and saves it to disk Captures the OpenGL window (RGB) and saves it to disk
\return 0 if it failed, otherwise returns 1 \return 0 if it failed, otherwise returns 1
**/ **/
int SOIL_save_screenshot int SOIL_save_screenshot
( (
const char *filename, const char *filename,
int image_type, int image_type,
int x, int y, int x, int y,
int width, int height int width, int height
); );
/** /**
Loads an image from disk into an array of unsigned chars. Loads an image from disk into an array of unsigned chars.
Note that *channels return the original channel count of the Note that *channels return the original channel count of the
image. If force_channels was other than SOIL_LOAD_AUTO, image. If force_channels was other than SOIL_LOAD_AUTO,
the resulting image has force_channels, but *channels may be the resulting image has force_channels, but *channels may be
different (if the original image had a different channel different (if the original image had a different channel
count). count).
\return 0 if failed, otherwise returns 1 \return 0 if failed, otherwise returns 1
**/ **/
unsigned char* SOIL_load_image unsigned char* SOIL_load_image
( (
const char *filename, const char *filename,
int *width, int *height, int *channels, int *width, int *height, int *channels,
int force_channels int force_channels
); );
/** /**
Loads an image from memory into an array of unsigned chars. Loads an image from memory into an array of unsigned chars.
Note that *channels return the original channel count of the Note that *channels return the original channel count of the
image. If force_channels was other than SOIL_LOAD_AUTO, image. If force_channels was other than SOIL_LOAD_AUTO,
the resulting image has force_channels, but *channels may be the resulting image has force_channels, but *channels may be
different (if the original image had a different channel different (if the original image had a different channel
count). count).
\return 0 if failed, otherwise returns 1 \return 0 if failed, otherwise returns 1
**/ **/
unsigned char* SOIL_load_image_from_memory unsigned char* SOIL_load_image_from_memory
( (
const unsigned char *const buffer, const unsigned char *const buffer,
int buffer_length, int buffer_length,
int *width, int *height, int *channels, int *width, int *height, int *channels,
int force_channels int force_channels
); );
/** /**
Saves an image from an array of unsigned chars (RGBA) to disk Saves an image from an array of unsigned chars (RGBA) to disk
\return 0 if failed, otherwise returns 1 \return 0 if failed, otherwise returns 1
**/ **/
int SOIL_save_image int SOIL_save_image
( (
const char *filename, const char *filename,
int image_type, int image_type,
int width, int height, int channels, int width, int height, int channels,
const unsigned char *const data const unsigned char *const data
); );
/** /**
Frees the image data (note, this is just C's "free()"...this function is Frees the image data (note, this is just C's "free()"...this function is
present mostly so C++ programmers don't forget to use "free()" and call present mostly so C++ programmers don't forget to use "free()" and call
"delete []" instead [8^) "delete []" instead [8^)
**/ **/
void SOIL_free_image_data void SOIL_free_image_data
( (
unsigned char *img_data unsigned char *img_data
); );
/** /**
This function resturn a pointer to a string describing the last thing This function resturn a pointer to a string describing the last thing
that happened inside SOIL. It can be used to determine why an image that happened inside SOIL. It can be used to determine why an image
failed to load. failed to load.
**/ **/
const char* SOIL_last_result const char* SOIL_last_result
( (
void void
); );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY */ #endif /* HEADER_SIMPLE_OPENGL_IMAGE_LIBRARY */

View File

@ -1,318 +1,318 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="SOIL" Name="SOIL"
ProjectGUID="{C0B84DA9-FF15-4FAB-9590-17132F3C6DE4}" ProjectGUID="{C0B84DA9-FF15-4FAB-9590-17132F3C6DE4}"
RootNamespace="SOIL" RootNamespace="SOIL"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
EnableFunctionLevelLinking="false" EnableFunctionLevelLinking="false"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
DisableSpecificWarnings="4018;4267;4224;4244;" DisableSpecificWarnings="4018;4267;4224;4244;"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
EnableFunctionLevelLinking="false" EnableFunctionLevelLinking="false"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
DisableSpecificWarnings="4018;4267;4224;4244;" DisableSpecificWarnings="4018;4267;4224;4244;"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\image_DXT.c" RelativePath=".\image_DXT.c"
> >
</File> </File>
<File <File
RelativePath=".\image_DXT.h" RelativePath=".\image_DXT.h"
> >
</File> </File>
<File <File
RelativePath=".\image_helper.c" RelativePath=".\image_helper.c"
> >
</File> </File>
<File <File
RelativePath=".\image_helper.h" RelativePath=".\image_helper.h"
> >
</File> </File>
<File <File
RelativePath=".\SOIL.c" RelativePath=".\SOIL.c"
> >
</File> </File>
<File <File
RelativePath=".\SOIL.h" RelativePath=".\SOIL.h"
> >
</File> </File>
<File <File
RelativePath=".\stb_image_aug.c" RelativePath=".\stb_image_aug.c"
> >
</File> </File>
<File <File
RelativePath=".\stb_image_aug.h" RelativePath=".\stb_image_aug.h"
> >
</File> </File>
<File <File
RelativePath=".\stbi_DDS_aug.h" RelativePath=".\stbi_DDS_aug.h"
> >
</File> </File>
<File <File
RelativePath=".\stbi_DDS_aug_c.h" RelativePath=".\stbi_DDS_aug_c.h"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,389 +1,389 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="zlib" Name="zlib"
ProjectGUID="{3E03C179-8251-46E4-81F4-466F114BAC63}" ProjectGUID="{3E03C179-8251-46E4-81F4-466F114BAC63}"
RootNamespace="zlib" RootNamespace="zlib"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)" OutputDirectory="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2" FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Source Files" Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
> >
<File <File
RelativePath=".\adler32.c" RelativePath=".\adler32.c"
> >
</File> </File>
<File <File
RelativePath=".\compress.c" RelativePath=".\compress.c"
> >
</File> </File>
<File <File
RelativePath=".\crc32.c" RelativePath=".\crc32.c"
> >
</File> </File>
<File <File
RelativePath=".\deflate.c" RelativePath=".\deflate.c"
> >
</File> </File>
<File <File
RelativePath=".\gzio.c" RelativePath=".\gzio.c"
> >
</File> </File>
<File <File
RelativePath=".\infback.c" RelativePath=".\infback.c"
> >
</File> </File>
<File <File
RelativePath=".\inffast.c" RelativePath=".\inffast.c"
> >
</File> </File>
<File <File
RelativePath=".\inflate.c" RelativePath=".\inflate.c"
> >
</File> </File>
<File <File
RelativePath=".\inftrees.c" RelativePath=".\inftrees.c"
> >
</File> </File>
<File <File
RelativePath=".\trees.c" RelativePath=".\trees.c"
> >
</File> </File>
<File <File
RelativePath=".\uncompr.c" RelativePath=".\uncompr.c"
> >
</File> </File>
<File <File
RelativePath=".\zutil.c" RelativePath=".\zutil.c"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Header Files" Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd" Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
> >
<File <File
RelativePath=".\crc32.h" RelativePath=".\crc32.h"
> >
</File> </File>
<File <File
RelativePath=".\deflate.h" RelativePath=".\deflate.h"
> >
</File> </File>
<File <File
RelativePath=".\inffast.h" RelativePath=".\inffast.h"
> >
</File> </File>
<File <File
RelativePath=".\inffixed.h" RelativePath=".\inffixed.h"
> >
</File> </File>
<File <File
RelativePath=".\inflate.h" RelativePath=".\inflate.h"
> >
</File> </File>
<File <File
RelativePath=".\inftrees.h" RelativePath=".\inftrees.h"
> >
</File> </File>
<File <File
RelativePath=".\trees.h" RelativePath=".\trees.h"
> >
</File> </File>
<File <File
RelativePath=".\zconf.h" RelativePath=".\zconf.h"
> >
</File> </File>
<File <File
RelativePath=".\zlib.h" RelativePath=".\zlib.h"
> >
</File> </File>
<File <File
RelativePath=".\zutil.h" RelativePath=".\zutil.h"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Resource Files" Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
> >
</Filter> </Filter>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,243 +1,243 @@
!system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script !system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script
!include "svnrev.txt" ; !defines PRODUCT_VERSION !include "svnrev.txt" ; !defines PRODUCT_VERSION
!define BASE_DIR "..\Binary\win32" !define BASE_DIR "..\Binary\win32"
; HM NIS Edit Wizard helper defines ; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Dolphin" !define PRODUCT_NAME "Dolphin"
!define PRODUCT_PUBLISHER "Dolphin Team" !define PRODUCT_PUBLISHER "Dolphin Team"
!define PRODUCT_WEB_SITE "http://www.dolphin-emu.com" !define PRODUCT_WEB_SITE "http://www.dolphin-emu.com"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
SetCompressor lzma SetCompressor lzma
; MUI 1.67 compatible ------ ; MUI 1.67 compatible ------
!include "MUI.nsh" !include "MUI.nsh"
; MUI Settings ; MUI Settings
!define MUI_ABORTWARNING !define MUI_ABORTWARNING
!define MUI_ICON "Dolphin.ico" !define MUI_ICON "Dolphin.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Language Selection Dialog Settings ; Language Selection Dialog Settings
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; License page ; License page
!insertmacro MUI_PAGE_LICENSE "Licence.txt" !insertmacro MUI_PAGE_LICENSE "Licence.txt"
; Components page ; Components page
!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_COMPONENTS
; Directory page ; Directory page
!insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_DIRECTORY
; Instfiles page ; Instfiles page
!insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_INSTFILES
; Finish page ; Finish page
; We launch the desktop shortcut to set the working dir ; We launch the desktop shortcut to set the working dir
!define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)" !define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)"
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin" !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin"
!insertmacro MUI_PAGE_FINISH !insertmacro MUI_PAGE_FINISH
; Uninstaller pages ; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_INSTFILES
; Language files ; Language files
!insertmacro MUI_LANGUAGE "Afrikaans" !insertmacro MUI_LANGUAGE "Afrikaans"
!insertmacro MUI_LANGUAGE "Albanian" !insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Arabic" !insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Basque" !insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Belarusian" !insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Bosnian" !insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Breton" !insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Catalan" !insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Estonian" !insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Farsi" !insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Galician" !insertmacro MUI_LANGUAGE "Galician"
!insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Hebrew" !insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Icelandic" !insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Indonesian" !insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Irish" !insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Kurdish" !insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Latvian" !insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Lithuanian" !insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Luxembourgish" !insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Macedonian" !insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Malay" !insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Mongolian" !insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "NorwegianNynorsk" !insertmacro MUI_LANGUAGE "NorwegianNynorsk"
!insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Romanian" !insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Serbian" !insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin" !insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian" !insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SpanishInternational" !insertmacro MUI_LANGUAGE "SpanishInternational"
!insertmacro MUI_LANGUAGE "Swedish" !insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Turkish" !insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Uzbek" !insertmacro MUI_LANGUAGE "Uzbek"
!insertmacro MUI_LANGUAGE "Welsh" !insertmacro MUI_LANGUAGE "Welsh"
; Reserve files ; Reserve files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; MUI end ------ ; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
!define UN_NAME "Uninstall $(^Name)" !define UN_NAME "Uninstall $(^Name)"
OutFile "Dolphin_Installer_win32.exe" OutFile "Dolphin_Installer_win32.exe"
InstallDir "$PROGRAMFILES\$(^Name)" InstallDir "$PROGRAMFILES\$(^Name)"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show ShowInstDetails show
ShowUnInstDetails show ShowUnInstDetails show
Function .onInit Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY !insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd FunctionEnd
Section "Base" SEC01 Section "Base" SEC01
SetShellVarContext all SetShellVarContext all
; Dolphin exe and dlls ; Dolphin exe and dlls
; TODO: cg is only for OGL, SDL is only for nJoy ; TODO: cg is only for OGL, SDL is only for nJoy
; TODO: Make a nice subsection-ized display ; TODO: Make a nice subsection-ized display
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
SetOverwrite ifnewer SetOverwrite ifnewer
File "${BASE_DIR}\Dolphin.exe" File "${BASE_DIR}\Dolphin.exe"
File "..\Externals\Cg\cg.dll" File "..\Externals\Cg\cg.dll"
File "..\Externals\Cg\cgGL.dll" File "..\Externals\Cg\cgGL.dll"
; File "..\Externals\Cg\cgD3D9.dll" ; File "..\Externals\Cg\cgD3D9.dll"
File "..\Externals\WiiUse\Win32\wiiuse.dll" File "..\Externals\WiiUse\Win32\wiiuse.dll"
File "..\Externals\SDL\win32\SDL.dll" File "..\Externals\SDL\win32\SDL.dll"
File "..\Externals\OpenAL\win32\OpenAL32.dll" File "..\Externals\OpenAL\win32\OpenAL32.dll"
File "..\Externals\OpenAL\win32\wrap_oal.dll" File "..\Externals\OpenAL\win32\wrap_oal.dll"
; This needs to be done after Dolphin.exe is copied ; This needs to be done after Dolphin.exe is copied
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" "$INSTDIR\Dolphin.exe" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" "$INSTDIR\Dolphin.exe"
CreateShortCut "$DESKTOP\Dolphin.lnk" "$INSTDIR\Dolphin.exe" CreateShortCut "$DESKTOP\Dolphin.lnk" "$INSTDIR\Dolphin.exe"
; Plugins ; Plugins
SetOutPath "$INSTDIR\Plugins" SetOutPath "$INSTDIR\Plugins"
SetOverwrite ifnewer SetOverwrite ifnewer
File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll" File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll"
File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll" File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll"
File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll" File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll"
File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll" File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll"
File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll" File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll" File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll" File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll"
File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll" File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll" File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll"
; GC/Wii static settings ; GC/Wii static settings
SetOutPath "$INSTDIR\Sys\GC" SetOutPath "$INSTDIR\Sys\GC"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\Sys\GC\font_ansi.bin" File "..\Data\Sys\GC\font_ansi.bin"
File "..\Data\Sys\GC\font_sjis.bin" File "..\Data\Sys\GC\font_sjis.bin"
SetOutPath "$INSTDIR\Sys\Wii" SetOutPath "$INSTDIR\Sys\Wii"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\Sys\Wii\setting-eur.txt" File "..\Data\Sys\Wii\setting-eur.txt"
File "..\Data\Sys\Wii\setting-jpn.txt" File "..\Data\Sys\Wii\setting-jpn.txt"
File "..\Data\Sys\Wii\setting-usa.txt" File "..\Data\Sys\Wii\setting-usa.txt"
; GC/Wii User settings ; GC/Wii User settings
SetOutPath "$INSTDIR\User\GC" SetOutPath "$INSTDIR\User\GC"
SetOutPath "$INSTDIR\User\Wii\shared2\sys" SetOutPath "$INSTDIR\User\Wii\shared2\sys"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\User\Wii\shared2\sys\readme.txt" File "..\Data\User\Wii\shared2\sys\readme.txt"
File "..\Data\User\Wii\shared2\sys\SYSCONF" File "..\Data\User\Wii\shared2\sys\SYSCONF"
; GameConfigs ; GameConfigs
SetOutPath "$INSTDIR\User\GameConfig" SetOutPath "$INSTDIR\User\GameConfig"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\User\GameConfig\*.*" File "..\Data\User\GameConfig\*.*"
SectionEnd SectionEnd
Section -AdditionalIcons Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe"
SectionEnd SectionEnd
Section -Post Section -Post
WriteUninstaller "$INSTDIR\uninst.exe" WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd SectionEnd
; Section descriptions ; Section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files." !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files."
!insertmacro MUI_FUNCTION_DESCRIPTION_END !insertmacro MUI_FUNCTION_DESCRIPTION_END
Function un.onUninstSuccess Function un.onUninstSuccess
HideWindow HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\
ATTENTION: You must manually delete$\r$\n$INSTDIR" ATTENTION: You must manually delete$\r$\n$INSTDIR"
FunctionEnd FunctionEnd
Function un.onInit Function un.onInit
!insertmacro MUI_UNGETLANGUAGE !insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2
Abort Abort
FunctionEnd FunctionEnd
Section Uninstall Section Uninstall
SetShellVarContext all SetShellVarContext all
; Only uninstall what we put there; all $INSTDIR\User is left as is ; Only uninstall what we put there; all $INSTDIR\User is left as is
Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\*.dll" Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\Plugins\*.dll" Delete "$INSTDIR\Plugins\*.dll"
Delete "$INSTDIR\Sys\Wii\setting-usa.txt" Delete "$INSTDIR\Sys\Wii\setting-usa.txt"
Delete "$INSTDIR\Sys\Wii\setting-jpn.txt" Delete "$INSTDIR\Sys\Wii\setting-jpn.txt"
Delete "$INSTDIR\Sys\Wii\setting-eur.txt" Delete "$INSTDIR\Sys\Wii\setting-eur.txt"
Delete "$INSTDIR\Sys\GC\font_sjis.bin" Delete "$INSTDIR\Sys\GC\font_sjis.bin"
Delete "$INSTDIR\Sys\GC\font_ansi.bin" Delete "$INSTDIR\Sys\GC\font_ansi.bin"
Delete "$INSTDIR\Dolphin.exe" Delete "$INSTDIR\Dolphin.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk"
Delete "$DESKTOP\Dolphin.lnk" Delete "$DESKTOP\Dolphin.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}" RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir "$INSTDIR\Sys\GC" RMDir "$INSTDIR\Sys\GC"
RMDir "$INSTDIR\Sys\Wii" RMDir "$INSTDIR\Sys\Wii"
RMDir "$INSTDIR\Sys" RMDir "$INSTDIR\Sys"
RMDir "$INSTDIR\Plugins" RMDir "$INSTDIR\Plugins"
RMDir "$INSTDIR" RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true SetAutoClose true
SectionEnd SectionEnd
Function LaunchDolphin Function LaunchDolphin
ExecShell "" "$DESKTOP\Dolphin.lnk" ExecShell "" "$DESKTOP\Dolphin.lnk"
FunctionEnd FunctionEnd

View File

@ -1,253 +1,253 @@
!system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script !system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script
!include "svnrev.txt" ; !defines PRODUCT_VERSION !include "svnrev.txt" ; !defines PRODUCT_VERSION
!define BASE_DIR "..\Binary\x64" !define BASE_DIR "..\Binary\x64"
; HM NIS Edit Wizard helper defines ; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Dolphin x64" !define PRODUCT_NAME "Dolphin x64"
!define PRODUCT_PUBLISHER "Dolphin Team" !define PRODUCT_PUBLISHER "Dolphin Team"
!define PRODUCT_WEB_SITE "http://www.dolphin-emu.com" !define PRODUCT_WEB_SITE "http://www.dolphin-emu.com"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
SetCompressor lzma SetCompressor lzma
; MUI 1.67 compatible ------ ; MUI 1.67 compatible ------
!include "MUI.nsh" !include "MUI.nsh"
; MUI Settings ; MUI Settings
!define MUI_ABORTWARNING !define MUI_ABORTWARNING
!define MUI_ICON "Dolphin.ico" !define MUI_ICON "Dolphin.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Language Selection Dialog Settings ; Language Selection Dialog Settings
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; License page ; License page
!insertmacro MUI_PAGE_LICENSE "Licence.txt" !insertmacro MUI_PAGE_LICENSE "Licence.txt"
; Components page ; Components page
!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_COMPONENTS
; Directory page ; Directory page
!insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_DIRECTORY
; Instfiles page ; Instfiles page
!insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_INSTFILES
; Finish page ; Finish page
; We launch the desktop shortcut to set the working dir ; We launch the desktop shortcut to set the working dir
!define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)" !define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)"
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin" !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin"
!insertmacro MUI_PAGE_FINISH !insertmacro MUI_PAGE_FINISH
; Uninstaller pages ; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_INSTFILES
; Language files ; Language files
!insertmacro MUI_LANGUAGE "Afrikaans" !insertmacro MUI_LANGUAGE "Afrikaans"
!insertmacro MUI_LANGUAGE "Albanian" !insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Arabic" !insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Basque" !insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Belarusian" !insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Bosnian" !insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Breton" !insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Catalan" !insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Estonian" !insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Farsi" !insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Galician" !insertmacro MUI_LANGUAGE "Galician"
!insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Hebrew" !insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Icelandic" !insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Indonesian" !insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Irish" !insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Kurdish" !insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Latvian" !insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Lithuanian" !insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Luxembourgish" !insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Macedonian" !insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Malay" !insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Mongolian" !insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "NorwegianNynorsk" !insertmacro MUI_LANGUAGE "NorwegianNynorsk"
!insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Romanian" !insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Serbian" !insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin" !insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian" !insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SpanishInternational" !insertmacro MUI_LANGUAGE "SpanishInternational"
!insertmacro MUI_LANGUAGE "Swedish" !insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Turkish" !insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Uzbek" !insertmacro MUI_LANGUAGE "Uzbek"
!insertmacro MUI_LANGUAGE "Welsh" !insertmacro MUI_LANGUAGE "Welsh"
; Reserve files ; Reserve files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; MUI end ------ ; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
!define UN_NAME "Uninstall $(^Name)" !define UN_NAME "Uninstall $(^Name)"
OutFile "Dolphin_Installer_x64.exe" OutFile "Dolphin_Installer_x64.exe"
InstallDir "$PROGRAMFILES64\$(^Name)" InstallDir "$PROGRAMFILES64\$(^Name)"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show ShowInstDetails show
ShowUnInstDetails show ShowUnInstDetails show
Function .onInit Function .onInit
!include "x64.nsh" !include "x64.nsh"
; This checks if nsis is running under wow64 (since nsis is only 32bit) ; This checks if nsis is running under wow64 (since nsis is only 32bit)
; hopefully this will be dependable in the future too... ; hopefully this will be dependable in the future too...
${If} ${RunningX64} ${If} ${RunningX64}
!insertmacro MUI_LANGDLL_DISPLAY !insertmacro MUI_LANGDLL_DISPLAY
SetRegView 64 SetRegView 64
${Else} ${Else}
MessageBox MB_OK|MB_ICONSTOP "You cannot run this version of Dolphin on your OS.$\r$\n\ MessageBox MB_OK|MB_ICONSTOP "You cannot run this version of Dolphin on your OS.$\r$\n\
Please use a 64-bit OS or download a 32-bit version of Dolphin." Please use a 64-bit OS or download a 32-bit version of Dolphin."
Quit Quit
${EndIf} ${EndIf}
FunctionEnd FunctionEnd
Section "Complete" SEC01 Section "Complete" SEC01
SetShellVarContext all SetShellVarContext all
; Dolphin exe and dlls ; Dolphin exe and dlls
; TODO: cg is only for OGL, SDL is only for nJoy ; TODO: cg is only for OGL, SDL is only for nJoy
; TODO: Make a nice subsection-ized display ; TODO: Make a nice subsection-ized display
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
SetOverwrite ifnewer SetOverwrite ifnewer
File "${BASE_DIR}\Dolphin.exe" File "${BASE_DIR}\Dolphin.exe"
File "..\Externals\Cg64\cg.dll" File "..\Externals\Cg64\cg.dll"
File "..\Externals\Cg64\cgGL.dll" File "..\Externals\Cg64\cgGL.dll"
; File "..\Externals\Cg64\cgD3D9.dll" ; File "..\Externals\Cg64\cgD3D9.dll"
File "..\Externals\WiiUse\X64\wiiuse.dll" File "..\Externals\WiiUse\X64\wiiuse.dll"
File "..\Externals\SDL\x64\SDL.dll" File "..\Externals\SDL\x64\SDL.dll"
File "..\Externals\OpenAL\win64\OpenAL32.dll" File "..\Externals\OpenAL\win64\OpenAL32.dll"
File "..\Externals\OpenAL\win64\wrap_oal.dll" File "..\Externals\OpenAL\win64\wrap_oal.dll"
; This needs to be done after Dolphin.exe is copied ; This needs to be done after Dolphin.exe is copied
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe"
CreateShortCut "$DESKTOP\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe" CreateShortCut "$DESKTOP\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe"
; Plugins ; Plugins
SetOutPath "$INSTDIR\Plugins" SetOutPath "$INSTDIR\Plugins"
SetOverwrite ifnewer SetOverwrite ifnewer
File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll" File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll"
File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll" File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll"
File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll" File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll"
File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll" File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll"
File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll" File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll" File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll" File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll"
File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll" File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll"
File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll" File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll"
; GC/Wii static settings ; GC/Wii static settings
SetOutPath "$INSTDIR\Sys\GC" SetOutPath "$INSTDIR\Sys\GC"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\Sys\GC\font_ansi.bin" File "..\Data\Sys\GC\font_ansi.bin"
File "..\Data\Sys\GC\font_sjis.bin" File "..\Data\Sys\GC\font_sjis.bin"
SetOutPath "$INSTDIR\Sys\Wii" SetOutPath "$INSTDIR\Sys\Wii"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\Sys\Wii\setting-eur.txt" File "..\Data\Sys\Wii\setting-eur.txt"
File "..\Data\Sys\Wii\setting-jpn.txt" File "..\Data\Sys\Wii\setting-jpn.txt"
File "..\Data\Sys\Wii\setting-usa.txt" File "..\Data\Sys\Wii\setting-usa.txt"
; GC/Wii User settings ; GC/Wii User settings
SetOutPath "$INSTDIR\User\GC" SetOutPath "$INSTDIR\User\GC"
SetOutPath "$INSTDIR\User\Wii\shared2\sys" SetOutPath "$INSTDIR\User\Wii\shared2\sys"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\User\Wii\shared2\sys\readme.txt" File "..\Data\User\Wii\shared2\sys\readme.txt"
File "..\Data\User\Wii\shared2\sys\SYSCONF" File "..\Data\User\Wii\shared2\sys\SYSCONF"
; GameConfigs ; GameConfigs
SetOutPath "$INSTDIR\User\GameConfig" SetOutPath "$INSTDIR\User\GameConfig"
SetOverwrite ifnewer SetOverwrite ifnewer
File "..\Data\User\GameConfig\*.*" File "..\Data\User\GameConfig\*.*"
SectionEnd SectionEnd
Section -AdditionalIcons Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe"
SectionEnd SectionEnd
Section -Post Section -Post
WriteUninstaller "$INSTDIR\uninst.exe" WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd SectionEnd
; Section descriptions ; Section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files." !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files."
!insertmacro MUI_FUNCTION_DESCRIPTION_END !insertmacro MUI_FUNCTION_DESCRIPTION_END
Function un.onUninstSuccess Function un.onUninstSuccess
HideWindow HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\
ATTENTION: You must manually delete$\r$\n$INSTDIR" ATTENTION: You must manually delete$\r$\n$INSTDIR"
FunctionEnd FunctionEnd
Function un.onInit Function un.onInit
!insertmacro MUI_UNGETLANGUAGE !insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2
Abort Abort
FunctionEnd FunctionEnd
Section Uninstall Section Uninstall
SetShellVarContext all SetShellVarContext all
; Only uninstall what we put there; all $INSTDIR\User is left as is ; Only uninstall what we put there; all $INSTDIR\User is left as is
Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\*.dll" Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\Plugins\*.dll" Delete "$INSTDIR\Plugins\*.dll"
Delete "$INSTDIR\Sys\Wii\setting-usa.txt" Delete "$INSTDIR\Sys\Wii\setting-usa.txt"
Delete "$INSTDIR\Sys\Wii\setting-jpn.txt" Delete "$INSTDIR\Sys\Wii\setting-jpn.txt"
Delete "$INSTDIR\Sys\Wii\setting-eur.txt" Delete "$INSTDIR\Sys\Wii\setting-eur.txt"
Delete "$INSTDIR\Sys\GC\font_sjis.bin" Delete "$INSTDIR\Sys\GC\font_sjis.bin"
Delete "$INSTDIR\Sys\GC\font_ansi.bin" Delete "$INSTDIR\Sys\GC\font_ansi.bin"
Delete "$INSTDIR\Dolphin.exe" Delete "$INSTDIR\Dolphin.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk"
Delete "$DESKTOP\Dolphin x64.lnk" Delete "$DESKTOP\Dolphin x64.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}" RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir "$INSTDIR\Sys\GC" RMDir "$INSTDIR\Sys\GC"
RMDir "$INSTDIR\Sys\Wii" RMDir "$INSTDIR\Sys\Wii"
RMDir "$INSTDIR\Sys" RMDir "$INSTDIR\Sys"
RMDir "$INSTDIR\Plugins" RMDir "$INSTDIR\Plugins"
RMDir "$INSTDIR" RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true SetAutoClose true
SectionEnd SectionEnd
Function LaunchDolphin Function LaunchDolphin
ExecShell "" "$DESKTOP\Dolphin x64.lnk" ExecShell "" "$DESKTOP\Dolphin x64.lnk"
FunctionEnd FunctionEnd

View File

@ -1 +1 @@
This package is provided "as is" and without warranty. Any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the authors be liable to any party for any direct, indirect, incidental, special, exemplary, or consequential damages arising in any way out of the use of this package. This package is provided "as is" and without warranty. Any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the authors be liable to any party for any direct, indirect, incidental, special, exemplary, or consequential damages arising in any way out of the use of this package.

View File

@ -1,71 +1,71 @@
Dolphin-emu - The Gamecube / Wii Emulator Dolphin-emu - The Gamecube / Wii Emulator
========================================== ==========================================
Homesite: http://dolphin-emu.com/ Homesite: http://dolphin-emu.com/
Project Site: http://code.google.com/p/dolphin-emu Project Site: http://code.google.com/p/dolphin-emu
About: Dolphin-emu is a emulator for Gamecube, Wii, Triforce that lets you run Wii/GCN/Tri games on your Windows/Linux/MacOSX PC system About: Dolphin-emu is a emulator for Gamecube, Wii, Triforce that lets you run Wii/GCN/Tri games on your Windows/Linux/MacOSX PC system
Open Source Release under GPL 2 Open Source Release under GPL 2
Project Leaders: F|RES, ector Project Leaders: F|RES, ector
Team members: http://code.google.com/p/dolphin-emu/people/ Team members: http://code.google.com/p/dolphin-emu/people/
Please read the FAQ before use: http://code.google.com/p/dolphin-emu/wiki/Facts_And_Questions Please read the FAQ before use: http://code.google.com/p/dolphin-emu/wiki/Facts_And_Questions
System Requirements: System Requirements:
* OS: Microsoft Windows (2000/XP/Vista or higher) or Linux or Apple Mac OS X. * OS: Microsoft Windows (2000/XP/Vista or higher) or Linux or Apple Mac OS X.
* Processor: Fast CPU with SSE2 supported (recommended at least 2Ghz). Dual Core for speed boost. * Processor: Fast CPU with SSE2 supported (recommended at least 2Ghz). Dual Core for speed boost.
* Graphics: Any graphics card that supports Direct3D 9 or OpenGL 2.1. * Graphics: Any graphics card that supports Direct3D 9 or OpenGL 2.1.
[Command line usage] [Command line usage]
Usage: Dolphin [-h] [-d] [-l] [-e <str>] [-V <str>] [-A <str>] [-P <str>] [-W <str>] Usage: Dolphin [-h] [-d] [-l] [-e <str>] [-V <str>] [-A <str>] [-P <str>] [-W <str>]
-h, --help Show this help message -h, --help Show this help message
-d, --debugger Opens the debugger -d, --debugger Opens the debugger
-l, --logger Opens The Logger -l, --logger Opens The Logger
-e, --elf=<str> Loads an elf file -e, --elf=<str> Loads an elf file
-V, --video_plugin=<str> Specify a video plugin -V, --video_plugin=<str> Specify a video plugin
-A, --audio_plugin=<str> Specify an audio plugin -A, --audio_plugin=<str> Specify an audio plugin
-P, --pad_plugin=<str> Specify a pad plugin -P, --pad_plugin=<str> Specify a pad plugin
-W, --wiimote_plugin=<str> Specify a wiimote plugin -W, --wiimote_plugin=<str> Specify a wiimote plugin
[Libraries] [Libraries]
Cg: Cg Shading API (http://developer.nvidia.com/object/cg_toolkit.html) Cg: Cg Shading API (http://developer.nvidia.com/object/cg_toolkit.html)
WiiUse: Wiimote Bluetooth API (http://www.wiiuse.net/) WiiUse: Wiimote Bluetooth API (http://www.wiiuse.net/)
SDL: Simple DirectMedia Layer API (http://www.libsdl.org/) SDL: Simple DirectMedia Layer API (http://www.libsdl.org/)
*.pdb = Program Debug Database (use these symbols with a program debugger) *.pdb = Program Debug Database (use these symbols with a program debugger)
[DSP Plugins] [DSP Plugins]
Plugin_DSP_HLE: High Level DSP Emulation Plugin_DSP_HLE: High Level DSP Emulation
Plugin_DSP_LLE: Low Level DSP Emulation Plugin_DSP_LLE: Low Level DSP Emulation
[Video Plugins] [Video Plugins]
Plugin_VideoDX9: Render with Direct3D 9 Plugin_VideoDX9: Render with Direct3D 9
Plugin_VideoOGL: Render with OpenGL + Cg Shader Language Plugin_VideoOGL: Render with OpenGL + Cg Shader Language
[Gamecube Controller Plugins] [Gamecube Controller Plugins]
Plugin_GCPad: Use keyboard or joypads Plugin_GCPad: Use keyboard or joypads
[Wiimote Plugins] [Wiimote Plugins]
Plugin_Wiimote: Use native wiimote or keyboard Plugin_Wiimote: Use native wiimote or keyboard
[Sys Files] [Sys Files]
totaldb.dsy: Database of symbols (for devs only) totaldb.dsy: Database of symbols (for devs only)
font_ansi.bin/font_sjis.bin: font dumps font_ansi.bin/font_sjis.bin: font dumps
setting-usa/jpn/usa.txt: config files for Wii setting-usa/jpn/usa.txt: config files for Wii
[Support Folders] [Support Folders]
Cache: used to cache the ISO list Cache: used to cache the ISO list
Config: emulator configuration files Config: emulator configuration files
Dump: anything dumped from dolphin will go here Dump: anything dumped from dolphin will go here
GC: Gamecube memory cards GC: Gamecube memory cards
GameConfig: holds the INI game config files GameConfig: holds the INI game config files
Load: high resolution textures Load: high resolution textures
Logs: logs go here Logs: logs go here
Maps: symbol tables go here (dev only) Maps: symbol tables go here (dev only)
OpenCL: OpenCL code OpenCL: OpenCL code
ScreenShots: screenshots are saved here ScreenShots: screenshots are saved here
Shaders: post-processing shaders Shaders: post-processing shaders
StateSaves: save states are stored here StateSaves: save states are stored here
Wii: Wii saves and config is stored here Wii: Wii saves and config is stored here

View File

@ -1,491 +1,491 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="AudioCommon" Name="AudioCommon"
ProjectGUID="{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}" ProjectGUID="{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}"
RootNamespace="AudioCommon" RootNamespace="AudioCommon"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
WarningLevel="3" WarningLevel="3"
WarnAsError="false" WarnAsError="false"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="false" StringPooling="false"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="true" BufferSecurityCheck="true"
EnableFunctionLevelLinking="false" EnableFunctionLevelLinking="false"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="dxguid.lib dsound.lib dxerr.lib" AdditionalDependencies="dxguid.lib dsound.lib dxerr.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="false" StringPooling="false"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="true" BufferSecurityCheck="true"
EnableFunctionLevelLinking="false" EnableFunctionLevelLinking="false"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalDependencies="dxguid.lib dsound.lib dxerr.lib" AdditionalDependencies="dxguid.lib dsound.lib dxerr.lib"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|Win32" Name="DebugFast|Win32"
OutputDirectory="$(ConfigurationName)" OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="4" Optimization="4"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="false" MinimalRebuild="false"
ExceptionHandling="1" ExceptionHandling="1"
BasicRuntimeChecks="0" BasicRuntimeChecks="0"
RuntimeLibrary="0" RuntimeLibrary="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|x64" Name="DebugFast|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/Common/Src" AdditionalIncludeDirectories="../../Core/Common/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="false" MinimalRebuild="false"
BasicRuntimeChecks="0" BasicRuntimeChecks="0"
RuntimeLibrary="0" RuntimeLibrary="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
AdditionalLibraryDirectories="" AdditionalLibraryDirectories=""
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="SoundStreams" Name="SoundStreams"
> >
<File <File
RelativePath=".\Src\AOSoundStream.cpp" RelativePath=".\Src\AOSoundStream.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\AOSoundStream.h" RelativePath=".\Src\AOSoundStream.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\DSoundStream.cpp" RelativePath=".\Src\DSoundStream.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\DSoundStream.h" RelativePath=".\Src\DSoundStream.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\OpenALStream.cpp" RelativePath=".\Src\OpenALStream.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\OpenALStream.h" RelativePath=".\Src\OpenALStream.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\SoundStream.h" RelativePath=".\Src\SoundStream.h"
> >
</File> </File>
</Filter> </Filter>
<File <File
RelativePath=".\Src\aldlist.cpp" RelativePath=".\Src\aldlist.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\aldlist.h" RelativePath=".\Src\aldlist.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\AudioCommon.cpp" RelativePath=".\Src\AudioCommon.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\AudioCommon.h" RelativePath=".\Src\AudioCommon.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\AudioCommonConfig.cpp" RelativePath=".\Src\AudioCommonConfig.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\AudioCommonConfig.h" RelativePath=".\Src\AudioCommonConfig.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\Mixer.cpp" RelativePath=".\Src\Mixer.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\Mixer.h" RelativePath=".\Src\Mixer.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\SConscript" RelativePath=".\Src\SConscript"
> >
</File> </File>
<File <File
RelativePath=".\Src\WaveFile.cpp" RelativePath=".\Src\WaveFile.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\WaveFile.h" RelativePath=".\Src\WaveFile.h"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
#include "Host.h"

View File

@ -12,7 +12,6 @@ files = ["ActionReplay.cpp",
"CoreRerecording.cpp", "CoreRerecording.cpp",
"CoreTiming.cpp", "CoreTiming.cpp",
"OnFrame.cpp", "OnFrame.cpp",
"Host.cpp",
"MemTools.cpp", "MemTools.cpp",
"PatchEngine.cpp", "PatchEngine.cpp",
"PluginManager.cpp", "PluginManager.cpp",

File diff suppressed because it is too large Load Diff

View File

@ -1,437 +1,437 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="DebuggerUICommon" Name="DebuggerUICommon"
ProjectGUID="{F81AE75C-3D17-4D8C-A201-82FA5351C123}" ProjectGUID="{F81AE75C-3D17-4D8C-A201-82FA5351C123}"
RootNamespace="DebuggerUICommon" RootNamespace="DebuggerUICommon"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|Win32" Name="DebugFast|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|x64" Name="DebugFast|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
WholeProgramOptimization="false" WholeProgramOptimization="false"
AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc" AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\Src\CodeView.cpp" RelativePath=".\Src\CodeView.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\CodeView.h" RelativePath=".\Src\CodeView.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\DebuggerUIUtil.cpp" RelativePath=".\Src\DebuggerUIUtil.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\DebuggerUIUtil.h" RelativePath=".\Src\DebuggerUIUtil.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\MemoryView.cpp" RelativePath=".\Src\MemoryView.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\MemoryView.h" RelativePath=".\Src\MemoryView.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\SConscript" RelativePath=".\Src\SConscript"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +1,50 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioUserFile <VisualStudioUserFile
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
> >
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32" WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32" WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|Win32" Name="DebugFast|Win32"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32" WorkingDirectory="$(ProjectDir)..\..\..\Binary\Win32"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64" WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64" WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|x64" Name="DebugFast|x64"
> >
<DebugSettings <DebugSettings
WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64" WorkingDirectory="$(ProjectDir)..\..\..\Binary\x64"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
</VisualStudioUserFile> </VisualStudioUserFile>

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile <VisualStudioToolFile
Name="OpenCL" Name="OpenCL"
Version="8,00" Version="8,00"
> >
<Rules> <Rules>
<CustomBuildRule <CustomBuildRule
Name="OpenCL source" Name="OpenCL source"
DisplayName="OpenCL" DisplayName="OpenCL"
CommandLine='xcopy /I /Y "$(InputPath)" "$(SolutionDir)\..\Binary\$(PlatformName)\User\OpenCL\"' CommandLine='xcopy /I /Y "$(InputPath)" "$(SolutionDir)\..\Binary\$(PlatformName)\User\OpenCL\"'
Outputs='"$(SolutionDir)\..\Binary\$(PlatformName)\User\OpenCL\$(InputFileName)"' Outputs='"$(SolutionDir)\..\Binary\$(PlatformName)\User\OpenCL\$(InputFileName)"'
FileExtensions="*.cl" FileExtensions="*.cl"
> >
<Properties> <Properties>
</Properties> </Properties>
</CustomBuildRule> </CustomBuildRule>
</Rules> </Rules>
</VisualStudioToolFile> </VisualStudioToolFile>

File diff suppressed because it is too large Load Diff

View File

@ -1,252 +1,252 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="DSPSpy" Name="DSPSpy"
ProjectGUID="{3877AA3E-9CC0-4ADF-8E71-272EE4443478}" ProjectGUID="{3877AA3E-9CC0-4ADF-8E71-272EE4443478}"
RootNamespace="DSPSpy" RootNamespace="DSPSpy"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Wii|Win32" Name="Wii|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make&#x0D;&#x0A;" BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make&#x0D;&#x0A;"
ReBuildCommandLine="make clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make" ReBuildCommandLine="make clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="DSPSpy.dol" Output="DSPSpy.dol"
PreprocessorDefinitions="" PreprocessorDefinitions=""
IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Wii|x64" Name="Wii|x64"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make&#x0D;&#x0A;" BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make&#x0D;&#x0A;"
ReBuildCommandLine="make clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make" ReBuildCommandLine="make clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="DSPSpy.dol" Output="DSPSpy.dol"
PreprocessorDefinitions="" PreprocessorDefinitions=""
IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="GC|Win32" Name="GC|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
BuildLogFile="build\BuildLogGC.htm" BuildLogFile="build\BuildLogGC.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make HW_TYPE=gamecube" BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make HW_TYPE=gamecube"
ReBuildCommandLine="make HW_TYPE=gamecube clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make HW_TYPE=gamecube" ReBuildCommandLine="make HW_TYPE=gamecube clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make HW_TYPE=gamecube"
CleanCommandLine="make HW_TYPE=gamecube clean" CleanCommandLine="make HW_TYPE=gamecube clean"
Output="DSPSpyGC.dol" Output="DSPSpyGC.dol"
PreprocessorDefinitions="" PreprocessorDefinitions=""
IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="GC|x64" Name="GC|x64"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
BuildLogFile="build\BuildLogGC.htm" BuildLogFile="build\BuildLogGC.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make HW_TYPE=gamecube" BuildCommandLine="..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_test.ds&#x0D;&#x0A;make HW_TYPE=gamecube"
ReBuildCommandLine="make HW_TYPE=gamecube clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make HW_TYPE=gamecube" ReBuildCommandLine="make HW_TYPE=gamecube clean&#x0D;&#x0A;..\..\Binary\$(PlatformName)\DSPTool.exe -h dsp_code tests\dsp_code.ds&#x0D;&#x0A;make HW_TYPE=gamecube"
CleanCommandLine="make HW_TYPE=gamecube clean" CleanCommandLine="make HW_TYPE=gamecube clean"
Output="DSPSpyGC.dol" Output="DSPSpyGC.dol"
PreprocessorDefinitions="" PreprocessorDefinitions=""
IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir);C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="tests" Name="tests"
> >
<File <File
RelativePath=".\tests\arith_test.ds" RelativePath=".\tests\arith_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\dr_test.ds" RelativePath=".\tests\dr_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\dsp_base.inc" RelativePath=".\tests\dsp_base.inc"
> >
</File> </File>
<File <File
RelativePath=".\tests\dsp_test.ds" RelativePath=".\tests\dsp_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\ir_test.ds" RelativePath=".\tests\ir_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\ld_test.ds" RelativePath=".\tests\ld_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\mul_test.ds" RelativePath=".\tests\mul_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\neg_test.ds" RelativePath=".\tests\neg_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\op_test.ds" RelativePath=".\tests\op_test.ds"
> >
</File> </File>
<File <File
RelativePath=".\tests\unk_regs_test.ds" RelativePath=".\tests\unk_regs_test.ds"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="util" Name="util"
> >
<File <File
RelativePath=".\util\createtest.pl" RelativePath=".\util\createtest.pl"
> >
</File> </File>
<File <File
RelativePath=".\util\dump_roms.ds" RelativePath=".\util\dump_roms.ds"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="templates" Name="templates"
> >
<File <File
RelativePath=".\templates\if_test.tpl" RelativePath=".\templates\if_test.tpl"
> >
</File> </File>
<File <File
RelativePath=".\templates\tst_test.tpl" RelativePath=".\templates\tst_test.tpl"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="DSP Interface" Name="DSP Interface"
> >
<File <File
RelativePath=".\dsp_interface.cpp" RelativePath=".\dsp_interface.cpp"
> >
</File> </File>
<File <File
RelativePath=".\dsp_interface.h" RelativePath=".\dsp_interface.h"
> >
</File> </File>
<File <File
RelativePath=".\mem_dump.h" RelativePath=".\mem_dump.h"
> >
</File> </File>
<File <File
RelativePath=".\real_dsp.cpp" RelativePath=".\real_dsp.cpp"
> >
</File> </File>
<File <File
RelativePath=".\real_dsp.h" RelativePath=".\real_dsp.h"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Misc uCodes" Name="Misc uCodes"
> >
<File <File
RelativePath="..\..\docs\DSP\dsp_rom.txt" RelativePath="..\..\docs\DSP\dsp_rom.txt"
> >
</File> </File>
<File <File
RelativePath="..\..\docs\DSP\unlockmemcard.ds" RelativePath="..\..\docs\DSP\unlockmemcard.ds"
> >
</File> </File>
</Filter> </Filter>
<File <File
RelativePath=".\build.sh" RelativePath=".\build.sh"
> >
</File> </File>
<File <File
RelativePath=".\Config.h" RelativePath=".\Config.h"
> >
</File> </File>
<File <File
RelativePath=".\ConsoleHelper.h" RelativePath=".\ConsoleHelper.h"
> >
</File> </File>
<File <File
RelativePath=".\main_spy.cpp" RelativePath=".\main_spy.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
<File <File
RelativePath=".\sbuild.sh" RelativePath=".\sbuild.sh"
> >
</File> </File>
<File <File
RelativePath=".\Stubs.cpp" RelativePath=".\Stubs.cpp"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,159 +1,159 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build for wii by default, make HW_TYPE=gamecube will do what it sounds like # build for wii by default, make HW_TYPE=gamecube will do what it sounds like
# NOTE: gamecube build may require use of dollz3 before running, if sending over BBA # NOTE: gamecube build may require use of dollz3 before running, if sending over BBA
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
HW_TYPE = wii HW_TYPE = wii
include $(DEVKITPPC)/$(HW_TYPE)_rules include $(DEVKITPPC)/$(HW_TYPE)_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR))_$(HW_TYPE) TARGET := $(notdir $(CURDIR))_$(HW_TYPE)
BUILD := build BUILD := build
SOURCES := . emu SOURCES := . emu
RESOURCES := ../resources RESOURCES := ../resources
DATA := data DATA := data
INCLUDES := include ../Core/Common/Src . INCLUDES := include ../Core/Common/Src .
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -save-temps -O2 -Wall --no-strict-aliasing $(MACHDEP) $(INCLUDE) CFLAGS = -save-temps -O2 -Wall --no-strict-aliasing $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(HW_TYPE), gamecube) ifeq ($(HW_TYPE), gamecube)
LIBS := -lfat -lasnd -lmodplay -lz -ldb -logc -lm LIBS := -lfat -lasnd -lmodplay -lz -ldb -logc -lm
else else
LIBS := -lfat -lasnd -lmodplay -lwiiuse -lbte -lz -logc -lm LIBS := -lfat -lasnd -lmodplay -lwiiuse -lbte -lz -logc -lm
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) $(foreach dir,$(RESOURCES),$(CURDIR)/$(dir))\ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) $(foreach dir,$(RESOURCES),$(CURDIR)/$(dir))\
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CFILES += $(foreach dir,$(RESOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES += $(foreach dir,$(RESOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
run: run:
ifeq ($(HW_TYPE), gamecube) ifeq ($(HW_TYPE), gamecube)
PSOload $(OUTPUT).dol PSOload $(OUTPUT).dol
else else
wiiload $(OUTPUT).dol wiiload $(OUTPUT).dol
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#%.biz: %.ds #%.biz: %.ds
# gcdsptool -c $< -o $@ # gcdsptool -c $< -o $@
#%.h: %.biz #%.h: %.biz
# raw2c $< $@ # raw2c $< $@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .bin extension # This rule links in binary data with the .bin extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
#%.bin.o : %.bin #%.bin.o : %.bin
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# @echo $(notdir $<) # @echo $(notdir $<)
# $(bin2o) # $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -1,314 +1,314 @@
; This test checks the effect of the index looping registers (R8-R11) ; This test checks the effect of the index looping registers (R8-R11)
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
; Tests done using AR1 = 0x0010, IX1 = 0. WR1 (wrap 1) means WR1. ; Tests done using AR1 = 0x0010, IX1 = 0. WR1 (wrap 1) means WR1.
; WR1 = 0 ; WR1 = 0
; 10, 10, 10, 10, ; 10, 10, 10, 10,
; WR1 = 1 ; WR1 = 1
; 10, 11, 10, 11, ; 10, 11, 10, 11,
; WR1 = 2 ; WR1 = 2
; 10, 12, 11, 13, 12, 11, 13, 12, 11, 13, 12, 11 ; 10, 12, 11, 13, 12, 11, 13, 12, 11, 13, 12, 11
; WR1 = 3 ; WR1 = 3
; 10, 13, 12, 11, 10, 13, 12... ; 10, 13, 12, 11, 10, 13, 12...
; WR1 = 4 ; WR1 = 4
; 10, 14, 13, 17, 16, 15, 14, 13, 17, 16, 15, 14, 13, ... ; 10, 14, 13, 17, 16, 15, 14, 13, 17, 16, 15, 14, 13, ...
; WR1 = 5 ; WR1 = 5
; 10, 15, 14, 13, 12, 17, 16, 15, 14, 13, 12, 17, ; 10, 15, 14, 13, 12, 17, 16, 15, 14, 13, 12, 17,
; WR1 = 6 ; WR1 = 6
; 10, 16, 15, 14, 13, 12, 11, 17, 16, 15, 14, 13 ; 10, 16, 15, 14, 13, 12, 11, 17, 16, 15, 14, 13
; WR1 = 7 ; WR1 = 7
; 10, 17, 16, 15, .. normal ; 10, 17, 16, 15, .. normal
; WR1 = 8 ; WR1 = 8
; 10, 18, 17, 1f, 1e, 1d, 1c, 1b, 1a, 19, 18, 17, 1f, 1e, ..... ; 10, 18, 17, 1f, 1e, 1d, 1c, 1b, 1a, 19, 18, 17, 1f, 1e, .....
; I really don't know how the above could possibly be efficiently implemented in hardware. ; I really don't know how the above could possibly be efficiently implemented in hardware.
; And thus it's tricky to implement in software too :p ; And thus it's tricky to implement in software too :p
; test using indexing register 1 - 0 is used in send_back ; test using indexing register 1 - 0 is used in send_back
lri $AR1, #16 lri $AR1, #16
lri $IX1, #32 lri $IX1, #32
lri $WR1, #0 lri $WR1, #0
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #1 lri $WR1, #1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #2 lri $WR1, #2
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #3 lri $WR1, #3
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #4 lri $WR1, #4
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #5 lri $WR1, #5
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #6 lri $WR1, #6
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #7 lri $WR1, #7
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #8 lri $WR1, #8
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
nx'dr : $AR1 nx'dr : $AR1
call send_back ; 1 call send_back ; 1
lri $WR1, #0xFFFF lri $WR1, #0xFFFF
; We're done, DO NOT DELETE THIS LINE ; We're done, DO NOT DELETE THIS LINE
jmp end_of_test jmp end_of_test

View File

@ -1,275 +1,275 @@
; This is the trojan program we send to the DSP from DSPSpy to figure it out. ; This is the trojan program we send to the DSP from DSPSpy to figure it out.
REGS_BASE: equ 0x0f80 REGS_BASE: equ 0x0f80
MEM_HI: equ 0x0f7E MEM_HI: equ 0x0f7E
MEM_LO: equ 0x0f7F MEM_LO: equ 0x0f7F
; Interrupt vectors 8 vectors, 2 opcodes each ; Interrupt vectors 8 vectors, 2 opcodes each
jmp irq0 jmp irq0
jmp irq1 jmp irq1
jmp irq2 jmp irq2
jmp irq3 jmp irq3
jmp irq4 jmp irq4
jmp irq5 jmp irq5
jmp irq6 jmp irq6
jmp irq7 jmp irq7
; Main code (and normal entrypoint) at 0x10 ; Main code (and normal entrypoint) at 0x10
sbset #0x02 sbset #0x02
sbset #0x03 sbset #0x03
sbclr #0x04 sbclr #0x04
sbset #0x05 sbset #0x05
sbset #0x06 sbset #0x06
s16 s16
lri $CR, #0x00ff lri $CR, #0x00ff
clr $acc1 clr $acc1
clr $acc0 clr $acc0
; get address of memory dump and copy it to DRAM ; get address of memory dump and copy it to DRAM
call 0x807e call 0x807e
si @DMBH, #0x8888 si @DMBH, #0x8888
si @DMBL, #0xdead si @DMBL, #0xdead
si @DIRQ, #0x0001 si @DIRQ, #0x0001
call 0x8078 call 0x8078
andi $ac0.m, #0x7fff andi $ac0.m, #0x7fff
lrs $ac1.m, @CMBL lrs $ac1.m, @CMBL
sr @MEM_HI, $ac0.m sr @MEM_HI, $ac0.m
sr @MEM_LO, $ac1.m sr @MEM_LO, $ac1.m
lri $ax0.l, #0 lri $ax0.l, #0
lri $ax1.l, #0 ;(DSP_CR_IMEM | DSP_CR_TO_CPU) lri $ax1.l, #0 ;(DSP_CR_IMEM | DSP_CR_TO_CPU)
lri $ax0.h, #0x2000 lri $ax0.h, #0x2000
lr $ac0.l, @MEM_HI lr $ac0.l, @MEM_HI
lr $ac0.m, @MEM_LO lr $ac0.m, @MEM_LO
call do_dma call do_dma
; get address of registers and DMA them to ram ; get address of registers and DMA them to ram
call 0x807e call 0x807e
si @DMBH, #0x8888 si @DMBH, #0x8888
si @DMBL, #0xbeef si @DMBL, #0xbeef
si @DIRQ, #0x0001 si @DIRQ, #0x0001
call 0x8078 call 0x8078
andi $ac0.m, #0x7fff andi $ac0.m, #0x7fff
lrs $ac1.m, @CMBL lrs $ac1.m, @CMBL
sr @MEM_HI, $ac0.m sr @MEM_HI, $ac0.m
sr @MEM_LO, $ac1.m sr @MEM_LO, $ac1.m
lri $ax0.l, #REGS_BASE lri $ax0.l, #REGS_BASE
lri $ax1.l, #0 ;(DSP_CR_IMEM | DSP_CR_TO_CPU) lri $ax1.l, #0 ;(DSP_CR_IMEM | DSP_CR_TO_CPU)
lri $ax0.h, #0x80 lri $ax0.h, #0x80
lr $ac0.l, @MEM_HI lr $ac0.l, @MEM_HI
lr $ac0.m, @MEM_LO lr $ac0.m, @MEM_LO
call do_dma call do_dma
; Read in all the registers from RAM ; Read in all the registers from RAM
lri $ar0, #REGS_BASE+1 lri $ar0, #REGS_BASE+1
lrri $ar1, @$ar0 lrri $ar1, @$ar0
lrri $ar2, @$ar0 lrri $ar2, @$ar0
lrri $ar3, @$ar0 lrri $ar3, @$ar0
lrri $ix0, @$ar0 lrri $ix0, @$ar0
lrri $ix1, @$ar0 lrri $ix1, @$ar0
lrri $ix2, @$ar0 lrri $ix2, @$ar0
lrri $ix3, @$ar0 lrri $ix3, @$ar0
lrri $wr0, @$ar0 lrri $wr0, @$ar0
lrri $wr1, @$ar0 lrri $wr1, @$ar0
lrri $wr2, @$ar0 lrri $wr2, @$ar0
lrri $wr3, @$ar0 lrri $wr3, @$ar0
lrri $st0, @$ar0 lrri $st0, @$ar0
lrri $st1, @$ar0 lrri $st1, @$ar0
lrri $st2, @$ar0 lrri $st2, @$ar0
lrri $st3, @$ar0 lrri $st3, @$ar0
lrri $ac0.h, @$ar0 lrri $ac0.h, @$ar0
lrri $ac1.h, @$ar0 lrri $ac1.h, @$ar0
lrri $cr, @$ar0 lrri $cr, @$ar0
lrri $sr, @$ar0 lrri $sr, @$ar0
lrri $prod.l, @$ar0 lrri $prod.l, @$ar0
lrri $prod.m1, @$ar0 lrri $prod.m1, @$ar0
lrri $prod.h, @$ar0 lrri $prod.h, @$ar0
lrri $prod.m2, @$ar0 lrri $prod.m2, @$ar0
lrri $ax0.l, @$ar0 lrri $ax0.l, @$ar0
lrri $ax1.l, @$ar0 lrri $ax1.l, @$ar0
lrri $ax0.h, @$ar0 lrri $ax0.h, @$ar0
lrri $ax1.h, @$ar0 lrri $ax1.h, @$ar0
lrri $ac0.l, @$ar0 lrri $ac0.l, @$ar0
lrri $ac1.l, @$ar0 lrri $ac1.l, @$ar0
lrri $ac0.m, @$ar0 lrri $ac0.m, @$ar0
lrri $ac1.m, @$ar0 lrri $ac1.m, @$ar0
lr $ar0, @REGS_BASE lr $ar0, @REGS_BASE
jmp start_of_test jmp start_of_test
; This is where we jump when we're done testing, see above. ; This is where we jump when we're done testing, see above.
; We just fall into a loop, playing dead until someone resets the DSP. ; We just fall into a loop, playing dead until someone resets the DSP.
end_of_test: end_of_test:
jmp end_of_test jmp end_of_test
; Utility function to do DMA. ; Utility function to do DMA.
do_dma: do_dma:
sr @DSMAH, $ac0.l sr @DSMAH, $ac0.l
sr @DSMAL, $ac0.m sr @DSMAL, $ac0.m
sr @DSPA, $ax0.l sr @DSPA, $ax0.l
sr @DSCR, $ax1.l sr @DSCR, $ax1.l
sr @DSBL, $ax0.h ; This kicks off the DMA. sr @DSBL, $ax0.h ; This kicks off the DMA.
call 0x863d ; Wait for DMA to complete by watching a bit in DSCR. call 0x863d ; Wait for DMA to complete by watching a bit in DSCR.
ret ret
; IRQ handlers. Just send back exception# and die ; IRQ handlers. Just send back exception# and die
irq0: irq0:
lri $ac0.m, #0x0000 lri $ac0.m, #0x0000
jmp irq jmp irq
irq1: irq1:
lri $ac0.m, #0x0001 lri $ac0.m, #0x0001
jmp irq jmp irq
irq2: irq2:
lri $ac0.m, #0x0002 lri $ac0.m, #0x0002
jmp irq jmp irq
irq3: irq3:
lri $ac0.m, #0x0003 lri $ac0.m, #0x0003
jmp irq jmp irq
irq4: irq4:
lri $ac0.m, #0x0004 lri $ac0.m, #0x0004
jmp irq jmp irq
irq5: irq5:
lri $ac0.m, #0x0005 lri $ac0.m, #0x0005
jmp irq jmp irq
irq6: irq6:
lri $ac0.m, #0x0006 lri $ac0.m, #0x0006
jmp irq jmp irq
irq7: irq7:
lri $ac0.m, #0x0007 lri $ac0.m, #0x0007
irq: irq:
lrs $ac1.m, @DMBH lrs $ac1.m, @DMBH
andcf $ac1.m, #0x8000 andcf $ac1.m, #0x8000
jlz irq jlz irq
si @DMBH, #0x8bad si @DMBH, #0x8bad
;sr @DMBL, $wr3 ; ??? ;sr @DMBL, $wr3 ; ???
sr @DMBL, $ac0.m ; Exception number sr @DMBL, $ac0.m ; Exception number
si @DIRQ, #0x0001 si @DIRQ, #0x0001
halt ; Through some magic this allows us to properly ack the exception in dspspy halt ; Through some magic this allows us to properly ack the exception in dspspy
;rti ; allow dumping of ucodes which cause exceptions...probably not safe at all ;rti ; allow dumping of ucodes which cause exceptions...probably not safe at all
; DMA:s the current state of the registers back to the PowerPC. To do this, ; DMA:s the current state of the registers back to the PowerPC. To do this,
; it must write the contents of all regs to DRAM. ; it must write the contents of all regs to DRAM.
; Unfortunately, this loop uses ar0 so it's best to use AR1 and friends for testing ; Unfortunately, this loop uses ar0 so it's best to use AR1 and friends for testing
; when messing with indexing. ; when messing with indexing.
send_back: send_back:
; make state safe. ; make state safe.
set16 set16
; store registers to reg table ; store registers to reg table
sr @REGS_BASE, $ar0 sr @REGS_BASE, $ar0
lri $ar0, #(REGS_BASE + 1) lri $ar0, #(REGS_BASE + 1)
srri @$ar0, $ar1 srri @$ar0, $ar1
srri @$ar0, $ar2 srri @$ar0, $ar2
srri @$ar0, $ar3 srri @$ar0, $ar3
srri @$ar0, $ix0 srri @$ar0, $ix0
srri @$ar0, $ix1 srri @$ar0, $ix1
srri @$ar0, $ix2 srri @$ar0, $ix2
srri @$ar0, $ix3 srri @$ar0, $ix3
srri @$ar0, $wr0 srri @$ar0, $wr0
srri @$ar0, $wr1 srri @$ar0, $wr1
srri @$ar0, $wr2 srri @$ar0, $wr2
srri @$ar0, $wr3 srri @$ar0, $wr3
srri @$ar0, $st0 srri @$ar0, $st0
srri @$ar0, $st1 srri @$ar0, $st1
srri @$ar0, $st2 srri @$ar0, $st2
srri @$ar0, $st3 srri @$ar0, $st3
srri @$ar0, $ac0.h srri @$ar0, $ac0.h
srri @$ar0, $ac1.h srri @$ar0, $ac1.h
srri @$ar0, $cr srri @$ar0, $cr
srri @$ar0, $sr srri @$ar0, $sr
srri @$ar0, $prod.l srri @$ar0, $prod.l
srri @$ar0, $prod.m1 srri @$ar0, $prod.m1
srri @$ar0, $prod.h srri @$ar0, $prod.h
srri @$ar0, $prod.m2 srri @$ar0, $prod.m2
srri @$ar0, $ax0.l srri @$ar0, $ax0.l
srri @$ar0, $ax1.l srri @$ar0, $ax1.l
srri @$ar0, $ax0.h srri @$ar0, $ax0.h
srri @$ar0, $ax1.h srri @$ar0, $ax1.h
srri @$ar0, $ac0.l srri @$ar0, $ac0.l
srri @$ar0, $ac1.l srri @$ar0, $ac1.l
srri @$ar0, $ac0.m srri @$ar0, $ac0.m
srri @$ar0, $ac1.m srri @$ar0, $ac1.m
; Regs are stored. Prepare DMA. ; Regs are stored. Prepare DMA.
lri $ax0.l, #0x0000 lri $ax0.l, #0x0000
lri $ax1.l, #1 ;(DSP_CR_IMEM | DSP_CR_TO_CPU) lri $ax1.l, #1 ;(DSP_CR_IMEM | DSP_CR_TO_CPU)
lri $ax0.h, #0x200 lri $ax0.h, #0x200
lr $ac0.l, @MEM_HI lr $ac0.l, @MEM_HI
lr $ac0.m, @MEM_LO lr $ac0.m, @MEM_LO
; Now, why are we looping here? ; Now, why are we looping here?
lri $ar1, #8+8 lri $ar1, #8+8
bloop $ar1, dma_copy bloop $ar1, dma_copy
call do_dma call do_dma
addi $ac0.m, #0x200 addi $ac0.m, #0x200
mrr $ac1.m, $ax0.l mrr $ac1.m, $ax0.l
addi $ac1.m, #0x100 addi $ac1.m, #0x100
dma_copy: dma_copy:
mrr $ax0.l, $ac1.m mrr $ax0.l, $ac1.m
; Wait for the CPU to send us a mail. ; Wait for the CPU to send us a mail.
call 0x807e call 0x807e
si @DMBH, #0x8888 si @DMBH, #0x8888
si @DMBL, #0xfeeb si @DMBL, #0xfeeb
si @DIRQ, #0x0001 si @DIRQ, #0x0001
; wait for the CPU to recieve our response before we execute the next op ; wait for the CPU to recieve our response before we execute the next op
call 0x8078 call 0x8078
andi $ac0.m, #0x7fff andi $ac0.m, #0x7fff
lrs $ac1.m, @CMBL lrs $ac1.m, @CMBL
; Restore all regs again so we're ready to execute another op. ; Restore all regs again so we're ready to execute another op.
lri $ar0, #REGS_BASE+1 lri $ar0, #REGS_BASE+1
lrri $ar1, @$ar0 lrri $ar1, @$ar0
lrri $ar2, @$ar0 lrri $ar2, @$ar0
lrri $ar3, @$ar0 lrri $ar3, @$ar0
lrri $ix0, @$ar0 lrri $ix0, @$ar0
lrri $ix1, @$ar0 lrri $ix1, @$ar0
lrri $ix2, @$ar0 lrri $ix2, @$ar0
lrri $ix3, @$ar0 lrri $ix3, @$ar0
lrri $wr0, @$ar0 lrri $wr0, @$ar0
lrri $wr1, @$ar0 lrri $wr1, @$ar0
lrri $wr2, @$ar0 lrri $wr2, @$ar0
lrri $wr3, @$ar0 lrri $wr3, @$ar0
lrri $st0, @$ar0 lrri $st0, @$ar0
lrri $st1, @$ar0 lrri $st1, @$ar0
lrri $st2, @$ar0 lrri $st2, @$ar0
lrri $st3, @$ar0 lrri $st3, @$ar0
lrri $ac0.h, @$ar0 lrri $ac0.h, @$ar0
lrri $ac1.h, @$ar0 lrri $ac1.h, @$ar0
lrri $cr, @$ar0 lrri $cr, @$ar0
lrri $sr, @$ar0 lrri $sr, @$ar0
lrri $prod.l, @$ar0 lrri $prod.l, @$ar0
lrri $prod.m1, @$ar0 lrri $prod.m1, @$ar0
lrri $prod.h, @$ar0 lrri $prod.h, @$ar0
lrri $prod.m2, @$ar0 lrri $prod.m2, @$ar0
lrri $ax0.l, @$ar0 lrri $ax0.l, @$ar0
lrri $ax1.l, @$ar0 lrri $ax1.l, @$ar0
lrri $ax0.h, @$ar0 lrri $ax0.h, @$ar0
lrri $ax1.h, @$ar0 lrri $ax1.h, @$ar0
lrri $ac0.l, @$ar0 lrri $ac0.l, @$ar0
lrri $ac1.l, @$ar0 lrri $ac1.l, @$ar0
lrri $ac0.m, @$ar0 lrri $ac0.m, @$ar0
lrri $ac1.m, @$ar0 lrri $ac1.m, @$ar0
lr $ar0, @REGS_BASE lr $ar0, @REGS_BASE
ret ; from send_back ret ; from send_back
; If you are in set40 mode, use this instead of send_back if you want to stay ; If you are in set40 mode, use this instead of send_back if you want to stay
; in set40 mode. ; in set40 mode.
send_back_40: send_back_40:
set16 set16
call send_back call send_back
set40 set40
ret ret
; Obviously this must be included directly before your test code ; Obviously this must be included directly before your test code
start_of_test: start_of_test:

View File

@ -1,21 +1,21 @@
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
; Right here we are at a specific predetermined state. ; Right here we are at a specific predetermined state.
; Ideal environment to try instructions. ; Ideal environment to try instructions.
; We can call send_back at any time to send data back to the PowerPC. ; We can call send_back at any time to send data back to the PowerPC.
; Calling set40 here seemed to crash the dsp tester in strange ways ; Calling set40 here seemed to crash the dsp tester in strange ways
; until I added set16 in send_back. Seems clear that it affects something important. ; until I added set16 in send_back. Seems clear that it affects something important.
lri $AC0.M, #0x1000 lri $AC0.M, #0x1000
call send_back call send_back
set40 set40
lri $AC0.M, #0x1000 lri $AC0.M, #0x1000
set16 set16
call send_back call send_back
; We're done, DO NOT DELETE THIS LINE ; We're done, DO NOT DELETE THIS LINE
jmp end_of_test jmp end_of_test

View File

@ -1,319 +1,319 @@
; This test checks the effect of the index looping registers (R8-R11) ; This test checks the effect of the index looping registers (R8-R11)
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
; First theories, fitting tests with nice masks in the loop registers ; First theories, fitting tests with nice masks in the loop registers
; IR THEORY: if ((ar & lp) == lp) ar &= ~lp; ; IR THEORY: if ((ar & lp) == lp) ar &= ~lp;
; DR THEORY: if ((ar & lp) == 0) ar |= lp; ; DR THEORY: if ((ar & lp) == 0) ar |= lp;
; These were proven FALSE though by the following: ; These were proven FALSE though by the following:
; Tests done using AR1 = 0x0010, IX1 = 0 ; Tests done using AR1 = 0x0010, IX1 = 0
; WR1 = 0 ; WR1 = 0
; 10, 11, 11, 11, 11...... ; 10, 11, 11, 11, 11......
; WR1 = 1 ; WR1 = 1
; 10, 11, 10, 11, 10...... ; 10, 11, 10, 11, 10......
; WR1 = 2 ; WR1 = 2
; 10, 11, 12, 13, 11, 12, 13, 11, 12, 13 ...... ; 10, 11, 12, 13, 11, 12, 13, 11, 12, 13 ......
; WR1 = 3 ; WR1 = 3
; 10, 11, 12, 13, 10, 11, 12, 13, 10, 11, 12, 13....... ; 10, 11, 12, 13, 10, 11, 12, 13, 10, 11, 12, 13.......
; WR1 = 4 ; WR1 = 4
; 10, 11, 12, 13, 14, 15, 16, 17, 13, 14, 15, 16, 17, 13, 14, 15 ...... ; 10, 11, 12, 13, 14, 15, 16, 17, 13, 14, 15, 16, 17, 13, 14, 15 ......
; WR1 = 5 ; WR1 = 5
; 10, 11, 12, 13, 14, 15, 16, 17, 12, 13, 14, 15 ... ; 10, 11, 12, 13, 14, 15, 16, 17, 12, 13, 14, 15 ...
; WR1 = 6 ; WR1 = 6
; 10, 11, 12, 13, 14, 15, 16, 17, 11, 12, 13, 14... ; 10, 11, 12, 13, 14, 15, 16, 17, 11, 12, 13, 14...
; WR1 = 7 ; WR1 = 7
; 10, 11, 12, 13, 14, 15, 16, 17, 10, 11, .... ; 10, 11, 12, 13, 14, 15, 16, 17, 10, 11, ....
; WR1 = 8 ; WR1 = 8
; 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1a, 1b, 1c, 1d, 1e, 1f, 17, 18, 19, 1a, 1b..... ; 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1a, 1b, 1c, 1d, 1e, 1f, 17, 18, 19, 1a, 1b.....
; I really don't know how the above could possibly be efficiently implemented in hardware. ; I really don't know how the above could possibly be efficiently implemented in hardware.
; And thus it's tricky to implement in software too :p ; And thus it's tricky to implement in software too :p
; test using indexing register 1 - 0 is used in send_back ; test using indexing register 1 - 0 is used in send_back
lri $AR1, #16 lri $AR1, #16
lri $IX1, #32 lri $IX1, #32
lri $WR1, #0 lri $WR1, #0
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #1 lri $WR1, #1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #2 lri $WR1, #2
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #3 lri $WR1, #3
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #4 lri $WR1, #4
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #5 lri $WR1, #5
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #6 lri $WR1, #6
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #7 lri $WR1, #7
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $AR1, #16 lri $AR1, #16
lri $WR1, #8 lri $WR1, #8
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
nx'ir : $AR1 nx'ir : $AR1
call send_back ; 1 call send_back ; 1
lri $WR1, #0xFFFF lri $WR1, #0xFFFF
; We're done, DO NOT DELETE THIS LINE ; We're done, DO NOT DELETE THIS LINE
jmp end_of_test jmp end_of_test

View File

@ -1,247 +1,247 @@
; This test verifies LD ; This test verifies LD
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x77 lri $AX0.L, #0x77
lri $AX1.L, #0x22 lri $AX1.L, #0x22
nx'ld : $AX0.L, $AX1.L, @$AR3 nx'ld : $AX0.L, $AX1.L, @$AR3
call send_back ; 1 call send_back ; 1
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x23 lri $AX0.L, #0x23
lri $AX1.L, #0x64 lri $AX1.L, #0x64
nx'ld : $AX0.L, $AX1.L, @$AR2 nx'ld : $AX0.L, $AX1.L, @$AR2
call send_back ; 2 call send_back ; 2
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x43 lri $AX0.L, #0x43
lri $AX1.L, #0x53 lri $AX1.L, #0x53
nx'ld : $AX0.L, $AX1.L, @$AR1 nx'ld : $AX0.L, $AX1.L, @$AR1
call send_back ; 3 call send_back ; 3
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0xd3 lri $AX0.L, #0xd3
lri $AX1.L, #0x13 lri $AX1.L, #0x13
nx'ld : $AX0.L, $AX1.L, @$AR0 nx'ld : $AX0.L, $AX1.L, @$AR0
call send_back ; 4 call send_back ; 4
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x77 lri $AX0.L, #0x77
lri $AX1.L, #0x22 lri $AX1.L, #0x22
nx'ld : $AX1.L, $AX1.H, @$AR3 nx'ld : $AX1.L, $AX1.H, @$AR3
call send_back ; 5 call send_back ; 5
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x23 lri $AX0.L, #0x23
lri $AX1.L, #0x64 lri $AX1.L, #0x64
nx'ld : $AX1.L, $AX1.H, @$AR2 nx'ld : $AX1.L, $AX1.H, @$AR2
call send_back ; 6 call send_back ; 6
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x43 lri $AX0.L, #0x43
lri $AX1.L, #0x53 lri $AX1.L, #0x53
nx'ld : $AX1.L, $AX1.H, @$AR1 nx'ld : $AX1.L, $AX1.H, @$AR1
call send_back ; 7 call send_back ; 7
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0xd3 lri $AX0.L, #0xd3
lri $AX1.L, #0x13 lri $AX1.L, #0x13
nx'ld : $AX1.L, $AX1.H, @$AR0 nx'ld : $AX1.L, $AX1.H, @$AR0
call send_back ; 8 call send_back ; 8
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x77 lri $AX0.L, #0x77
lri $AX1.L, #0x22 lri $AX1.L, #0x22
nx'ldn : $AX0.L, $AX1.L, @$AR3 nx'ldn : $AX0.L, $AX1.L, @$AR3
call send_back ; 9 call send_back ; 9
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x23 lri $AX0.L, #0x23
lri $AX1.L, #0x64 lri $AX1.L, #0x64
nx'ldn : $AX0.L, $AX1.L, @$AR2 nx'ldn : $AX0.L, $AX1.L, @$AR2
call send_back ; 10 call send_back ; 10
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x43 lri $AX0.L, #0x43
lri $AX1.L, #0x53 lri $AX1.L, #0x53
nx'ldn : $AX0.L, $AX1.L, @$AR1 nx'ldn : $AX0.L, $AX1.L, @$AR1
call send_back ; 11 call send_back ; 11
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0xd3 lri $AX0.L, #0xd3
lri $AX1.L, #0x13 lri $AX1.L, #0x13
nx'ldn : $AX0.L, $AX1.L, @$AR0 nx'ldn : $AX0.L, $AX1.L, @$AR0
call send_back ; 12 call send_back ; 12
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x77 lri $AX0.L, #0x77
lri $AX1.L, #0x22 lri $AX1.L, #0x22
nx'ldm : $AX0.L, $AX1.L, @$AR3 nx'ldm : $AX0.L, $AX1.L, @$AR3
call send_back ; 13 call send_back ; 13
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x23 lri $AX0.L, #0x23
lri $AX1.L, #0x64 lri $AX1.L, #0x64
nx'ldm : $AX0.L, $AX1.L, @$AR2 nx'ldm : $AX0.L, $AX1.L, @$AR2
call send_back ; 14 call send_back ; 14
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x43 lri $AX0.L, #0x43
lri $AX1.L, #0x53 lri $AX1.L, #0x53
nx'ldm : $AX0.L, $AX1.L, @$AR1 nx'ldm : $AX0.L, $AX1.L, @$AR1
call send_back ; 15 call send_back ; 15
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0xd3 lri $AX0.L, #0xd3
lri $AX1.L, #0x13 lri $AX1.L, #0x13
nx'ldm : $AX0.L, $AX1.L, @$AR0 nx'ldm : $AX0.L, $AX1.L, @$AR0
call send_back ; 16 call send_back ; 16
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x77 lri $AX0.L, #0x77
lri $AX1.L, #0x22 lri $AX1.L, #0x22
nx'ldnm : $AX0.L, $AX1.L, @$AR3 nx'ldnm : $AX0.L, $AX1.L, @$AR3
call send_back ; 17 call send_back ; 17
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x23 lri $AX0.L, #0x23
lri $AX1.L, #0x64 lri $AX1.L, #0x64
nx'ldnm : $AX0.L, $AX1.L, @$AR2 nx'ldnm : $AX0.L, $AX1.L, @$AR2
call send_back ; 18 call send_back ; 18
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0x43 lri $AX0.L, #0x43
lri $AX1.L, #0x53 lri $AX1.L, #0x53
nx'ldnm : $AX0.L, $AX1.L, @$AR1 nx'ldnm : $AX0.L, $AX1.L, @$AR1
call send_back ; 19 call send_back ; 19
lri $AR0, #0x001c lri $AR0, #0x001c
lri $AR1, #0x001d lri $AR1, #0x001d
lri $AR2, #0x001e lri $AR2, #0x001e
lri $AR3, #0x001f lri $AR3, #0x001f
lri $AX0.H, #0x111 lri $AX0.H, #0x111
lri $AX1.H, #0x111 lri $AX1.H, #0x111
lri $AX0.L, #0xd3 lri $AX0.L, #0xd3
lri $AX1.L, #0x13 lri $AX1.L, #0x13
nx'ldnm : $AX0.L, $AX1.L, @$AR0 nx'ldnm : $AX0.L, $AX1.L, @$AR0
call send_back ; 20 call send_back ; 20

View File

@ -1,250 +1,250 @@
; This test checks the effect of SET15 on multiplications. ; This test checks the effect of SET15 on multiplications.
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
; Results is in capitails like this: UNSIGNED ; Results is in capitails like this: UNSIGNED
CLR15 CLR15
; Test MULXMVZ - SET15 ; Test MULXMVZ - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXMVZ $AX0.L, $AX1.H, $ACC0 ; SIGNED MULXMVZ $AX0.L, $AX1.H, $ACC0 ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXMVZ $AX0.L, $AX1.H, $ACC0 ; UNSIGNED MULXMVZ $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULXMV - SET15 ; Test MULXMV - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXMV $AX0.L, $AX1.H, $ACC0 ; SIGNED MULXMV $AX0.L, $AX1.H, $ACC0 ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXMV $AX0.L, $AX1.H, $ACC0 ; UNSIGNED MULXMV $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULXAC - SET15 ; Test MULXAC - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXAC $AX0.L, $AX1.H, $ACC0 ; SIGNED MULXAC $AX0.L, $AX1.H, $ACC0 ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULXAC $AX0.L, $AX1.H, $ACC0 ; UNSIGNED MULXAC $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULX - SET15 ; Test MULX - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULX $AX0.L, $AX1.H ; SIGNED MULX $AX0.L, $AX1.H ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.H, #0x100 LRI $AX1.H, #0x100
MULX $AX0.L, $AX1.H ; UNSIGNED MULX $AX0.L, $AX1.H ; UNSIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MADDX - SET15 ; Test MADDX - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.L, #0x100 LRI $AX1.L, #0x100
MADDX $AX0.L, $AX1.L ; SIGNED MADDX $AX0.L, $AX1.L ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX1.L, #0x100 LRI $AX1.L, #0x100
MADDX $AX0.L, $AX1.L ; SIGNED (!) MADDX $AX0.L, $AX1.L ; SIGNED (!)
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULC - SET15 ; Test MULC - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AC0.M, #0xFFFF LRI $AC0.M, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULC $AC0.M, $AX0.H ; SIGNED MULC $AC0.M, $AX0.H ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AC0.M, #0xFFFF LRI $AC0.M, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULC $AC0.M, $AX0.H ; SIGNED (!) MULC $AC0.M, $AX0.H ; SIGNED (!)
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULCAC - SET15 ; Test MULCAC - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AC0.M, #0xFFFF LRI $AC0.M, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
CLRP CLRP
SET15 SET15
LRI $AC0.M, #0xFFFF LRI $AC0.M, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED (!) MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED (!)
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MUL - SET15 ; Test MUL - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MUL $AX0.L, $AX0.H ; SIGNED MUL $AX0.L, $AX0.H ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MUL $AX0.L, $AX0.H ; SIGNED (!) MUL $AX0.L, $AX0.H ; SIGNED (!)
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; Test MULAC - SET15 ; Test MULAC - SET15
CLR $ACC0 CLR $ACC0
CLRP CLRP
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR $ACC0 CLR $ACC0
SET15 SET15
LRI $AX0.L, #0xFFFF LRI $AX0.L, #0xFFFF
LRI $AX0.H, #0x100 LRI $AX0.H, #0x100
MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED (!) MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED (!)
MOVP $ACC0 MOVP $ACC0
call send_back call send_back
CLR15 CLR15
; We're done, DO NOT DELETE THIS LINE ; We're done, DO NOT DELETE THIS LINE
jmp end_of_test jmp end_of_test
; test accelerator ; test accelerator
; TODO: DSPSpy puts a 16-bit ramp at 0x10000000 ; TODO: DSPSpy puts a 16-bit ramp at 0x10000000
LRIS $AC1.M, #0x0a ; 16-bit PCM audio LRIS $AC1.M, #0x0a ; 16-bit PCM audio
;SRS @SampleFormat, $AC1.M ;SRS @SampleFormat, $AC1.M
; Start accelerator position ; Start accelerator position
LRI $AC1.M, #0x0100 LRI $AC1.M, #0x0100
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
LRI $AC1.M, #0x1000 LRI $AC1.M, #0x1000
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
; Current accelerator position ; Current accelerator position
LRI $AC1.M, #0x0100 LRI $AC1.M, #0x0100
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
LRI $AC1.M, #0x1000 LRI $AC1.M, #0x1000
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
; End accelerator position ; End accelerator position
LRI $AC1.M, #0x0100 LRI $AC1.M, #0x0100
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
LRI $AC1.M, #0x2000 LRI $AC1.M, #0x2000
SRS @ACCAH, $AC1.M SRS @ACCAH, $AC1.M
; Now to the interesting parameter - gain. ; Now to the interesting parameter - gain.
LRI $AC1.M, #0xFFFF LRI $AC1.M, #0xFFFF
SRS @GAIN, $AC1.M SRS @GAIN, $AC1.M
; Let's now load a sample through the accelerator. ; Let's now load a sample through the accelerator.
LRS $AC1.M, @ARAM LRS $AC1.M, @ARAM
call send_back call send_back
jmp end_of_test jmp end_of_test
; test addpaxz ; test addpaxz
call send_back call send_back
clrp clrp
lri $AX0.L, #0x1111 lri $AX0.L, #0x1111
lri $AX0.H, #0x2222 lri $AX0.H, #0x2222
call send_back call send_back
clrp clrp
addpaxz $ACC0, $AX0.H addpaxz $ACC0, $AX0.H
call send_back call send_back
clrp clrp
set40 set40
addpaxz $ACC0, $AX0.H addpaxz $ACC0, $AX0.H
set16 set16
call send_back call send_back
clrp clrp
set15 set15
addpaxz $ACC0, $AX0.H addpaxz $ACC0, $AX0.H
clr15 clr15
call send_back call send_back
jmp end_of_test jmp end_of_test

View File

@ -1,49 +1,49 @@
incdir "tests" incdir "tests"
include "dsp_base.inc" include "dsp_base.inc"
; Reads regs from 0xFF80 to 0xFF8D and sends them back ; Reads regs from 0xFF80 to 0xFF8D and sends them back
lr $AC0.M, @0xff80 lr $AC0.M, @0xff80
call send_back call send_back
lr $AC0.M, @0xff81 lr $AC0.M, @0xff81
call send_back call send_back
lr $AC0.M, @0xff82 lr $AC0.M, @0xff82
call send_back call send_back
lr $AC0.M, @0xff83 lr $AC0.M, @0xff83
call send_back call send_back
lr $AC0.M, @0xff84 lr $AC0.M, @0xff84
call send_back call send_back
lr $AC0.M, @0xff85 lr $AC0.M, @0xff85
call send_back call send_back
lr $AC0.M, @0xff86 lr $AC0.M, @0xff86
call send_back call send_back
lr $AC0.M, @0xff87 lr $AC0.M, @0xff87
call send_back call send_back
lr $AC0.M, @0xff88 lr $AC0.M, @0xff88
call send_back call send_back
lr $AC0.M, @0xff89 lr $AC0.M, @0xff89
call send_back call send_back
lr $AC0.M, @0xff8A lr $AC0.M, @0xff8A
call send_back call send_back
lr $AC0.M, @0xff8B lr $AC0.M, @0xff8B
call send_back call send_back
lr $AC0.M, @0xff8C lr $AC0.M, @0xff8C
call send_back call send_back
lr $AC0.M, @0xff8D lr $AC0.M, @0xff8D
call send_back call send_back
; We're done, DO NOT DELETE THIS LINE ; We're done, DO NOT DELETE THIS LINE
jmp end_of_test jmp end_of_test

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -163,7 +163,6 @@
292AC27811838FD700B8790B /* HLE_Misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2011838FD500B8790B /* HLE_Misc.h */; }; 292AC27811838FD700B8790B /* HLE_Misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2011838FD500B8790B /* HLE_Misc.h */; };
292AC27911838FD700B8790B /* HLE_OS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABE2111838FD500B8790B /* HLE_OS.cpp */; }; 292AC27911838FD700B8790B /* HLE_OS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABE2111838FD500B8790B /* HLE_OS.cpp */; };
292AC27A11838FD700B8790B /* HLE_OS.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2211838FD500B8790B /* HLE_OS.h */; }; 292AC27A11838FD700B8790B /* HLE_OS.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2211838FD500B8790B /* HLE_OS.h */; };
292AC27B11838FD700B8790B /* Host.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABE2311838FD500B8790B /* Host.cpp */; };
292AC27C11838FD700B8790B /* Host.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2411838FD500B8790B /* Host.h */; }; 292AC27C11838FD700B8790B /* Host.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2411838FD500B8790B /* Host.h */; };
292AC27D11838FD700B8790B /* AudioInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABE2611838FD500B8790B /* AudioInterface.cpp */; }; 292AC27D11838FD700B8790B /* AudioInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABE2611838FD500B8790B /* AudioInterface.cpp */; };
292AC27E11838FD700B8790B /* AudioInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2711838FD500B8790B /* AudioInterface.h */; }; 292AC27E11838FD700B8790B /* AudioInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABE2711838FD500B8790B /* AudioInterface.h */; };
@ -1434,7 +1433,6 @@
292ABE2011838FD500B8790B /* HLE_Misc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HLE_Misc.h; sourceTree = "<group>"; }; 292ABE2011838FD500B8790B /* HLE_Misc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HLE_Misc.h; sourceTree = "<group>"; };
292ABE2111838FD500B8790B /* HLE_OS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HLE_OS.cpp; sourceTree = "<group>"; }; 292ABE2111838FD500B8790B /* HLE_OS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HLE_OS.cpp; sourceTree = "<group>"; };
292ABE2211838FD500B8790B /* HLE_OS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HLE_OS.h; sourceTree = "<group>"; }; 292ABE2211838FD500B8790B /* HLE_OS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HLE_OS.h; sourceTree = "<group>"; };
292ABE2311838FD500B8790B /* Host.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Host.cpp; sourceTree = "<group>"; };
292ABE2411838FD500B8790B /* Host.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Host.h; sourceTree = "<group>"; }; 292ABE2411838FD500B8790B /* Host.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Host.h; sourceTree = "<group>"; };
292ABE2611838FD500B8790B /* AudioInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioInterface.cpp; sourceTree = "<group>"; }; 292ABE2611838FD500B8790B /* AudioInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioInterface.cpp; sourceTree = "<group>"; };
292ABE2711838FD500B8790B /* AudioInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioInterface.h; sourceTree = "<group>"; }; 292ABE2711838FD500B8790B /* AudioInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioInterface.h; sourceTree = "<group>"; };
@ -2841,7 +2839,6 @@
292ABE1311838FD500B8790B /* Debugger */, 292ABE1311838FD500B8790B /* Debugger */,
292ABE1B11838FD500B8790B /* DolLoader.h */, 292ABE1B11838FD500B8790B /* DolLoader.h */,
292ABE1C11838FD500B8790B /* HLE */, 292ABE1C11838FD500B8790B /* HLE */,
292ABE2311838FD500B8790B /* Host.cpp */,
292ABE2411838FD500B8790B /* Host.h */, 292ABE2411838FD500B8790B /* Host.h */,
292ABE2511838FD500B8790B /* HW */, 292ABE2511838FD500B8790B /* HW */,
292ABE6511838FD500B8790B /* IPC_HLE */, 292ABE6511838FD500B8790B /* IPC_HLE */,
@ -5488,7 +5485,6 @@
292AC27511838FD700B8790B /* HLE.cpp in Sources */, 292AC27511838FD700B8790B /* HLE.cpp in Sources */,
292AC27711838FD700B8790B /* HLE_Misc.cpp in Sources */, 292AC27711838FD700B8790B /* HLE_Misc.cpp in Sources */,
292AC27911838FD700B8790B /* HLE_OS.cpp in Sources */, 292AC27911838FD700B8790B /* HLE_OS.cpp in Sources */,
292AC27B11838FD700B8790B /* Host.cpp in Sources */,
292AC27D11838FD700B8790B /* AudioInterface.cpp in Sources */, 292AC27D11838FD700B8790B /* AudioInterface.cpp in Sources */,
292AC27F11838FD700B8790B /* TAP_Apple.cpp in Sources */, 292AC27F11838FD700B8790B /* TAP_Apple.cpp in Sources */,
292AC28011838FD700B8790B /* TAP_Unix.cpp in Sources */, 292AC28011838FD700B8790B /* TAP_Unix.cpp in Sources */,

View File

@ -1,450 +1,450 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="InputPluginCommon" Name="InputPluginCommon"
ProjectGUID="{660BB3F7-ED8F-4027-A460-8E4EDA8189BE}" ProjectGUID="{660BB3F7-ED8F-4027-A460-8E4EDA8189BE}"
RootNamespace="VideoCommon" RootNamespace="VideoCommon"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="131072" TargetFrameworkVersion="131072"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
BufferSecurityCheck="false" BufferSecurityCheck="false"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_LIB;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_LIB;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
BufferSecurityCheck="false" BufferSecurityCheck="false"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true" StringPooling="true"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
EnableEnhancedInstructionSet="2" EnableEnhancedInstructionSet="2"
FloatingPointModel="0" FloatingPointModel="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="1"
OmitFramePointers="false" OmitFramePointers="false"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
OutputFile="$(OutDir)\$(ProjectName).lib" OutputFile="$(OutDir)\$(ProjectName).lib"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|Win32" Name="DebugFast|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="DebugFast|x64" Name="DebugFast|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="4" ConfigurationType="4"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="0" WholeProgramOptimization="0"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc" AdditionalIncludeDirectories="../../Core/InputCommon/Src;../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0" RuntimeLibrary="0"
BufferSecurityCheck="false" BufferSecurityCheck="false"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLibrarianTool" Name="VCLibrarianTool"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\Src\Config.cpp" RelativePath=".\Src\Config.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\Config.h" RelativePath=".\Src\Config.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\ConfigDiag.cpp" RelativePath=".\Src\ConfigDiag.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\ConfigDiag.h" RelativePath=".\Src\ConfigDiag.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\ConfigDiagBitmaps.cpp" RelativePath=".\Src\ConfigDiagBitmaps.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\ControllerEmu.cpp" RelativePath=".\Src\ControllerEmu.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\ControllerEmu.h" RelativePath=".\Src\ControllerEmu.h"
> >
</File> </File>
<File <File
RelativePath=".\Src\IniFile.cpp" RelativePath=".\Src\IniFile.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Src\IniFile.h" RelativePath=".\Src\IniFile.h"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -369,7 +369,7 @@ void Config::LoadIR()
int defaultLeft, defaultTop, defaultWidth, defaultHeight; int defaultLeft, defaultTop, defaultWidth, defaultHeight;
sprintf(TmpSection, "%s", g_ISOId ? Hex2Ascii(g_ISOId).c_str() : "Default"); sprintf(TmpSection, "%s", g_ISOId ? Hex2Ascii(g_ISOId).c_str() : "Default");
iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IR Pointer.ini").c_str()); iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IrPointer.ini").c_str());
//Load defaults first... //Load defaults first...
iniFile.Get("Default", "IRLeft", &defaultLeft, LEFT); iniFile.Get("Default", "IRLeft", &defaultLeft, LEFT);
iniFile.Get("Default", "IRTop", &defaultTop, TOP); iniFile.Get("Default", "IRTop", &defaultTop, TOP);
@ -461,7 +461,7 @@ void Config::Save()
iniFile.Save((std::string(File::GetUserPath(D_CONFIG_IDX)) + "Wiimote.ini").c_str()); iniFile.Save((std::string(File::GetUserPath(D_CONFIG_IDX)) + "Wiimote.ini").c_str());
// Save the IR cursor settings if it's avaliable for the GameId, if not save the default settings // Save the IR cursor settings if it's avaliable for the GameId, if not save the default settings
iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IR Pointer.ini").c_str()); iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IrPointer.ini").c_str());
char TmpSection[32]; char TmpSection[32];
sprintf(TmpSection, "%s", g_ISOId ? Hex2Ascii(g_ISOId).c_str() : "Default"); sprintf(TmpSection, "%s", g_ISOId ? Hex2Ascii(g_ISOId).c_str() : "Default");
iniFile.Set(TmpSection, "IRLeft", iIRLeft); iniFile.Set(TmpSection, "IRLeft", iIRLeft);
@ -469,7 +469,7 @@ void Config::Save()
iniFile.Set(TmpSection, "IRWidth", iIRWidth); iniFile.Set(TmpSection, "IRWidth", iIRWidth);
iniFile.Set(TmpSection, "IRHeight", iIRHeight); iniFile.Set(TmpSection, "IRHeight", iIRHeight);
iniFile.Set(TmpSection, "IRLevel", iIRLevel); iniFile.Set(TmpSection, "IRLevel", iIRLevel);
iniFile.Save((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IR Pointer.ini").c_str()); iniFile.Save((std::string(File::GetUserPath(D_CONFIG_IDX)) + "IrPointer.ini").c_str());
//Save any options that need to be accessed in Dolphin //Save any options that need to be accessed in Dolphin
iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "Dolphin.ini").c_str()); iniFile.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "Dolphin.ini").c_str());

View File

@ -1,405 +1,405 @@
// Copyright (C) 2003 Dolphin Project. // Copyright (C) 2003 Dolphin Project.
// This program is free software: you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0. // the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details. // GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program. // A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/ // If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at // Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
// //
#include "EmuDefinitions.h" #include "EmuDefinitions.h"
#ifdef _WIN32 #ifdef _WIN32
#include "XInput.h" #include "XInput.h"
#endif #endif
namespace WiiMoteEmu namespace WiiMoteEmu
{ {
// SDL Haptic fails on windows, it just doesn't work (even the sample doesn't work) // SDL Haptic fails on windows, it just doesn't work (even the sample doesn't work)
// So until i can make it work, this is all disabled >:( // So until i can make it work, this is all disabled >:(
#if SDL_VERSION_ATLEAST(1, 3, 0) && !defined(_WIN32) && !defined(__APPLE__) #if SDL_VERSION_ATLEAST(1, 3, 0) && !defined(_WIN32) && !defined(__APPLE__)
#define SDL_RUMBLE #define SDL_RUMBLE
#else #else
#ifdef _WIN32 #ifdef _WIN32
#define RUMBLE_HACK #define RUMBLE_HACK
#define DIRECTINPUT_VERSION 0x0800 #define DIRECTINPUT_VERSION 0x0800
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#pragma comment(lib, "dxguid.lib") #pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "dinput8.lib") #pragma comment(lib, "dinput8.lib")
#pragma comment(lib, "winmm.lib") #pragma comment(lib, "winmm.lib")
#include <dinput.h> #include <dinput.h>
#endif #endif
#endif #endif
#ifdef RUMBLE_HACK #ifdef RUMBLE_HACK
struct RUMBLE // GC Pad rumble DIDevice struct RUMBLE // GC Pad rumble DIDevice
{ {
LPDIRECTINPUTDEVICE8 g_pDevice; // 4 pads objects LPDIRECTINPUTDEVICE8 g_pDevice; // 4 pads objects
LPDIRECTINPUTEFFECT g_pEffect; LPDIRECTINPUTEFFECT g_pEffect;
DWORD g_dwNumForceFeedbackAxis; DWORD g_dwNumForceFeedbackAxis;
DIEFFECT eff; DIEFFECT eff;
}; };
#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } } #define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } }
BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext); BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext);
BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext); BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext);
void SetDeviceForcesXY(int pad, int nXYForce); void SetDeviceForcesXY(int pad, int nXYForce);
HRESULT InitRumble(HWND hWnd); HRESULT InitRumble(HWND hWnd);
void Rumble_DInput(int _ID, unsigned int _Strength); void Rumble_DInput(int _ID, unsigned int _Strength);
void Rumble_XInput(int _ID, unsigned int _Strength); void Rumble_XInput(int _ID, unsigned int _Strength);
LPDIRECTINPUT8 g_Rumble; // DInput Rumble object LPDIRECTINPUT8 g_Rumble; // DInput Rumble object
RUMBLE pRumble[MAX_WIIMOTES]; RUMBLE pRumble[MAX_WIIMOTES];
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
// Set PAD rumble. Explanation: Stop = 0, Rumble = 1 // Set PAD rumble. Explanation: Stop = 0, Rumble = 1
void PAD_Rumble(u8 _numPAD, unsigned int _uType) void PAD_Rumble(u8 _numPAD, unsigned int _uType)
{ {
if (WiiMapping[_numPAD].ID >= NumPads || !WiiMapping[_numPAD].Rumble) if (WiiMapping[_numPAD].ID >= NumPads || !WiiMapping[_numPAD].Rumble)
return; return;
unsigned int Strength = 0; unsigned int Strength = 0;
if (_uType == 1) if (_uType == 1)
{ {
Strength = WiiMapping[_numPAD].RumbleStrength; Strength = WiiMapping[_numPAD].RumbleStrength;
Strength = Strength > 100 ? 100 : Strength; Strength = Strength > 100 ? 100 : Strength;
} }
if (WiiMapping[_numPAD].TriggerType == InputCommon::CTL_TRIGGER_XINPUT) if (WiiMapping[_numPAD].TriggerType == InputCommon::CTL_TRIGGER_XINPUT)
Rumble_XInput(WiiMapping[_numPAD].ID, Strength); Rumble_XInput(WiiMapping[_numPAD].ID, Strength);
else else
Rumble_DInput(WiiMapping[_numPAD].ID, Strength); Rumble_DInput(WiiMapping[_numPAD].ID, Strength);
} }
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
// Set rumble with XInput. // Set rumble with XInput.
void Rumble_XInput(int _ID, unsigned int _Strength) void Rumble_XInput(int _ID, unsigned int _Strength)
{ {
#ifdef _WIN32 #ifdef _WIN32
XINPUT_VIBRATION vib; XINPUT_VIBRATION vib;
vib.wLeftMotorSpeed = 0xFFFF / 100 * _Strength; vib.wLeftMotorSpeed = 0xFFFF / 100 * _Strength;
vib.wRightMotorSpeed = 0xFFFF / 100 * _Strength; vib.wRightMotorSpeed = 0xFFFF / 100 * _Strength;
XInputSetState(_ID, &vib); XInputSetState(_ID, &vib);
#endif #endif
} }
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
// Set rumble with DInput.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // Set rumble with DInput.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Rumble_DInput(int _ID, unsigned int _Strength) void Rumble_DInput(int _ID, unsigned int _Strength)
{ {
if (!g_Rumble) if (!g_Rumble)
{ {
// GetForegroundWindow() always sends the good HWND // GetForegroundWindow() always sends the good HWND
if (FAILED(InitRumble(GetForegroundWindow()))) if (FAILED(InitRumble(GetForegroundWindow())))
PanicAlert("Could not initialize Rumble!"); PanicAlert("Could not initialize Rumble!");
} }
else else
{ {
// Acquire gamepad // Acquire gamepad
if (pRumble[_ID].g_pDevice != NULL) if (pRumble[_ID].g_pDevice != NULL)
pRumble[_ID].g_pDevice->Acquire(); pRumble[_ID].g_pDevice->Acquire();
} }
SetDeviceForcesXY(_ID, _Strength * 100); SetDeviceForcesXY(_ID, _Strength * 100);
} }
HRESULT InitRumble(HWND hWnd) HRESULT InitRumble(HWND hWnd)
{ {
DIPROPDWORD dipdw; DIPROPDWORD dipdw;
HRESULT hr; HRESULT hr;
// Register with the DirectInput subsystem and get a pointer to a IDirectInput interface we can use. // Register with the DirectInput subsystem and get a pointer to a IDirectInput interface we can use.
if (FAILED(hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_Rumble, NULL))) if (FAILED(hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_Rumble, NULL)))
return hr; return hr;
// Look for a device we can use // Look for a device we can use
if (FAILED(hr = g_Rumble->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumFFDevicesCallback, NULL, DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK))) if (FAILED(hr = g_Rumble->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumFFDevicesCallback, NULL, DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK)))
return hr; return hr;
for (int i = 0; i < MAX_WIIMOTES; i++) for (int i = 0; i < MAX_WIIMOTES; i++)
{ {
if (NULL == pRumble[i].g_pDevice) if (NULL == pRumble[i].g_pDevice)
WiiMapping[i].Rumble = false; // Disable Rumble for this pad only. WiiMapping[i].Rumble = false; // Disable Rumble for this pad only.
else else
{ {
pRumble[i].g_pDevice->SetDataFormat(&c_dfDIJoystick); pRumble[i].g_pDevice->SetDataFormat(&c_dfDIJoystick);
pRumble[i].g_pDevice->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND); pRumble[i].g_pDevice->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND);
// Request exclusive acces for both background and foreground. // Request exclusive acces for both background and foreground.
dipdw.diph.dwSize = sizeof(DIPROPDWORD); dipdw.diph.dwSize = sizeof(DIPROPDWORD);
dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER); dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);
dipdw.diph.dwObj = 0; dipdw.diph.dwObj = 0;
dipdw.diph.dwHow = DIPH_DEVICE; dipdw.diph.dwHow = DIPH_DEVICE;
dipdw.dwData = FALSE; dipdw.dwData = FALSE;
// if Force Feedback doesn't seem to work... // if Force Feedback doesn't seem to work...
if (FAILED(pRumble[i].g_pDevice->EnumObjects(EnumAxesCallback, if (FAILED(pRumble[i].g_pDevice->EnumObjects(EnumAxesCallback,
(void*)&pRumble[i].g_dwNumForceFeedbackAxis, DIDFT_AXIS)) (void*)&pRumble[i].g_dwNumForceFeedbackAxis, DIDFT_AXIS))
|| FAILED(pRumble[i].g_pDevice->SetProperty(DIPROP_AUTOCENTER, &dipdw.diph))) || FAILED(pRumble[i].g_pDevice->SetProperty(DIPROP_AUTOCENTER, &dipdw.diph)))
{ {
PanicAlert("Device %d doesn't seem to work ! \nRumble for device %d is now Disabled !", i+1); PanicAlert("Device %d doesn't seem to work ! \nRumble for device %d is now Disabled !", i+1);
WiiMapping[i].Rumble = false; // Disable Rumble for this pad WiiMapping[i].Rumble = false; // Disable Rumble for this pad
continue; // Next pad continue; // Next pad
} }
if (pRumble[i].g_dwNumForceFeedbackAxis > 2) if (pRumble[i].g_dwNumForceFeedbackAxis > 2)
pRumble[i].g_dwNumForceFeedbackAxis = 2; pRumble[i].g_dwNumForceFeedbackAxis = 2;
DWORD _rgdwAxes[2] = {DIJOFS_X, DIJOFS_Y}; DWORD _rgdwAxes[2] = {DIJOFS_X, DIJOFS_Y};
long rglDirection[2] = {0, 0}; long rglDirection[2] = {0, 0};
DICONSTANTFORCE cf = {0}; DICONSTANTFORCE cf = {0};
ZeroMemory(&pRumble[i].eff, sizeof(pRumble[i].eff)); ZeroMemory(&pRumble[i].eff, sizeof(pRumble[i].eff));
pRumble[i].eff.dwSize = sizeof(DIEFFECT); pRumble[i].eff.dwSize = sizeof(DIEFFECT);
pRumble[i].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; pRumble[i].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
pRumble[i].eff.dwDuration = INFINITE; // fixed time may be safer (X * DI_SECONDS) pRumble[i].eff.dwDuration = INFINITE; // fixed time may be safer (X * DI_SECONDS)
pRumble[i].eff.dwSamplePeriod = 0; pRumble[i].eff.dwSamplePeriod = 0;
pRumble[i].eff.dwGain = DI_FFNOMINALMAX; pRumble[i].eff.dwGain = DI_FFNOMINALMAX;
pRumble[i].eff.dwTriggerButton = DIEB_NOTRIGGER; pRumble[i].eff.dwTriggerButton = DIEB_NOTRIGGER;
pRumble[i].eff.dwTriggerRepeatInterval = 0; pRumble[i].eff.dwTriggerRepeatInterval = 0;
pRumble[i].eff.cAxes = pRumble[i].g_dwNumForceFeedbackAxis; pRumble[i].eff.cAxes = pRumble[i].g_dwNumForceFeedbackAxis;
pRumble[i].eff.rgdwAxes = _rgdwAxes; pRumble[i].eff.rgdwAxes = _rgdwAxes;
pRumble[i].eff.rglDirection = rglDirection; pRumble[i].eff.rglDirection = rglDirection;
pRumble[i].eff.lpEnvelope = 0; pRumble[i].eff.lpEnvelope = 0;
pRumble[i].eff.cbTypeSpecificParams = sizeof( DICONSTANTFORCE ); pRumble[i].eff.cbTypeSpecificParams = sizeof( DICONSTANTFORCE );
pRumble[i].eff.lpvTypeSpecificParams = &cf; pRumble[i].eff.lpvTypeSpecificParams = &cf;
pRumble[i].eff.dwStartDelay = 0; pRumble[i].eff.dwStartDelay = 0;
// Create the prepared effect // Create the prepared effect
if (FAILED(hr = pRumble[i].g_pDevice->CreateEffect(GUID_ConstantForce, &pRumble[i].eff, &pRumble[i].g_pEffect, NULL))) if (FAILED(hr = pRumble[i].g_pDevice->CreateEffect(GUID_ConstantForce, &pRumble[i].eff, &pRumble[i].g_pEffect, NULL)))
continue; continue;
if (pRumble[i].g_pEffect == NULL) if (pRumble[i].g_pEffect == NULL)
continue; continue;
} }
} }
return S_OK; return S_OK;
} }
void SetDeviceForcesXY(int npad, int nXYForce) void SetDeviceForcesXY(int npad, int nXYForce)
{ {
// Security check // Security check
if (pRumble[npad].g_pDevice == NULL) if (pRumble[npad].g_pDevice == NULL)
return; return;
// If nXYForce is null, there's no point to create the effect // If nXYForce is null, there's no point to create the effect
// Just stop the force feedback // Just stop the force feedback
if (nXYForce == 0) { if (nXYForce == 0) {
pRumble[npad].g_pEffect->Stop(); pRumble[npad].g_pEffect->Stop();
return; return;
} }
long rglDirection[2] = {0}; long rglDirection[2] = {0};
DICONSTANTFORCE cf; DICONSTANTFORCE cf;
// If only one force feedback axis, then apply only one direction and keep the direction at zero // If only one force feedback axis, then apply only one direction and keep the direction at zero
if (pRumble[npad].g_dwNumForceFeedbackAxis == 1) if (pRumble[npad].g_dwNumForceFeedbackAxis == 1)
{ {
rglDirection[0] = 0; rglDirection[0] = 0;
cf.lMagnitude = nXYForce; // max should be 10000 cf.lMagnitude = nXYForce; // max should be 10000
} }
// If two force feedback axis, then apply magnitude from both directions // If two force feedback axis, then apply magnitude from both directions
else else
{ {
rglDirection[0] = nXYForce; rglDirection[0] = nXYForce;
rglDirection[1] = nXYForce; rglDirection[1] = nXYForce;
cf.lMagnitude = static_cast<LONG>(1.4142f*nXYForce); cf.lMagnitude = static_cast<LONG>(1.4142f*nXYForce);
} }
ZeroMemory(&pRumble[npad].eff, sizeof(pRumble[npad].eff)); ZeroMemory(&pRumble[npad].eff, sizeof(pRumble[npad].eff));
pRumble[npad].eff.dwSize = sizeof(DIEFFECT); pRumble[npad].eff.dwSize = sizeof(DIEFFECT);
pRumble[npad].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; pRumble[npad].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
pRumble[npad].eff.cAxes = pRumble[npad].g_dwNumForceFeedbackAxis; pRumble[npad].eff.cAxes = pRumble[npad].g_dwNumForceFeedbackAxis;
pRumble[npad].eff.rglDirection = rglDirection; pRumble[npad].eff.rglDirection = rglDirection;
pRumble[npad].eff.lpEnvelope = 0; pRumble[npad].eff.lpEnvelope = 0;
pRumble[npad].eff.cbTypeSpecificParams = sizeof(DICONSTANTFORCE); pRumble[npad].eff.cbTypeSpecificParams = sizeof(DICONSTANTFORCE);
pRumble[npad].eff.lpvTypeSpecificParams = &cf; pRumble[npad].eff.lpvTypeSpecificParams = &cf;
pRumble[npad].eff.dwStartDelay = 0; pRumble[npad].eff.dwStartDelay = 0;
// Now set the new parameters.. // Now set the new parameters..
pRumble[npad].g_pEffect->SetParameters(&pRumble[npad].eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START); pRumble[npad].g_pEffect->SetParameters(&pRumble[npad].eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START);
// ..And start the effect immediately. // ..And start the effect immediately.
if (pRumble[npad].g_pEffect != NULL) if (pRumble[npad].g_pEffect != NULL)
pRumble[npad].g_pEffect->Start(1, 0); pRumble[npad].g_pEffect->Start(1, 0);
} }
BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext) BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext)
{ {
LPDIRECTINPUTDEVICE8 pDevice; LPDIRECTINPUTDEVICE8 pDevice;
DIPROPDWORD dipdw; DIPROPDWORD dipdw;
HRESULT hr; HRESULT hr;
int JoystickID; int JoystickID;
dipdw.diph.dwSize = sizeof(DIPROPDWORD); dipdw.diph.dwSize = sizeof(DIPROPDWORD);
dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER); dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);
dipdw.diph.dwObj = 0; dipdw.diph.dwObj = 0;
dipdw.diph.dwHow = DIPH_DEVICE; dipdw.diph.dwHow = DIPH_DEVICE;
g_Rumble->CreateDevice(pInst->guidInstance, &pDevice, NULL); // Create a DInput pad device g_Rumble->CreateDevice(pInst->guidInstance, &pDevice, NULL); // Create a DInput pad device
if (SUCCEEDED(hr = pDevice->GetProperty(DIPROP_JOYSTICKID, &dipdw.diph))) // Get DInput Device ID if (SUCCEEDED(hr = pDevice->GetProperty(DIPROP_JOYSTICKID, &dipdw.diph))) // Get DInput Device ID
JoystickID = dipdw.dwData; JoystickID = dipdw.dwData;
else else
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
//PanicAlert("DInput ID : %d \nSDL ID (1-4) : %d / %d / %d / %d\n", JoystickID, WiiMapping[0].ID, WiiMapping[1].ID, WiiMapping[2].ID, WiiMapping[3].ID); //PanicAlert("DInput ID : %d \nSDL ID (1-4) : %d / %d / %d / %d\n", JoystickID, WiiMapping[0].ID, WiiMapping[1].ID, WiiMapping[2].ID, WiiMapping[3].ID);
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
{ {
if (WiiMapping[i].ID == JoystickID) // if SDL ID = DInput ID -> we're dealing with the same device if (WiiMapping[i].ID == JoystickID) // if SDL ID = DInput ID -> we're dealing with the same device
{ {
// a DInput device is created even if rumble is disabled on startup // a DInput device is created even if rumble is disabled on startup
// this way, you can toggle the rumble setting while in game // this way, you can toggle the rumble setting while in game
pRumble[i].g_pDevice = pDevice; // everything looks good, save the DInput device pRumble[i].g_pDevice = pDevice; // everything looks good, save the DInput device
} }
} }
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
} }
BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext) BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext)
{ {
DWORD* pdwNumForceFeedbackAxis = (DWORD*)pContext; // Enum Rumble Axis DWORD* pdwNumForceFeedbackAxis = (DWORD*)pContext; // Enum Rumble Axis
if ((pdidoi->dwFlags & DIDOI_FFACTUATOR) != 0) if ((pdidoi->dwFlags & DIDOI_FFACTUATOR) != 0)
(*pdwNumForceFeedbackAxis)++; (*pdwNumForceFeedbackAxis)++;
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
} }
void PAD_RumbleClose() void PAD_RumbleClose()
{ {
for (int i = 0; i < MAX_WIIMOTES; i++) for (int i = 0; i < MAX_WIIMOTES; i++)
{ {
if (WiiMapping[i].ID < NumPads) if (WiiMapping[i].ID < NumPads)
if (WiiMapping[i].TriggerType == InputCommon::CTL_TRIGGER_XINPUT) if (WiiMapping[i].TriggerType == InputCommon::CTL_TRIGGER_XINPUT)
{ {
#ifdef _WIN32 #ifdef _WIN32
// Kill Xpad rumble // Kill Xpad rumble
XINPUT_VIBRATION vib; XINPUT_VIBRATION vib;
vib.wLeftMotorSpeed = 0; vib.wLeftMotorSpeed = 0;
vib.wRightMotorSpeed = 0; vib.wRightMotorSpeed = 0;
XInputSetState(WiiMapping[i].ID, &vib); XInputSetState(WiiMapping[i].ID, &vib);
#endif #endif
} }
else else
{ {
// It may look weird, but we don't free anything here, it was the cause of crashes // It may look weird, but we don't free anything here, it was the cause of crashes
// on stop, and the DLL isn't unloaded anyway, so the pointers stay // on stop, and the DLL isn't unloaded anyway, so the pointers stay
// We just stop the rumble in case it's still playing an effect. // We just stop the rumble in case it's still playing an effect.
if (pRumble[WiiMapping[i].ID].g_pDevice && pRumble[WiiMapping[i].ID].g_pEffect) if (pRumble[WiiMapping[i].ID].g_pDevice && pRumble[WiiMapping[i].ID].g_pEffect)
pRumble[WiiMapping[i].ID].g_pEffect->Stop(); pRumble[WiiMapping[i].ID].g_pEffect->Stop();
} }
} }
} }
#else // Multiplatform SDL Rumble code #else // Multiplatform SDL Rumble code
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
struct RUMBLE // GC Pad rumble DIDevice struct RUMBLE // GC Pad rumble DIDevice
{ {
SDL_Haptic* g_pDevice; SDL_Haptic* g_pDevice;
SDL_HapticEffect g_pEffect; SDL_HapticEffect g_pEffect;
int effect_id; int effect_id;
}; };
RUMBLE pRumble[4] = {0}; // 4 GC Rumble Pads RUMBLE pRumble[4] = {0}; // 4 GC Rumble Pads
#endif #endif
// Use PAD rumble // Use PAD rumble
// -------------- // --------------
bool PAD_Init_Rumble(u8 _numPAD, SDL_Joystick *SDL_Device) bool PAD_Init_Rumble(u8 _numPAD, SDL_Joystick *SDL_Device)
{ {
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
if (SDL_Device == NULL) if (SDL_Device == NULL)
return false; return false;
pRumble[_numPAD].g_pDevice = SDL_HapticOpenFromJoystick(SDL_Device); pRumble[_numPAD].g_pDevice = SDL_HapticOpenFromJoystick(SDL_Device);
if (pRumble[_numPAD].g_pDevice == NULL) if (pRumble[_numPAD].g_pDevice == NULL)
return false; // Most likely joystick isn't haptic return false; // Most likely joystick isn't haptic
if (!(SDL_HapticQuery(pRumble[_numPAD].g_pDevice) & SDL_HAPTIC_CONSTANT)) if (!(SDL_HapticQuery(pRumble[_numPAD].g_pDevice) & SDL_HAPTIC_CONSTANT))
{ {
SDL_HapticClose(pRumble[_numPAD].g_pDevice); // No effect SDL_HapticClose(pRumble[_numPAD].g_pDevice); // No effect
pRumble[_numPAD].g_pDevice = 0; pRumble[_numPAD].g_pDevice = 0;
WiiMapping[_numPAD].Rumble = false; WiiMapping[_numPAD].Rumble = false;
return false; return false;
} }
// Set the strength of the rumble effect // Set the strength of the rumble effect
int Strenght = 3276 * (pRumble[_numPAD].RumbleStrength); int Strenght = 3276 * (pRumble[_numPAD].RumbleStrength);
Strenght = Strenght > 32767 ? 32767 : Strenght; Strenght = Strenght > 32767 ? 32767 : Strenght;
// Create the effect // Create the effect
memset(&pRumble[_numPAD].g_pEffect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default memset(&pRumble[_numPAD].g_pEffect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default
pRumble[_numPAD].g_pEffect.type = SDL_HAPTIC_CONSTANT; pRumble[_numPAD].g_pEffect.type = SDL_HAPTIC_CONSTANT;
pRumble[_numPAD].g_pEffect.constant.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates pRumble[_numPAD].g_pEffect.constant.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates
pRumble[_numPAD].g_pEffect.constant.direction.dir[0] = 18000; // Force comes from south pRumble[_numPAD].g_pEffect.constant.direction.dir[0] = 18000; // Force comes from south
pRumble[_numPAD].g_pEffect.constant.level = Strenght; pRumble[_numPAD].g_pEffect.constant.level = Strenght;
pRumble[_numPAD].g_pEffect.constant.length = 10000; // 10s long (should be INFINITE, but 10s is safer) pRumble[_numPAD].g_pEffect.constant.length = 10000; // 10s long (should be INFINITE, but 10s is safer)
pRumble[_numPAD].g_pEffect.constant.attack_length = 0; // disable Fade in... pRumble[_numPAD].g_pEffect.constant.attack_length = 0; // disable Fade in...
pRumble[_numPAD].g_pEffect.constant.fade_length = 0; // ...and out pRumble[_numPAD].g_pEffect.constant.fade_length = 0; // ...and out
// Upload the effect // Upload the effect
pRumble[_numPAD].effect_id = SDL_HapticNewEffect( pRumble[_numPAD].g_pDevice, &pRumble[_numPAD].g_pEffect ); pRumble[_numPAD].effect_id = SDL_HapticNewEffect( pRumble[_numPAD].g_pDevice, &pRumble[_numPAD].g_pEffect );
#endif #endif
return true; return true;
} }
// Set PAD rumble. Explanation: Stop = 0, Rumble = 1 // Set PAD rumble. Explanation: Stop = 0, Rumble = 1
// -------------- // --------------
void PAD_Rumble(u8 _numPAD, unsigned int _uType) void PAD_Rumble(u8 _numPAD, unsigned int _uType)
{ {
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
if (WiiMapping[_numPAD].Rumble) // rumble activated if (WiiMapping[_numPAD].Rumble) // rumble activated
{ {
if (!pRumble[_numPAD].g_pDevice) if (!pRumble[_numPAD].g_pDevice)
return; return;
if (_uType == 1) if (_uType == 1)
SDL_HapticRunEffect( pRumble[_numPAD].g_pDevice, pRumble[_numPAD].effect_id, 1 ); SDL_HapticRunEffect( pRumble[_numPAD].g_pDevice, pRumble[_numPAD].effect_id, 1 );
else else
SDL_HapticStopAll(pRumble[_numPAD].g_pDevice); SDL_HapticStopAll(pRumble[_numPAD].g_pDevice);
} }
#endif #endif
} }
void PAD_RumbleClose() void PAD_RumbleClose()
{ {
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
for (int i=0; i<4; i++) // Free all pads for (int i=0; i<4; i++) // Free all pads
{ {
if (pRumble[i].g_pDevice) { if (pRumble[i].g_pDevice) {
SDL_HapticClose( pRumble[i].g_pDevice ); SDL_HapticClose( pRumble[i].g_pDevice );
pRumble[i].g_pDevice = NULL; pRumble[i].g_pDevice = NULL;
} }
} }
#endif #endif
} }
#endif // RUMBLE_HACK #endif // RUMBLE_HACK
} // end of namespace } // end of namespace

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,380 +1,380 @@
// Project description // Project description
// ------------------- // -------------------
// Name: nJoy // Name: nJoy
// Description: A Dolphin Compatible Input Plugin // Description: A Dolphin Compatible Input Plugin
// //
// Author: Falcon4ever (nJoy@falcon4ever.com) // Author: Falcon4ever (nJoy@falcon4ever.com)
// Site: www.multigesture.net // Site: www.multigesture.net
// Copyright (C) 2003 Dolphin Project. // Copyright (C) 2003 Dolphin Project.
// //
// //
// Licensetype: GNU General Public License (GPL) // Licensetype: GNU General Public License (GPL)
// //
// This program is free software: you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0. // the Free Software Foundation, version 2.0.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details. // GNU General Public License 2.0 for more details.
// //
// A copy of the GPL 2.0 should have been included with the program. // A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/ // If not, see http://www.gnu.org/licenses/
// //
// Official SVN repository and contact information can be found at // Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
// //
// Include // Include
// --------- // ---------
#include "nJoy.h" #include "nJoy.h"
#ifdef RUMBLE_HACK #ifdef RUMBLE_HACK
struct RUMBLE // GC Pad rumble DIDevice struct RUMBLE // GC Pad rumble DIDevice
{ {
LPDIRECTINPUTDEVICE8 g_pDevice; // 4 pads objects LPDIRECTINPUTDEVICE8 g_pDevice; // 4 pads objects
LPDIRECTINPUTEFFECT g_pEffect; LPDIRECTINPUTEFFECT g_pEffect;
DWORD g_dwNumForceFeedbackAxis; DWORD g_dwNumForceFeedbackAxis;
DIEFFECT eff; DIEFFECT eff;
}; };
#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } } #define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p)=NULL; } }
BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext); BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext);
BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext); BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext);
void SetDeviceForcesXY(int pad, int nXYForce); void SetDeviceForcesXY(int pad, int nXYForce);
HRESULT InitRumble(HWND hWnd); HRESULT InitRumble(HWND hWnd);
LPDIRECTINPUT8 g_Rumble; // DInput Rumble object LPDIRECTINPUT8 g_Rumble; // DInput Rumble object
RUMBLE pRumble[4]; // 4 GC Rumble Pads RUMBLE pRumble[4]; // 4 GC Rumble Pads
////////////////////// //////////////////////
// Use PAD rumble // Use PAD rumble
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Pad_Use_Rumble(u8 _numPAD) void Pad_Use_Rumble(u8 _numPAD)
{ {
if (PadMapping[_numPAD].rumble) if (PadMapping[_numPAD].rumble)
{ {
if (!g_Rumble) if (!g_Rumble)
{ {
// GetForegroundWindow() always sends the good HWND // GetForegroundWindow() always sends the good HWND
if (FAILED(InitRumble(GetForegroundWindow()))) if (FAILED(InitRumble(GetForegroundWindow())))
PanicAlert("Could not initialize Rumble!"); PanicAlert("Could not initialize Rumble!");
} else } else
{ {
// Acquire gamepad // Acquire gamepad
if (pRumble[_numPAD].g_pDevice != NULL) if (pRumble[_numPAD].g_pDevice != NULL)
pRumble[_numPAD].g_pDevice->Acquire(); pRumble[_numPAD].g_pDevice->Acquire();
} }
} }
} }
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
// Set PAD rumble. Explanation: Stop = 0, Rumble = 1 // Set PAD rumble. Explanation: Stop = 0, Rumble = 1
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void PAD_Rumble(u8 _numPAD, unsigned int _uType, unsigned int _uStrength) void PAD_Rumble(u8 _numPAD, unsigned int _uType, unsigned int _uStrength)
{ {
if (!PadMapping[_numPAD].enable) if (!PadMapping[_numPAD].enable)
return; return;
Pad_Use_Rumble(_numPAD); Pad_Use_Rumble(_numPAD);
int Strenght = 0; int Strenght = 0;
if (PadMapping[_numPAD].rumble) // rumble activated if (PadMapping[_numPAD].rumble) // rumble activated
{ {
if (_uType == 1 && _uStrength > 2) if (_uType == 1 && _uStrength > 2)
{ {
// it looks like _uStrength is equal to 3 everytime anyway... // it looks like _uStrength is equal to 3 everytime anyway...
Strenght = 1000 * (g_Config.RumbleStrength + 1); Strenght = 1000 * (g_Config.RumbleStrength + 1);
Strenght = Strenght > 10000 ? 10000 : Strenght; Strenght = Strenght > 10000 ? 10000 : Strenght;
} }
else else
Strenght = 0; Strenght = 0;
SetDeviceForcesXY(_numPAD, Strenght); SetDeviceForcesXY(_numPAD, Strenght);
} }
} }
// Rumble stuff :D! // Rumble stuff :D!
// ---------------- // ----------------
// //
HRESULT InitRumble(HWND hWnd) HRESULT InitRumble(HWND hWnd)
{ {
DIPROPDWORD dipdw; DIPROPDWORD dipdw;
HRESULT hr; HRESULT hr;
// Register with the DirectInput subsystem and get a pointer to a IDirectInput interface we can use. // Register with the DirectInput subsystem and get a pointer to a IDirectInput interface we can use.
if (FAILED(hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_Rumble, NULL))) if (FAILED(hr = DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_Rumble, NULL)))
return hr; return hr;
// Look for a device we can use // Look for a device we can use
if (FAILED(hr = g_Rumble->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumFFDevicesCallback, NULL, DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK))) if (FAILED(hr = g_Rumble->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumFFDevicesCallback, NULL, DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK)))
return hr; return hr;
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
{ {
if (NULL == pRumble[i].g_pDevice) if (NULL == pRumble[i].g_pDevice)
PadMapping[i].rumble = false; // Disable Rumble for this pad only. PadMapping[i].rumble = false; // Disable Rumble for this pad only.
else else
{ {
pRumble[i].g_pDevice->SetDataFormat(&c_dfDIJoystick); pRumble[i].g_pDevice->SetDataFormat(&c_dfDIJoystick);
pRumble[i].g_pDevice->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND); pRumble[i].g_pDevice->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND);
// Request exclusive acces for both background and foreground. // Request exclusive acces for both background and foreground.
dipdw.diph.dwSize = sizeof(DIPROPDWORD); dipdw.diph.dwSize = sizeof(DIPROPDWORD);
dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER); dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);
dipdw.diph.dwObj = 0; dipdw.diph.dwObj = 0;
dipdw.diph.dwHow = DIPH_DEVICE; dipdw.diph.dwHow = DIPH_DEVICE;
dipdw.dwData = FALSE; dipdw.dwData = FALSE;
// if Force Feedback doesn't seem to work... // if Force Feedback doesn't seem to work...
if (FAILED(pRumble[i].g_pDevice->EnumObjects(EnumAxesCallback, if (FAILED(pRumble[i].g_pDevice->EnumObjects(EnumAxesCallback,
(void*)&pRumble[i].g_dwNumForceFeedbackAxis, DIDFT_AXIS)) (void*)&pRumble[i].g_dwNumForceFeedbackAxis, DIDFT_AXIS))
|| FAILED(pRumble[i].g_pDevice->SetProperty(DIPROP_AUTOCENTER, &dipdw.diph))) || FAILED(pRumble[i].g_pDevice->SetProperty(DIPROP_AUTOCENTER, &dipdw.diph)))
{ {
PanicAlert("Device %d doesn't seem to work ! \nRumble for device %d is now Disabled !", i+1); PanicAlert("Device %d doesn't seem to work ! \nRumble for device %d is now Disabled !", i+1);
PadMapping[i].rumble = false; // Disable Rumble for this pad PadMapping[i].rumble = false; // Disable Rumble for this pad
continue; // Next pad continue; // Next pad
} }
if (pRumble[i].g_dwNumForceFeedbackAxis > 2) if (pRumble[i].g_dwNumForceFeedbackAxis > 2)
pRumble[i].g_dwNumForceFeedbackAxis = 2; pRumble[i].g_dwNumForceFeedbackAxis = 2;
DWORD _rgdwAxes[2] = {DIJOFS_X, DIJOFS_Y}; DWORD _rgdwAxes[2] = {DIJOFS_X, DIJOFS_Y};
long rglDirection[2] = {0, 0}; long rglDirection[2] = {0, 0};
DICONSTANTFORCE cf = {0}; DICONSTANTFORCE cf = {0};
ZeroMemory(&pRumble[i].eff, sizeof(pRumble[i].eff)); ZeroMemory(&pRumble[i].eff, sizeof(pRumble[i].eff));
pRumble[i].eff.dwSize = sizeof(DIEFFECT); pRumble[i].eff.dwSize = sizeof(DIEFFECT);
pRumble[i].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; pRumble[i].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
pRumble[i].eff.dwDuration = INFINITE; // fixed time may be safer (X * DI_SECONDS) pRumble[i].eff.dwDuration = INFINITE; // fixed time may be safer (X * DI_SECONDS)
pRumble[i].eff.dwSamplePeriod = 0; pRumble[i].eff.dwSamplePeriod = 0;
pRumble[i].eff.dwGain = DI_FFNOMINALMAX; pRumble[i].eff.dwGain = DI_FFNOMINALMAX;
pRumble[i].eff.dwTriggerButton = DIEB_NOTRIGGER; pRumble[i].eff.dwTriggerButton = DIEB_NOTRIGGER;
pRumble[i].eff.dwTriggerRepeatInterval = 0; pRumble[i].eff.dwTriggerRepeatInterval = 0;
pRumble[i].eff.cAxes = pRumble[i].g_dwNumForceFeedbackAxis; pRumble[i].eff.cAxes = pRumble[i].g_dwNumForceFeedbackAxis;
pRumble[i].eff.rgdwAxes = _rgdwAxes; pRumble[i].eff.rgdwAxes = _rgdwAxes;
pRumble[i].eff.rglDirection = rglDirection; pRumble[i].eff.rglDirection = rglDirection;
pRumble[i].eff.lpEnvelope = 0; pRumble[i].eff.lpEnvelope = 0;
pRumble[i].eff.cbTypeSpecificParams = sizeof( DICONSTANTFORCE ); pRumble[i].eff.cbTypeSpecificParams = sizeof( DICONSTANTFORCE );
pRumble[i].eff.lpvTypeSpecificParams = &cf; pRumble[i].eff.lpvTypeSpecificParams = &cf;
pRumble[i].eff.dwStartDelay = 0; pRumble[i].eff.dwStartDelay = 0;
// Create the prepared effect // Create the prepared effect
if (FAILED(hr = pRumble[i].g_pDevice->CreateEffect(GUID_ConstantForce, &pRumble[i].eff, &pRumble[i].g_pEffect, NULL))) if (FAILED(hr = pRumble[i].g_pDevice->CreateEffect(GUID_ConstantForce, &pRumble[i].eff, &pRumble[i].g_pEffect, NULL)))
continue; continue;
if (pRumble[i].g_pEffect == NULL) if (pRumble[i].g_pEffect == NULL)
continue; continue;
} }
} }
return S_OK; return S_OK;
} }
void SetDeviceForcesXY(int npad, int nXYForce) void SetDeviceForcesXY(int npad, int nXYForce)
{ {
// Security check // Security check
if (pRumble[npad].g_pDevice == NULL) if (pRumble[npad].g_pDevice == NULL)
return; return;
// If nXYForce is null, there's no point to create the effect // If nXYForce is null, there's no point to create the effect
// Just stop the force feedback // Just stop the force feedback
if (nXYForce == 0) { if (nXYForce == 0) {
pRumble[npad].g_pEffect->Stop(); pRumble[npad].g_pEffect->Stop();
return; return;
} }
long rglDirection[2] = {0}; long rglDirection[2] = {0};
DICONSTANTFORCE cf; DICONSTANTFORCE cf;
// If only one force feedback axis, then apply only one direction and keep the direction at zero // If only one force feedback axis, then apply only one direction and keep the direction at zero
if (pRumble[npad].g_dwNumForceFeedbackAxis == 1) if (pRumble[npad].g_dwNumForceFeedbackAxis == 1)
{ {
rglDirection[0] = 0; rglDirection[0] = 0;
cf.lMagnitude = nXYForce; // max should be 10000 cf.lMagnitude = nXYForce; // max should be 10000
} }
// If two force feedback axis, then apply magnitude from both directions // If two force feedback axis, then apply magnitude from both directions
else else
{ {
rglDirection[0] = nXYForce; rglDirection[0] = nXYForce;
rglDirection[1] = nXYForce; rglDirection[1] = nXYForce;
cf.lMagnitude = 1.4142f*nXYForce; cf.lMagnitude = 1.4142f*nXYForce;
} }
ZeroMemory(&pRumble[npad].eff, sizeof(pRumble[npad].eff)); ZeroMemory(&pRumble[npad].eff, sizeof(pRumble[npad].eff));
pRumble[npad].eff.dwSize = sizeof(DIEFFECT); pRumble[npad].eff.dwSize = sizeof(DIEFFECT);
pRumble[npad].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS; pRumble[npad].eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
pRumble[npad].eff.cAxes = pRumble[npad].g_dwNumForceFeedbackAxis; pRumble[npad].eff.cAxes = pRumble[npad].g_dwNumForceFeedbackAxis;
pRumble[npad].eff.rglDirection = rglDirection; pRumble[npad].eff.rglDirection = rglDirection;
pRumble[npad].eff.lpEnvelope = 0; pRumble[npad].eff.lpEnvelope = 0;
pRumble[npad].eff.cbTypeSpecificParams = sizeof(DICONSTANTFORCE); pRumble[npad].eff.cbTypeSpecificParams = sizeof(DICONSTANTFORCE);
pRumble[npad].eff.lpvTypeSpecificParams = &cf; pRumble[npad].eff.lpvTypeSpecificParams = &cf;
pRumble[npad].eff.dwStartDelay = 0; pRumble[npad].eff.dwStartDelay = 0;
// Now set the new parameters.. // Now set the new parameters..
pRumble[npad].g_pEffect->SetParameters(&pRumble[npad].eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START); pRumble[npad].g_pEffect->SetParameters(&pRumble[npad].eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START);
// ..And start the effect immediately. // ..And start the effect immediately.
if (pRumble[npad].g_pEffect != NULL) if (pRumble[npad].g_pEffect != NULL)
pRumble[npad].g_pEffect->Start(1, 0); pRumble[npad].g_pEffect->Start(1, 0);
} }
BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext) BOOL CALLBACK EnumFFDevicesCallback(const DIDEVICEINSTANCE* pInst, VOID* pContext)
{ {
LPDIRECTINPUTDEVICE8 pDevice; LPDIRECTINPUTDEVICE8 pDevice;
DIPROPDWORD dipdw; DIPROPDWORD dipdw;
HRESULT hr; HRESULT hr;
int JoystickID; int JoystickID;
dipdw.diph.dwSize = sizeof(DIPROPDWORD); dipdw.diph.dwSize = sizeof(DIPROPDWORD);
dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER); dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);
dipdw.diph.dwObj = 0; dipdw.diph.dwObj = 0;
dipdw.diph.dwHow = DIPH_DEVICE; dipdw.diph.dwHow = DIPH_DEVICE;
g_Rumble->CreateDevice(pInst->guidInstance, &pDevice, NULL); // Create a DInput pad device g_Rumble->CreateDevice(pInst->guidInstance, &pDevice, NULL); // Create a DInput pad device
if (SUCCEEDED(hr = pDevice->GetProperty(DIPROP_JOYSTICKID, &dipdw.diph))) // Get DInput Device ID if (SUCCEEDED(hr = pDevice->GetProperty(DIPROP_JOYSTICKID, &dipdw.diph))) // Get DInput Device ID
JoystickID = dipdw.dwData; JoystickID = dipdw.dwData;
else else
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
//PanicAlert("DInput ID : %d \nSDL ID (1-4) : %d / %d / %d / %d\n", JoystickID, PadMapping[0].ID, PadMapping[1].ID, PadMapping[2].ID, PadMapping[3].ID); //PanicAlert("DInput ID : %d \nSDL ID (1-4) : %d / %d / %d / %d\n", JoystickID, PadMapping[0].ID, PadMapping[1].ID, PadMapping[2].ID, PadMapping[3].ID);
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
{ {
if (PadMapping[i].ID == JoystickID) // if SDL ID = DInput ID -> we're dealing with the same device if (PadMapping[i].ID == JoystickID) // if SDL ID = DInput ID -> we're dealing with the same device
{ {
// a DInput device is created even if rumble is disabled on startup // a DInput device is created even if rumble is disabled on startup
// this way, you can toggle the rumble setting while in game // this way, you can toggle the rumble setting while in game
//if (PadMapping[i].enabled) // && PadMapping[i].rumble //if (PadMapping[i].enabled) // && PadMapping[i].rumble
pRumble[i].g_pDevice = pDevice; // everything looks good, save the DInput device pRumble[i].g_pDevice = pDevice; // everything looks good, save the DInput device
} }
} }
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
} }
BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext) BOOL CALLBACK EnumAxesCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* pContext)
{ {
DWORD* pdwNumForceFeedbackAxis = (DWORD*)pContext; // Enum Rumble Axis DWORD* pdwNumForceFeedbackAxis = (DWORD*)pContext; // Enum Rumble Axis
if ((pdidoi->dwFlags & DIDOI_FFACTUATOR) != 0) if ((pdidoi->dwFlags & DIDOI_FFACTUATOR) != 0)
(*pdwNumForceFeedbackAxis)++; (*pdwNumForceFeedbackAxis)++;
return DIENUM_CONTINUE; return DIENUM_CONTINUE;
} }
void PAD_RumbleClose() void PAD_RumbleClose()
{ {
// It may look weird, but we don't free anything here, it was the cause of crashes // It may look weird, but we don't free anything here, it was the cause of crashes
// on stop, and the DLL isn't unloaded anyway, so the pointers stay // on stop, and the DLL isn't unloaded anyway, so the pointers stay
// We just stop the rumble in case it's still playing an effect. // We just stop the rumble in case it's still playing an effect.
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
{ {
if (pRumble[i].g_pDevice && pRumble[i].g_pEffect) if (pRumble[i].g_pDevice && pRumble[i].g_pEffect)
pRumble[i].g_pEffect->Stop(); pRumble[i].g_pEffect->Stop();
} }
} }
#else // Multiplatform SDL Rumble code #else // Multiplatform SDL Rumble code
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
struct RUMBLE // GC Pad rumble DIDevice struct RUMBLE // GC Pad rumble DIDevice
{ {
SDL_Haptic* g_pDevice; SDL_Haptic* g_pDevice;
SDL_HapticEffect g_pEffect; SDL_HapticEffect g_pEffect;
int effect_id; int effect_id;
}; };
RUMBLE pRumble[4] = {0}; // 4 GC Rumble Pads RUMBLE pRumble[4] = {0}; // 4 GC Rumble Pads
#endif #endif
// Use PAD rumble // Use PAD rumble
// -------------- // --------------
bool PAD_Init_Rumble(u8 _numPAD, SDL_Joystick *SDL_Device) bool PAD_Init_Rumble(u8 _numPAD, SDL_Joystick *SDL_Device)
{ {
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
if (SDL_Device == NULL) if (SDL_Device == NULL)
return false; return false;
pRumble[_numPAD].g_pDevice = SDL_HapticOpenFromJoystick(SDL_Device); pRumble[_numPAD].g_pDevice = SDL_HapticOpenFromJoystick(SDL_Device);
if (pRumble[_numPAD].g_pDevice == NULL) if (pRumble[_numPAD].g_pDevice == NULL)
return false; // Most likely joystick isn't haptic return false; // Most likely joystick isn't haptic
if (!(SDL_HapticQuery(pRumble[_numPAD].g_pDevice) & SDL_HAPTIC_CONSTANT)) if (!(SDL_HapticQuery(pRumble[_numPAD].g_pDevice) & SDL_HAPTIC_CONSTANT))
{ {
SDL_HapticClose(pRumble[_numPAD].g_pDevice); // No effect SDL_HapticClose(pRumble[_numPAD].g_pDevice); // No effect
pRumble[_numPAD].g_pDevice = 0; pRumble[_numPAD].g_pDevice = 0;
PadMapping[_numPAD].rumble = false; PadMapping[_numPAD].rumble = false;
return false; return false;
} }
// Set the strength of the rumble effect // Set the strength of the rumble effect
int Strenght = 3276 * (g_Config.RumbleStrength + 1); int Strenght = 3276 * (g_Config.RumbleStrength + 1);
Strenght = Strenght > 32767 ? 32767 : Strenght; Strenght = Strenght > 32767 ? 32767 : Strenght;
// Create the effect // Create the effect
memset(&pRumble[_numPAD].g_pEffect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default memset(&pRumble[_numPAD].g_pEffect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default
pRumble[_numPAD].g_pEffect.type = SDL_HAPTIC_CONSTANT; pRumble[_numPAD].g_pEffect.type = SDL_HAPTIC_CONSTANT;
pRumble[_numPAD].g_pEffect.constant.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates pRumble[_numPAD].g_pEffect.constant.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates
pRumble[_numPAD].g_pEffect.constant.direction.dir[0] = 18000; // Force comes from south pRumble[_numPAD].g_pEffect.constant.direction.dir[0] = 18000; // Force comes from south
pRumble[_numPAD].g_pEffect.constant.level = Strenght; pRumble[_numPAD].g_pEffect.constant.level = Strenght;
pRumble[_numPAD].g_pEffect.constant.length = 10000; // 10s long (should be INFINITE, but 10s is safer) pRumble[_numPAD].g_pEffect.constant.length = 10000; // 10s long (should be INFINITE, but 10s is safer)
pRumble[_numPAD].g_pEffect.constant.attack_length = 0; // disable Fade in... pRumble[_numPAD].g_pEffect.constant.attack_length = 0; // disable Fade in...
pRumble[_numPAD].g_pEffect.constant.fade_length = 0; // ...and out pRumble[_numPAD].g_pEffect.constant.fade_length = 0; // ...and out
// Upload the effect // Upload the effect
pRumble[_numPAD].effect_id = SDL_HapticNewEffect( pRumble[_numPAD].g_pDevice, &pRumble[_numPAD].g_pEffect ); pRumble[_numPAD].effect_id = SDL_HapticNewEffect( pRumble[_numPAD].g_pDevice, &pRumble[_numPAD].g_pEffect );
#endif #endif
return true; return true;
} }
// Set PAD rumble. Explanation: Stop = 0, Rumble = 1 // Set PAD rumble. Explanation: Stop = 0, Rumble = 1
// -------------- // --------------
void PAD_Rumble(u8 _numPAD, unsigned int _uType, unsigned int _uStrength) void PAD_Rumble(u8 _numPAD, unsigned int _uType, unsigned int _uStrength)
{ {
int Strenght = 0; int Strenght = 0;
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
if (PadMapping[_numPAD].rumble) // rumble activated if (PadMapping[_numPAD].rumble) // rumble activated
{ {
if (!pRumble[_numPAD].g_pDevice) if (!pRumble[_numPAD].g_pDevice)
return; return;
if (_uType == 1 && _uStrength > 2) if (_uType == 1 && _uStrength > 2)
SDL_HapticRunEffect( pRumble[_numPAD].g_pDevice, pRumble[_numPAD].effect_id, 1 ); SDL_HapticRunEffect( pRumble[_numPAD].g_pDevice, pRumble[_numPAD].effect_id, 1 );
else else
SDL_HapticStopAll(pRumble[_numPAD].g_pDevice); SDL_HapticStopAll(pRumble[_numPAD].g_pDevice);
} }
#endif #endif
} }
void PAD_RumbleClose() void PAD_RumbleClose()
{ {
#ifdef SDL_RUMBLE #ifdef SDL_RUMBLE
for (int i=0; i<4; i++) // Free all pads for (int i=0; i<4; i++) // Free all pads
{ {
if (pRumble[i].g_pDevice) { if (pRumble[i].g_pDevice) {
SDL_HapticClose( pRumble[i].g_pDevice ); SDL_HapticClose( pRumble[i].g_pDevice );
pRumble[i].g_pDevice = NULL; pRumble[i].g_pDevice = NULL;
} }
} }
#endif #endif
} }
#endif // RUMBLE_HACK #endif // RUMBLE_HACK

View File

@ -1,115 +1,115 @@
nJoy v0.3 by Falcon4ever 2008 nJoy v0.3 by Falcon4ever 2008
A Dolphin Compatible Input Plugin A Dolphin Compatible Input Plugin
Copyright (C) 2003 Dolphin Project. Copyright (C) 2003 Dolphin Project.
Changelog Changelog
========================================================================== ==========================================================================
0.3: 3nd version of nJoy 0.3: 3nd version of nJoy
- Release: July 2008 - Release: July 2008
- Support for four players - Support for four players
- Misc. improvements - Misc. improvements
0.2: 2nd version of nJoy 0.2: 2nd version of nJoy
- Release: 14th July 2005 - Release: 14th July 2005
- Now using SDL instead of DirectInput9 - Now using SDL instead of DirectInput9
- Config/INI support - Config/INI support
- Adjustable deadzone - Adjustable deadzone
- First public release - First public release
0.1: First version of nJoy 0.1: First version of nJoy
- Private Release: january 2005 - Private Release: january 2005
- Using DirectInput9 - Using DirectInput9
- Specially made for the Logitech Rumblepad 2, but other joypads work too - Specially made for the Logitech Rumblepad 2, but other joypads work too
- Advanced debug window, activated during gameplay - Advanced debug window, activated during gameplay
- No deadzone configurable - No deadzone configurable
- No config/Ini - No config/Ini
The Author The Author
========================================================================== ==========================================================================
* Falcon4ever (nJoy@falcon4ever.com) * Falcon4ever (nJoy@falcon4ever.com)
System and Software Requirements System and Software Requirements
========================================================================== ==========================================================================
Dolphin Dolphin
The latest Dolphin release, avaible at www.dolphin-emu.com The latest Dolphin release, avaible at www.dolphin-emu.com
SDL.dll (SDL-1.2.13) SDL.dll (SDL-1.2.13)
(included with this release) (included with this release)
latest version avaible at www.libsdl.org latest version avaible at www.libsdl.org
A Joystick A Joystick
A Windows 9x compatible input device A Windows 9x compatible input device
Plugin Information Plugin Information
========================================================================== ==========================================================================
nJoy was written in C++, compiled with Microsoft Visual Studio 2005 Professional Edition. nJoy was written in C++, compiled with Microsoft Visual Studio 2005 Professional Edition.
nJoy uses SDL for joysticks, mouse and keyboard. nJoy uses SDL for joysticks, mouse and keyboard.
For the graphical interface plain Win32 code was used. For the graphical interface plain Win32 code was used.
How to install How to install
========================================================================== ==========================================================================
Just unzip the content of the zipfile to your dolphin plugin dir and place Just unzip the content of the zipfile to your dolphin plugin dir and place
sdl.dll in the root dir. sdl.dll in the root dir.
example config: example config:
[C:] [C:]
| |
+-Dolphin Dir +-Dolphin Dir
+-DolphinWx.exe File +-DolphinWx.exe File
+-SDL.dll File +-SDL.dll File
| |
+-Plugins Dir +-Plugins Dir
+-nJoy.dll File +-nJoy.dll File
FAQ FAQ
========================================================================== ==========================================================================
What's SDL??? What's SDL???
SDL is the Simple DirectMedia Layer written by Sam Lantinga. SDL is the Simple DirectMedia Layer written by Sam Lantinga.
It provides an API for audio, video, input ... It provides an API for audio, video, input ...
For more information go to http://www.libsdl.org/ For more information go to http://www.libsdl.org/
Where can I download the latest releases??? Where can I download the latest releases???
nJoy will be released @ www.multigesture.net nJoy will be released @ www.multigesture.net
Can I mirror this file??? Can I mirror this file???
Sure, just don't forget to add a link to: Sure, just don't forget to add a link to:
www.multigesture.net OR www.dolphin-emu.com www.multigesture.net OR www.dolphin-emu.com
-------------------- ------------------- -------------------- -------------------
Why should I use nJoy instead of the default input plugin??? Why should I use nJoy instead of the default input plugin???
At this moment the default plugin only supports keyboard input. At this moment the default plugin only supports keyboard input.
nJoy supports Joysticks. And besides that, if you have an GC-adapter nJoy supports Joysticks. And besides that, if you have an GC-adapter
you can use your original GC controllers with dolphin ! you can use your original GC controllers with dolphin !
Could you add [insert feature here] please??? Could you add [insert feature here] please???
no. no.
But perhaps... But perhaps...
NO! NO!
Hmm... There is coming smoke out of my pc, wtf? Hmm... There is coming smoke out of my pc, wtf?
err, this plugin comes without any warranty, err, this plugin comes without any warranty,
use it at own risk :) use it at own risk :)
What should I do if my question isn't listed here??? What should I do if my question isn't listed here???
Just panic, call 911 or leave a message on: Just panic, call 911 or leave a message on:
(1) Emutalk http://www.emutalk.net/forumdisplay.php?f=100 (1) Emutalk http://www.emutalk.net/forumdisplay.php?f=100
(2) NGemu http://forums.ngemu.com/dolphin-discussion/ (2) NGemu http://forums.ngemu.com/dolphin-discussion/
Thanks / Greetings Thanks / Greetings
========================================================================== ==========================================================================
Special Thanks too: Special Thanks too:
F|RES & ector F|RES & ector
Greetings too: Greetings too:
`plot`, Absolute0, Aprentice, Bositman, Brice, ChaosCode, CKemu, `plot`, Absolute0, Aprentice, Bositman, Brice, ChaosCode, CKemu,
CoDeX, Dave2001, dn, drk||Raziel, Florin, Gent, Gigaherz, Hacktarux, CoDeX, Dave2001, dn, drk||Raziel, Florin, Gent, Gigaherz, Hacktarux,
icepir8, JegHegy, Linker, Linuzappz, Martin64, Muad, Knuckles, Raziel, icepir8, JegHegy, Linker, Linuzappz, Martin64, Muad, Knuckles, Raziel,
Refraction, Rudy_x, Shadowprince, Snake785, Saqib, vEX, yaz0r, Refraction, Rudy_x, Shadowprince, Snake785, Saqib, vEX, yaz0r,
Zilmar, Zenogais and ZeZu. Zilmar, Zenogais and ZeZu.
AAaannd everyone else I forgot ;)... AAaannd everyone else I forgot ;)...

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="ARAM" Name="ARAM"
ProjectGUID="{E50732C5-038A-42F7-8C95-8C02A4E2ADA6}" ProjectGUID="{E50732C5-038A-42F7-8C95-8C02A4E2ADA6}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_aram.dol" Output="dolphintest_aram.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_aram.cpp" RelativePath=".\source\dolphintest_aram.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,130 +1,130 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc -lm LIBS := -logc -lm
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="AX" Name="AX"
ProjectGUID="{9F053346-A33D-4E4F-874E-CBA1AF809FC3}" ProjectGUID="{9F053346-A33D-4E4F-874E-CBA1AF809FC3}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_ax.dol" Output="dolphintest_ax.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_ax.cpp" RelativePath=".\source\dolphintest_ax.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,130 +1,130 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc -lm LIBS := -logc -lm
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,76 +1,76 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="EXI" Name="EXI"
ProjectGUID="{AA230C1A-42F2-4BDC-9EB8-4AA6DF587E69}" ProjectGUID="{AA230C1A-42F2-4BDC-9EB8-4AA6DF587E69}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_exi.dol" Output="dolphintest_exi.dol"
PreprocessorDefinitions="WIN32;_DEBUG" PreprocessorDefinitions="WIN32;_DEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_exi.dol" Output="dolphintest_exi.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_exi.cpp" RelativePath=".\source\dolphintest_exi.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,131 +1,131 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc LIBS := -logc
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,178 +1,178 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="FPU" Name="FPU"
ProjectGUID="{18373B64-BCAB-4677-A070-7AD45D4C8304}" ProjectGUID="{18373B64-BCAB-4677-A070-7AD45D4C8304}"
RootNamespace="FPU" RootNamespace="FPU"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="2" CharacterSet="2"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="3" RuntimeLibrary="3"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
GenerateDebugInformation="true" GenerateDebugInformation="true"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
GenerateDebugInformation="true" GenerateDebugInformation="true"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\asm.h" RelativePath=".\source\asm.h"
> >
</File> </File>
<File <File
RelativePath=".\source\dolphintest_fpu.cpp" RelativePath=".\source\dolphintest_fpu.cpp"
> >
</File> </File>
<File <File
RelativePath=".\source\fpu_asm.S" RelativePath=".\source\fpu_asm.S"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,135 +1,135 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/wii_rules include $(DEVKITPPC)/wii_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -lwiiuse -lbte -logc -lm LIBS := -lwiiuse -lbte -logc -lm
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
run: run:
wiiload $(TARGET).dol wiiload $(TARGET).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="GX" Name="GX"
ProjectGUID="{F45E42B2-939B-4F02-954B-E68251FD4CCF}" ProjectGUID="{F45E42B2-939B-4F02-954B-E68251FD4CCF}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_gx.dol" Output="dolphintest_gx.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_gx.cpp" RelativePath=".\source\dolphintest_gx.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,131 +1,131 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc LIBS := -logc
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,131 +1,131 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc LIBS := -logc
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="PAD" Name="PAD"
ProjectGUID="{D58C9AD5-7200-488A-B1E8-9250E64CDD45}" ProjectGUID="{D58C9AD5-7200-488A-B1E8-9250E64CDD45}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_pad.dol" Output="dolphintest_pad.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_pad.cpp" RelativePath=".\source\dolphintest_pad.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,130 +1,130 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/gamecube_rules include $(DEVKITPPC)/gamecube_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -logc -lm LIBS := -logc -lm
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="RTC" Name="RTC"
ProjectGUID="{62989D24-DB3F-4BD1-A11D-26F0487CD9AF}" ProjectGUID="{62989D24-DB3F-4BD1-A11D-26F0487CD9AF}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_rtc.dol" Output="dolphintest_rtc.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_rtc.cpp" RelativePath=".\source\dolphintest_rtc.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,130 +1,130 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Clear the implicit built in rules # Clear the implicit built in rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
.SUFFIXES: .SUFFIXES:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITPPC)),) ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
include $(DEVKITPPC)/wii_rules include $(DEVKITPPC)/wii_rules
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# TARGET is the name of the output # TARGET is the name of the output
# BUILD is the directory where object files & intermediate files will be placed # BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
TARGET := $(notdir $(CURDIR)) TARGET := $(notdir $(CURDIR))
BUILD := build BUILD := build
SOURCES := source SOURCES := source
DATA := data DATA := data
INCLUDES := INCLUDES :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# options for code generation # options for code generation
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE)
CXXFLAGS = $(CFLAGS) CXXFLAGS = $(CFLAGS)
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBS := -lfat -logc -lm LIBS := -lfat -logc -lm
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing # list of directories containing libraries, this must be the top level containing
# include and lib # include and lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
LIBDIRS := LIBDIRS :=
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional # no real need to edit anything past this point unless you need to add additional
# rules for different file extensions # rules for different file extensions
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR))) ifneq ($(BUILD),$(notdir $(CURDIR)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) $(foreach dir,$(DATA),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD) export DEPSDIR := $(CURDIR)/$(BUILD)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# automatically build a list of object files for our project # automatically build a list of object files for our project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C # use CXX for linking C++ projects, CC for standard C
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),) ifeq ($(strip $(CPPFILES)),)
export LD := $(CC) export LD := $(CC)
else else
export LD := $(CXX) export LD := $(CXX)
endif endif
export OFILES := $(addsuffix .o,$(BINFILES)) \ export OFILES := $(addsuffix .o,$(BINFILES)) \
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
$(sFILES:.s=.o) $(SFILES:.S=.o) $(sFILES:.s=.o) $(SFILES:.S=.o)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of include paths # build a list of include paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \ $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
-I$(CURDIR)/$(BUILD) \ -I$(CURDIR)/$(BUILD) \
-I$(LIBOGC_INC) -I$(LIBOGC_INC)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build a list of library paths # build a list of library paths
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
-L$(LIBOGC_LIB) -L$(LIBOGC_LIB)
export OUTPUT := $(CURDIR)/$(TARGET) export OUTPUT := $(CURDIR)/$(TARGET)
.PHONY: $(BUILD) clean .PHONY: $(BUILD) clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else
DEPENDS := $(OFILES:.o=.d) DEPENDS := $(OFILES:.o=.d)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(OUTPUT).dol: $(OUTPUT).elf $(OUTPUT).dol: $(OUTPUT).elf
$(OUTPUT).elf: $(OFILES) $(OUTPUT).elf: $(OFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# This rule links in binary data with the .jpg extension # This rule links in binary data with the .jpg extension
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.jpg.o : %.jpg %.jpg.o : %.jpg
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@echo $(notdir $<) @echo $(notdir $<)
$(bin2o) $(bin2o)
-include $(DEPENDS) -include $(DEPENDS)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
endif endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="SI" Name="SI"
ProjectGUID="{87F20A25-A3F8-46A3-AC32-3C16782494B1}" ProjectGUID="{87F20A25-A3F8-46A3-AC32-3C16782494B1}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_si.dol" Output="dolphintest_si.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_si.cpp" RelativePath=".\source\dolphintest_si.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="WPAD" Name="WPAD"
ProjectGUID="{BB88F4D5-EB0D-4429-94C3-93B0191BD3DD}" ProjectGUID="{BB88F4D5-EB0D-4429-94C3-93B0191BD3DD}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_wpad.dol" Output="dolphintest_wpad.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_wpad.cpp" RelativePath=".\source\dolphintest_wpad.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="WRTC" Name="WRTC"
ProjectGUID="{F75021E3-73BF-425C-BA57-3FE7E2F6E02C}" ProjectGUID="{F75021E3-73BF-425C-BA57-3FE7E2F6E02C}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_wrtc.dol" Output="dolphintest_wrtc.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_wrtc.cpp" RelativePath=".\source\dolphintest_wrtc.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9.00" Version="9.00"
Name="WSD" Name="WSD"
ProjectGUID="{F250A358-225C-4B50-ABAE-5B3D4EC9DC4E}" ProjectGUID="{F250A358-225C-4B50-ABAE-5B3D4EC9DC4E}"
RootNamespace="TestSuite" RootNamespace="TestSuite"
Keyword="MakeFileProj" Keyword="MakeFileProj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="build" OutputDirectory="build"
IntermediateDirectory="build" IntermediateDirectory="build"
ConfigurationType="0" ConfigurationType="0"
BuildLogFile="build\BuildLog.htm" BuildLogFile="build\BuildLog.htm"
> >
<Tool <Tool
Name="VCNMakeTool" Name="VCNMakeTool"
BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" BuildCommandLine="make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>" ReBuildCommandLine="make clean &amp;&amp; make -r 2&gt;&amp;1 | sed -e &apos;s/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/<2F>"
CleanCommandLine="make clean" CleanCommandLine="make clean"
Output="dolphintest_wrtc.dol" Output="dolphintest_wrtc.dol"
PreprocessorDefinitions="WIN32;NDEBUG" PreprocessorDefinitions="WIN32;NDEBUG"
IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include" IncludeSearchPath="$(ProjectDir)\include;C:\devkitPro\libogc\include"
ForcedIncludes="" ForcedIncludes=""
AssemblySearchPath="" AssemblySearchPath=""
ForcedUsingAssemblies="" ForcedUsingAssemblies=""
CompileAsManaged="" CompileAsManaged=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath=".\source\dolphintest_wsd.cpp" RelativePath=".\source\dolphintest_wsd.cpp"
> >
</File> </File>
<File <File
RelativePath=".\Makefile" RelativePath=".\Makefile"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,357 +1,357 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="UnitTests" Name="UnitTests"
ProjectGUID="{40C636FA-B5BF-4D67-ABC8-376B524A7551}" ProjectGUID="{40C636FA-B5BF-4D67-ABC8-376B524A7551}"
RootNamespace="UnitTests" RootNamespace="UnitTests"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform <Platform
Name="x64" Name="x64"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src" AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib winmm.lib" AdditionalDependencies="Iphlpapi.lib winmm.lib"
LinkIncremental="2" LinkIncremental="2"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d" CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d"
ExcludedFromBuild="true" ExcludedFromBuild="true"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src" AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib winmm.lib" AdditionalDependencies="Iphlpapi.lib winmm.lib"
LinkIncremental="2" LinkIncremental="2"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
TargetMachine="17" TargetMachine="17"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d" CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d"
ExcludedFromBuild="true" ExcludedFromBuild="true"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src" AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib winmm.lib" AdditionalDependencies="Iphlpapi.lib winmm.lib"
LinkIncremental="1" LinkIncremental="1"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d" CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d"
ExcludedFromBuild="true" ExcludedFromBuild="true"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TargetEnvironment="3" TargetEnvironment="3"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src" AdditionalIncludeDirectories="../Core/Core/Src;../Core/Common/Src;../PluginSpecs;../Core/InputCommon/Src;../Core/DSPCore/Src"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
RuntimeLibrary="0" RuntimeLibrary="0"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib winmm.lib" AdditionalDependencies="Iphlpapi.lib winmm.lib"
LinkIncremental="1" LinkIncremental="1"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="17" TargetMachine="17"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d" CommandLine="xcopy &quot;$(TargetPath)&quot; &quot;$(SolutionDir)..\Binary\$(PlatformName)\&quot; /e /s /y /d"
ExcludedFromBuild="true" ExcludedFromBuild="true"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Audio" Name="Audio"
> >
<File <File
RelativePath=".\AudioJitTests.cpp" RelativePath=".\AudioJitTests.cpp"
> >
</File> </File>
<File <File
RelativePath=".\DSPJitTester.cpp" RelativePath=".\DSPJitTester.cpp"
> >
</File> </File>
<File <File
RelativePath=".\DSPJitTester.h" RelativePath=".\DSPJitTester.h"
> >
</File> </File>
</Filter> </Filter>
<File <File
RelativePath=".\UnitTests.cpp" RelativePath=".\UnitTests.cpp"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,304 +1,304 @@
omments: 1 omments: 1
A Compendium of Gamecube Action Replay Code Types A Compendium of Gamecube Action Replay Code Types
Note: This is note a Complete code type list. Note: This is note a Complete code type list.
The purpose of this document is to catalogue and explain the effects of different AR code types in a clear, concise, and easy to read format. Please note that this document is not intended to explain EVERY code type, only those of interest to the amateur hacker. The purpose of this document is to catalogue and explain the effects of different AR code types in a clear, concise, and easy to read format. Please note that this document is not intended to explain EVERY code type, only those of interest to the amateur hacker.
It would not have been possible to write this document without Kenobi's "GCN AR CODES TYPES EXPLANATION", found at www.GSCentral.com, so a big thank-you goes to Kenobi and Parasyte for their contributions to the GCN hacking scene. It would not have been possible to write this document without Kenobi's "GCN AR CODES TYPES EXPLANATION", found at www.GSCentral.com, so a big thank-you goes to Kenobi and Parasyte for their contributions to the GCN hacking scene.
Kenobi's documentation is recommended reading as it is very complete, precise, and exact in it's explanations. However, that is also it's main flaw, it's TOO complex and technical for the casual or newbie hacker to understand. If "Address = ((0x0wXXXXXXX) AND 0x01FFFFFF) OR 0x80000000)" makes any sense to you, then I implore you to read Kenobi's guide instead. The intended audience for this document is people who'd rather have things explained in plain English. Kenobi's documentation is recommended reading as it is very complete, precise, and exact in it's explanations. However, that is also it's main flaw, it's TOO complex and technical for the casual or newbie hacker to understand. If "Address = ((0x0wXXXXXXX) AND 0x01FFFFFF) OR 0x80000000)" makes any sense to you, then I implore you to read Kenobi's guide instead. The intended audience for this document is people who'd rather have things explained in plain English.
It should be noted that every decrypted AR code has a basic two-part format that is universal to every code. The first half contains the code type and address to be written to. The second half contains the value to be written. It should be noted that every decrypted AR code has a basic two-part format that is universal to every code. The first half contains the code type and address to be written to. The second half contains the value to be written.
The Gamecube has a memory range of 80000000 - 817FFFFF (cached), or C0000000 - C17FFFFF (uncached). However for the sake of simplicity, the AR uses an offset number in the range of 00000000 - 017FFFFF. The code type identifier is an 8-bit value that is applied to the first two digits of the offset. For example, if your offset is 00012345, and you wish to perform a 32-bit write (04), you simply add (04000000) + (00012345) = 04012345. The Gamecube has a memory range of 80000000 - 817FFFFF (cached), or C0000000 - C17FFFFF (uncached). However for the sake of simplicity, the AR uses an offset number in the range of 00000000 - 017FFFFF. The code type identifier is an 8-bit value that is applied to the first two digits of the offset. For example, if your offset is 00012345, and you wish to perform a 32-bit write (04), you simply add (04000000) + (00012345) = 04012345.
In order to conserve space and simplicity, only the 8-bit code type identifier and particulars of the second half of the code will be explained below, as the method for procuring the first half has already been described above ;) In order to conserve space and simplicity, only the 8-bit code type identifier and particulars of the second half of the code will be explained below, as the method for procuring the first half has already been described above ;)
Terms: Terms:
8-bit - Byte - 0x12 8-bit - Byte - 0x12
16-bit - Halfword - 0x1234 16-bit - Halfword - 0x1234
32-bit - Word - 0x12345678 32-bit - Word - 0x12345678
---Writes--- ---Writes---
(00) - NNNNNNXX (00) - NNNNNNXX
8-bit write. X is the value, N is the number of times to repeat. 8-bit write. X is the value, N is the number of times to repeat.
(02) NNNNXXXX (02) NNNNXXXX
16-bit write. X is the value, N is the number of times to repeat. 16-bit write. X is the value, N is the number of times to repeat.
(04) XXXXXXXX (04) XXXXXXXX
32-bit write. X is the value. 32-bit write. X is the value.
Examples: Examples:
00006500 00000312 00006500 00000312
Will write byte 0x12 to 80006500, 80006501, 80006502, 800067503. Will write byte 0x12 to 80006500, 80006501, 80006502, 800067503.
02006500 00011234 02006500 00011234
Will write halfword 0x1234 to 80006500, 80006502. Will write halfword 0x1234 to 80006500, 80006502.
05006500 12345678 05006500 12345678
Will write word 0x12345678 to 81006500. Will write word 0x12345678 to 81006500.
---Addition--- ---Addition---
(80) - 000000XX (80) - 000000XX
8-bit Addition. Load the byte at the address, add X to it, and save resulting byte. 8-bit Addition. Load the byte at the address, add X to it, and save resulting byte.
(82) - 0000XXXX (82) - 0000XXXX
16-bit Addition. Load the halfword at the address, add X to it, and save resulting halfword. 16-bit Addition. Load the halfword at the address, add X to it, and save resulting halfword.
(84) - XXXXXXXX (84) - XXXXXXXX
32-bit Addition. Load the word at the address, add X to it, and save resulting word. 32-bit Addition. Load the word at the address, add X to it, and save resulting word.
---Single Line Activators--- ---Single Line Activators---
***Equal*** ***Equal***
(08) 000000XX (08) 000000XX
8-bit Equal activator. 8-bit Equal activator.
(0A) 0000XXXX (0A) 0000XXXX
16-bit Equal activator. 16-bit Equal activator.
(0C) XXXXXXXX (0C) XXXXXXXX
32-bit Equal activator. 32-bit Equal activator.
X is the value the address must equal to activate the next line of code. X is the value the address must equal to activate the next line of code.
***NOT Equal*** ***NOT Equal***
(10) 000000XX (10) 000000XX
8-bit NOT Equal activator. 8-bit NOT Equal activator.
(12) 0000XXXX (12) 0000XXXX
16-bit NOT Equal activator. 16-bit NOT Equal activator.
(14) XXXXXXXX (14) XXXXXXXX
32-bit NOT Equal activator. 32-bit NOT Equal activator.
If the value stored at the address is not equal to X, activate the next line of code. If the value stored at the address is not equal to X, activate the next line of code.
***If Lower (signed)*** ***If Lower (signed)***
(18) 000000XX (18) 000000XX
8-bit If Lower (signed) activator. 8-bit If Lower (signed) activator.
(1A) 0000XXXX (1A) 0000XXXX
16-bit If Lower (signed) activator. 16-bit If Lower (signed) activator.
(1C) XXXXXXXX (1C) XXXXXXXX
32-bit If Lower (signed) activator. 32-bit If Lower (signed) activator.
If the value stored at the address is lower than X, activate the next line of code. If the value stored at the address is lower than X, activate the next line of code.
***If Higher (signed)*** ***If Higher (signed)***
(20) 000000XX (20) 000000XX
8-bit If Higher (signed) activator. 8-bit If Higher (signed) activator.
(22) 0000XXXX (22) 0000XXXX
16-bit If Higher (signed) activator. 16-bit If Higher (signed) activator.
(24) XXXXXXXX (24) XXXXXXXX
32-bit If Higher (signed) activator. 32-bit If Higher (signed) activator.
If the value stored at the address is higher than X, activate the next line of code. If the value stored at the address is higher than X, activate the next line of code.
***If Lower (unsigned)*** ***If Lower (unsigned)***
(28) 000000XX (28) 000000XX
8-bit If Lower (unsigned) activator. 8-bit If Lower (unsigned) activator.
(2A) 0000XXXX (2A) 0000XXXX
16-bit If Lower (unsigned) activator. 16-bit If Lower (unsigned) activator.
(2C) XXXXXXXX (2C) XXXXXXXX
32-bit If Lower (unsigned) activator. 32-bit If Lower (unsigned) activator.
If the value stored at the address is lower than X, activate the next line of code. If the value stored at the address is lower than X, activate the next line of code.
***If Higher (unsigned)*** ***If Higher (unsigned)***
(30) 000000XX (30) 000000XX
8-bit If Higher (unsigned) activator. 8-bit If Higher (unsigned) activator.
(32) 0000XXXX (32) 0000XXXX
16-bit If Higher (unsigned) activator. 16-bit If Higher (unsigned) activator.
(34) XXXXXXXX (34) XXXXXXXX
32-bit If Higher (unsigned) activator. 32-bit If Higher (unsigned) activator.
If the value stored at the address is higher than X, activate the next line of code. If the value stored at the address is higher than X, activate the next line of code.
---Double Line Activators--- ---Double Line Activators---
***Equal*** ***Equal***
(48) 000000XX (48) 000000XX
8-bit activator. 8-bit activator.
(4A) 0000XXXX (4A) 0000XXXX
16-bit activator. 16-bit activator.
(4C) XXXXXXXX (4C) XXXXXXXX
32-bit activator. 32-bit activator.
X is the value the address must equal to activate the next two lines of code. X is the value the address must equal to activate the next two lines of code.
***NOT Equal*** ***NOT Equal***
(50) 000000XX (50) 000000XX
8-bit NOT Equal activator. 8-bit NOT Equal activator.
(52) 0000XXXX (52) 0000XXXX
16-bit NOT Equal activator. 16-bit NOT Equal activator.
(54) XXXXXXXX (54) XXXXXXXX
32-bit NOT Equal activator. 32-bit NOT Equal activator.
If the value stored at the address is not equal to X, activate the next two lines of code. If the value stored at the address is not equal to X, activate the next two lines of code.
***If Lower (signed)*** ***If Lower (signed)***
(58) 000000XX (58) 000000XX
8-bit If Lower (signed) activator. 8-bit If Lower (signed) activator.
(5A) 0000XXXX (5A) 0000XXXX
16-bit If Lower (signed) activator. 16-bit If Lower (signed) activator.
(5C) XXXXXXXX (5C) XXXXXXXX
32-bit If Lower (signed) activator. 32-bit If Lower (signed) activator.
If the value stored at the address is lower than X, activate the next two lines of code. If the value stored at the address is lower than X, activate the next two lines of code.
***If Higher (signed)*** ***If Higher (signed)***
(60) 000000XX (60) 000000XX
8-bit If Higher (signed) activator. 8-bit If Higher (signed) activator.
(62) 0000XXXX (62) 0000XXXX
16-bit If Higher (signed) activator. 16-bit If Higher (signed) activator.
(64) XXXXXXXX (64) XXXXXXXX
32-bit If Higher (signed) activator. 32-bit If Higher (signed) activator.
If the value stored at the address is higher than X, activate the next two lines of code. If the value stored at the address is higher than X, activate the next two lines of code.
***If Lower (unsigned)*** ***If Lower (unsigned)***
(68) 000000XX (68) 000000XX
8-bit If Lower (unsigned) activator. 8-bit If Lower (unsigned) activator.
(6A) 0000XXXX (6A) 0000XXXX
16-bit If Lower (unsigned) activator. 16-bit If Lower (unsigned) activator.
(6C) XXXXXXXX (6C) XXXXXXXX
32-bit If Lower (unsigned) activator. 32-bit If Lower (unsigned) activator.
If the value stored at the address is lower than X, activate the next two lines of code. If the value stored at the address is lower than X, activate the next two lines of code.
***If Higher (unsigned)*** ***If Higher (unsigned)***
(70) 000000XX (70) 000000XX
8-bit If Higher (unsigned) activator. 8-bit If Higher (unsigned) activator.
(72) 0000XXXX (72) 0000XXXX
16-bit If Higher (unsigned) activator. 16-bit If Higher (unsigned) activator.
(74) XXXXXXXX (74) XXXXXXXX
32-bit If Higher (unsigned) activator. 32-bit If Higher (unsigned) activator.
If the value stored at the address is higher than X, activate the next two lines of code. If the value stored at the address is higher than X, activate the next two lines of code.
---Multi-Line Activators--- ---Multi-Line Activators---
Note that all multi-line codes must end with the line 00000000 40000000. Note that all multi-line codes must end with the line 00000000 40000000.
***Equal*** ***Equal***
(88) 000000XX (88) 000000XX
8-bit activator. 8-bit activator.
(8A) 0000XXXX (8A) 0000XXXX
16-bit activator. 16-bit activator.
(8C) XXXXXXXX (8C) XXXXXXXX
32-bit activator. 32-bit activator.
X is the value the address must equal to activate the next lines of code. X is the value the address must equal to activate the next lines of code.
***NOT Equal*** ***NOT Equal***
(90) 000000XX (90) 000000XX
8-bit NOT Equal activator. 8-bit NOT Equal activator.
(92) 0000XXXX (92) 0000XXXX
16-bit NOT Equal activator. 16-bit NOT Equal activator.
(94) XXXXXXXX (94) XXXXXXXX
32-bit NOT Equal activator. 32-bit NOT Equal activator.
If the value stored at the address is not equal to X, activate the next lines of code. If the value stored at the address is not equal to X, activate the next lines of code.
***If Lower (signed)*** ***If Lower (signed)***
(98) 000000XX (98) 000000XX
8-bit If Lower (signed) activator. 8-bit If Lower (signed) activator.
(9A) 0000XXXX (9A) 0000XXXX
16-bit If Lower (signed) activator. 16-bit If Lower (signed) activator.
(9C) XXXXXXXX (9C) XXXXXXXX
32-bit If Lower (signed) activator. 32-bit If Lower (signed) activator.
If the value stored at the address is lower than X, activate the next lines of code. If the value stored at the address is lower than X, activate the next lines of code.
***If Higher (signed)*** ***If Higher (signed)***
(A0) 000000XX (A0) 000000XX
8-bit If Higher (signed) activator. 8-bit If Higher (signed) activator.
(A2) 0000XXXX (A2) 0000XXXX
16-bit If Higher (signed) activator. 16-bit If Higher (signed) activator.
(A4) XXXXXXXX (A4) XXXXXXXX
32-bit If Higher (signed) activator. 32-bit If Higher (signed) activator.
If the value stored at the address is higher than X, activate the next lines of code. If the value stored at the address is higher than X, activate the next lines of code.
***If Lower (unsigned)*** ***If Lower (unsigned)***
(A8) 000000XX (A8) 000000XX
8-bit If Lower (unsigned) activator. 8-bit If Lower (unsigned) activator.
(AA) 0000XXXX (AA) 0000XXXX
16-bit If Lower (unsigned) activator. 16-bit If Lower (unsigned) activator.
(AC) XXXXXXXX (AC) XXXXXXXX
32-bit If Lower (unsigned) activator. 32-bit If Lower (unsigned) activator.
If the value stored at the address is lower than X, activate the next lines of code. If the value stored at the address is lower than X, activate the next lines of code.
***If Higher (unsigned)*** ***If Higher (unsigned)***
(B0) 000000XX (B0) 000000XX
8-bit If Higher (unsigned) activator. 8-bit If Higher (unsigned) activator.
(B2) 0000XXXX (B2) 0000XXXX
16-bit If Higher (unsigned) activator. 16-bit If Higher (unsigned) activator.
(B4) XXXXXXXX (B4) XXXXXXXX
32-bit If Higher (unsigned) activator. 32-bit If Higher (unsigned) activator.
If the value stored at the address is higher than X, activate the next lines of code. If the value stored at the address is higher than X, activate the next lines of code.
---Alignment--- ---Alignment---
Codes must be properly aligned depending on the type of code. Codes must be properly aligned depending on the type of code.
8-bit codes can be used on ANY address. 8-bit codes can be used on ANY address.
16-bit codes must have an address that is a multiple of 2: 0,2,4,6,8,A,C,E. 16-bit codes must have an address that is a multiple of 2: 0,2,4,6,8,A,C,E.
32-bit codes must have an address that is a multiple of 4:0,4,8,C. 32-bit codes must have an address that is a multiple of 4:0,4,8,C.
If codes aren't aligned, they may not work, or may cause your AR to spaz out and kill your cat (R.I.P. Snowball). If codes aren't aligned, they may not work, or may cause your AR to spaz out and kill your cat (R.I.P. Snowball).
---Signed & Unsigned Numbers--- ---Signed & Unsigned Numbers---
Unsigned means : Unsigned means :
For 8-bits : 0x00 -> 0xFF = 0 to 255. For 8-bits : 0x00 -> 0xFF = 0 to 255.
For 16-bits: 0x0000 -> 0xFFFF = 0 to 65535. For 16-bits: 0x0000 -> 0xFFFF = 0 to 65535.
For 32-bits: 0x00000000 -> 0xFFFFFFFF = 0 to 4294967295. For 32-bits: 0x00000000 -> 0xFFFFFFFF = 0 to 4294967295.
Signed means : Signed means :
For 8-bits : 0x00 -> 0x7F = 0 to 127. For 8-bits : 0x00 -> 0x7F = 0 to 127.
0x80 -> 0xFF = -127 to -1. 0x80 -> 0xFF = -127 to -1.
For 16-bits: 0x0000 -> 0x7FFF = 0 to 32767. For 16-bits: 0x0000 -> 0x7FFF = 0 to 32767.
0x8000 -> 0xFFFF = -32768 to -1. 0x8000 -> 0xFFFF = -32768 to -1.
For 32-bits: 0x00000000 -> 0x7FFFFFFF = 0 to 2147483647. For 32-bits: 0x00000000 -> 0x7FFFFFFF = 0 to 2147483647.
0x80000000 -> 0xFFFFFFFF = -2147483648 to -1. 0x80000000 -> 0xFFFFFFFF = -2147483648 to -1.

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,52 @@
// DSP_InterC.cpp : Defines the entry point for the console application. // DSP_InterC.cpp : Defines the entry point for the console application.
// //
#include "stdafx.h" #include "stdafx.h"
#include "DSPOpcodes.h" #include "DSPOpcodes.h"
uint16 g_IMemory[0x1000]; uint16 g_IMemory[0x1000];
uint16 g_currentAddress; uint16 g_currentAddress;
uint16 FetchOpcode() uint16 FetchOpcode()
{ {
uint16 value = swap16(g_IMemory[g_currentAddress & 0x0FFF]); uint16 value = swap16(g_IMemory[g_currentAddress & 0x0FFF]);
g_currentAddress++; g_currentAddress++;
return value; return value;
} }
void DecodeOpcode(uint16 op); void DecodeOpcode(uint16 op);
void Decode(uint16 startAddress, uint16 endAddress) void Decode(uint16 startAddress, uint16 endAddress)
{ {
g_currentAddress = startAddress; g_currentAddress = startAddress;
while (g_currentAddress < endAddress) while (g_currentAddress < endAddress)
{ {
uint16 oldPC = g_currentAddress; uint16 oldPC = g_currentAddress;
uint16 op = FetchOpcode(); uint16 op = FetchOpcode();
OutBuffer::Add("// l_%4X:", oldPC); OutBuffer::Add("// l_%4X:", oldPC);
DecodeOpcode(op); DecodeOpcode(op);
} }
} }
int _tmain(int argc, _TCHAR* argv[]) int _tmain(int argc, _TCHAR* argv[])
{ {
FILE* pFile = fopen("c:\\_\\dsp_rom.bin", "rb"); FILE* pFile = fopen("c:\\_\\dsp_rom.bin", "rb");
if (pFile == NULL) if (pFile == NULL)
return -1; return -1;
fread(g_IMemory, 0x1000, 1, pFile); fread(g_IMemory, 0x1000, 1, pFile);
fclose(pFile); fclose(pFile);
////// //////
OutBuffer::Init(); OutBuffer::Init();
Decode(0x80e7, 0x81f9); Decode(0x80e7, 0x81f9);
return 0; return 0;
} }

View File

@ -1,249 +1,249 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9,00"
Name="DSP_InterC" Name="DSP_InterC"
ProjectGUID="{A010425E-9D5E-461E-910D-0804C2A944D5}" ProjectGUID="{A010425E-9D5E-461E-910D-0804C2A944D5}"
RootNamespace="DSP_InterC" RootNamespace="DSP_InterC"
Keyword="Win32Proj" Keyword="Win32Proj"
TargetFrameworkVersion="196613" TargetFrameworkVersion="196613"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="3" RuntimeLibrary="3"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="4" DebugInformationFormat="4"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
LinkIncremental="2" LinkIncremental="2"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="1" CharacterSet="1"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
WarningLevel="3" WarningLevel="3"
DebugInformationFormat="3" DebugInformationFormat="3"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
LinkIncremental="1" LinkIncremental="1"
GenerateDebugInformation="true" GenerateDebugInformation="true"
SubSystem="1" SubSystem="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1" TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
/> />
<Tool <Tool
Name="VCManifestTool" Name="VCManifestTool"
/> />
<Tool <Tool
Name="VCXDCMakeTool" Name="VCXDCMakeTool"
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
/> />
<Tool <Tool
Name="VCAppVerifierTool" Name="VCAppVerifierTool"
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Source Files" Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
> >
<File <File
RelativePath=".\DSP_InterC.cpp" RelativePath=".\DSP_InterC.cpp"
> >
</File> </File>
<File <File
RelativePath=".\DSPExt.cpp" RelativePath=".\DSPExt.cpp"
> >
</File> </File>
<File <File
RelativePath=".\DSPExt.h" RelativePath=".\DSPExt.h"
> >
</File> </File>
<File <File
RelativePath=".\DSPOpcodes.cpp" RelativePath=".\DSPOpcodes.cpp"
> >
</File> </File>
<File <File
RelativePath=".\DSPOpcodes.h" RelativePath=".\DSPOpcodes.h"
> >
</File> </File>
<File <File
RelativePath=".\OutBuffer.cpp" RelativePath=".\OutBuffer.cpp"
> >
</File> </File>
<File <File
RelativePath=".\OutBuffer.h" RelativePath=".\OutBuffer.h"
> >
</File> </File>
<File <File
RelativePath=".\stdafx.cpp" RelativePath=".\stdafx.cpp"
> >
<FileConfiguration <FileConfiguration
Name="Debug|Win32" Name="Debug|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Release|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
UsePrecompiledHeader="1" UsePrecompiledHeader="1"
/> />
</FileConfiguration> </FileConfiguration>
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Header Files" Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd" Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
> >
<File <File
RelativePath=".\stdafx.h" RelativePath=".\stdafx.h"
> >
</File> </File>
<File <File
RelativePath=".\targetver.h" RelativePath=".\targetver.h"
> >
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Resource Files" Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
> >
</Filter> </Filter>
<File <File
RelativePath=".\ReadMe.txt" RelativePath=".\ReadMe.txt"
> >
</File> </File>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>

View File

@ -1,33 +1,33 @@
======================================================================== ========================================================================
CONSOLE APPLICATION : DSP_InterC Project Overview CONSOLE APPLICATION : DSP_InterC Project Overview
======================================================================== ========================================================================
AppWizard has created this DSP_InterC application for you. AppWizard has created this DSP_InterC application for you.
This file contains a summary of what you will find in each of the files that This file contains a summary of what you will find in each of the files that
make up your DSP_InterC application. make up your DSP_InterC application.
DSP_InterC.vcproj DSP_InterC.vcproj
This is the main project file for VC++ projects generated using an Application Wizard. This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the information about the platforms, configurations, and project features selected with the
Application Wizard. Application Wizard.
DSP_InterC.cpp DSP_InterC.cpp
This is the main application source file. This is the main application source file.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
Other standard files: Other standard files:
StdAfx.h, StdAfx.cpp StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file These files are used to build a precompiled header (PCH) file
named DSP_InterC.pch and a precompiled types file named StdAfx.obj. named DSP_InterC.pch and a precompiled types file named StdAfx.obj.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
Other notes: Other notes:
AppWizard uses "TODO:" comments to indicate parts of the source code you AppWizard uses "TODO:" comments to indicate parts of the source code you
should add to or customize. should add to or customize.
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -1,45 +1,45 @@
CPU: CPU:
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
void DSPSendCommands2(_pBuffer, _NumberOfMessages, _StartWork) void DSPSendCommands2(_pBuffer, _NumberOfMessages, _StartWork)
{ {
while (!DSP_Running_Check()); while (!DSP_Running_Check());
OldInterrupts = OSDisableInterrupts(); OldInterrupts = OSDisableInterrupts();
if (DSPCheckMailToDSP() != 0) if (DSPCheckMailToDSP() != 0)
{ {
OSRestoreInterrupts(); OSRestoreInterrupts();
return -1; return -1;
} }
DSPSendMailToDSP(_NumberOfMessages) DSPSendMailToDSP(_NumberOfMessages)
DSPAssertInt() DSPAssertInt()
while (DSPCheckMailToDSP() != 0) {} while (DSPCheckMailToDSP() != 0) {}
if (_NumberOfMessages == 0) if (_NumberOfMessages == 0)
_NumberOfMessages = 1 _NumberOfMessages = 1
if (_StartWork != 0) if (_StartWork != 0)
{ {
r28 = DSPStartWork(*_pBuffer, _StartWork) r28 = DSPStartWork(*_pBuffer, _StartWork)
} }
_StartWork = 0 _StartWork = 0
while(Count != _NumberOfMessages) while(Count != _NumberOfMessages)
{ {
DSPSendMailToDSP(Buffer[Count]) DSPSendMailToDSP(Buffer[Count])
while (DSPCheckMailToDSP() != 0) {} while (DSPCheckMailToDSP() != 0) {}
Count++ Count++
} }
OSRestoreInterrupts(OldInterrupts) OSRestoreInterrupts(OldInterrupts)
return r28; return r28;
} }

View File

@ -1,45 +1,45 @@
# this can be used to upgrade disassemblies that aren't too annotated. # this can be used to upgrade disassemblies that aren't too annotated.
# won't do very well on the current zelda disasm. # won't do very well on the current zelda disasm.
import os import os
import sys import sys
def GetPrefixLine(l, a): def GetPrefixLine(l, a):
for s in a: for s in a:
if s[0:len(l)] == l: if s[0:len(l)] == l:
return s return s
return "" return ""
def GetComment(l): def GetComment(l):
comment_start = l.find("//") comment_start = l.find("//")
if comment_start < 0: if comment_start < 0:
comment_start = l.find("->") comment_start = l.find("->")
if comment_start < 0: if comment_start < 0:
return "" return ""
while (l[comment_start-1] == ' ') or (l[comment_start-1] == '\t'): while (l[comment_start-1] == ' ') or (l[comment_start-1] == '\t'):
comment_start -= 1 comment_start -= 1
return l[comment_start:] return l[comment_start:]
def main(): def main():
old_lines = open("DSP_UC_Zelda.txt", "r").readlines() old_lines = open("DSP_UC_Zelda.txt", "r").readlines()
# for l in old_lines: # for l in old_lines:
# print l # print l
new_lines = open("zeldanew.txt", "r").readlines() new_lines = open("zeldanew.txt", "r").readlines()
for i in range(0, len(old_lines)): for i in range(0, len(old_lines)):
prefix = old_lines[i][0:14] prefix = old_lines[i][0:14]
comment = GetComment(old_lines[i]) comment = GetComment(old_lines[i])
new_line = GetPrefixLine(prefix, new_lines) new_line = GetPrefixLine(prefix, new_lines)
if new_line: if new_line:
old_lines[i] = new_line[:-1] + comment[:-1] + "\n" old_lines[i] = new_line[:-1] + comment[:-1] + "\n"
for i in range(0, len(old_lines)): for i in range(0, len(old_lines)):
print old_lines[i], print old_lines[i],
new_file = open("output.txt", "w") new_file = open("output.txt", "w")
new_file.writelines(old_lines) new_file.writelines(old_lines)
main() main()

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