Disabled LLE USB

This commit is contained in:
ergo720 2018-07-31 21:44:10 +02:00
parent d06c4d62ca
commit a42a114583
20 changed files with 182 additions and 510 deletions

4
.gitmodules vendored
View File

@ -10,7 +10,3 @@
[submodule "import/XbSymbolDatabase"]
path = import/XbSymbolDatabase
url = https://github.com/Cxbx-Reloaded/XbSymbolDatabase.git
[submodule "SDL-mirror"]
path = import/SDL-mirror
url = https://github.com/spurious/SDL-mirror
branch = release-2.0.8

View File

@ -26,18 +26,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XbSymbolDatabase", "..\..\i
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CxbxVSBC", "CxbxVSBC.vcxproj", "{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "..\..\import\SDL-mirror\VisualC\SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "..\..\import\SDL-mirror\VisualC\SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_Direct3D9|Any CPU = Debug_Direct3D9|Any CPU
Debug_Direct3D9|Win32 = Debug_Direct3D9|Win32
Debug_Direct3D9|x64 = Debug_Direct3D9|x64
Debug_USB_Packets|Any CPU = Debug_USB_Packets|Any CPU
Debug_USB_Packets|Win32 = Debug_USB_Packets|Win32
Debug_USB_Packets|x64 = Debug_USB_Packets|x64
Debug|Any CPU = Debug|Any CPU
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
@ -50,11 +43,6 @@ Global
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_Direct3D9|Win32.ActiveCfg = Debug_Direct3D9|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_Direct3D9|Win32.Build.0 = Debug_Direct3D9|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_Direct3D9|x64.ActiveCfg = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_USB_Packets|Any CPU.ActiveCfg = Debug_USB_Packets|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_USB_Packets|Any CPU.Build.0 = Debug_USB_Packets|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_USB_Packets|Win32.ActiveCfg = Debug_USB_Packets|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_USB_Packets|Win32.Build.0 = Debug_USB_Packets|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug_USB_Packets|x64.ActiveCfg = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug|Any CPU.ActiveCfg = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug|Win32.ActiveCfg = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug|Win32.Build.0 = Debug|Win32
@ -68,12 +56,6 @@ Global
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_Direct3D9|x64.ActiveCfg = Debug|x64
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_Direct3D9|x64.Build.0 = Debug|x64
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|Any CPU.ActiveCfg = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|Any CPU.Build.0 = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug|Any CPU.ActiveCfg = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug|Win32.ActiveCfg = Debug|Win32
{CD2DDE93-B45E-4D11-876D-D0056C3DD407}.Debug|Win32.Build.0 = Debug|Win32
@ -89,11 +71,6 @@ Global
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_Direct3D9|Win32.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_Direct3D9|x64.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_Direct3D9|x64.Build.0 = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_USB_Packets|Any CPU.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_USB_Packets|Any CPU.Build.0 = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_USB_Packets|x64.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug_USB_Packets|x64.Build.0 = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A68E962-3805-4376-99D3-0AC59E9BEE69}.Debug|Win32.ActiveCfg = Debug|Any CPU
@ -109,11 +86,6 @@ Global
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_Direct3D9|Win32.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_Direct3D9|x64.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_Direct3D9|x64.Build.0 = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_USB_Packets|Any CPU.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_USB_Packets|Any CPU.Build.0 = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_USB_Packets|x64.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug_USB_Packets|x64.Build.0 = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9131B025-5019-4DEE-84A3-86D2703A81C0}.Debug|Win32.ActiveCfg = Debug|Any CPU
@ -129,11 +101,6 @@ Global
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_Direct3D9|x64.ActiveCfg = Debug|x64
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_Direct3D9|x64.Build.0 = Debug|x64
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_USB_Packets|Any CPU.ActiveCfg = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Any CPU.ActiveCfg = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.ActiveCfg = Debug|Win32
{2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.Build.0 = Debug|Win32
@ -148,12 +115,6 @@ Global
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_Direct3D9|Win32.ActiveCfg = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_Direct3D9|x64.ActiveCfg = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|Any CPU.ActiveCfg = Release|x64
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|Any CPU.Build.0 = Release|x64
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug|Any CPU.ActiveCfg = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug|Win32.ActiveCfg = Debug|Win32
{B8D9AFC2-B38F-4714-846D-8A2754F076C9}.Debug|Win32.Build.0 = Debug|Win32
@ -168,12 +129,6 @@ Global
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_Direct3D9|x64.ActiveCfg = Debug|x64
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_Direct3D9|x64.Build.0 = Debug|x64
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|Any CPU.ActiveCfg = Release|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|Any CPU.Build.0 = Release|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug|Any CPU.ActiveCfg = Debug|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug|Win32.ActiveCfg = Debug|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Debug|Win32.Build.0 = Debug|Win32
@ -184,50 +139,6 @@ Global
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Release|Win32.Build.0 = Release|Win32
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Release|x64.ActiveCfg = Release|x64
{EFA81330-D410-4232-9A0C-1D8B91B6FFFF}.Release|x64.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|Any CPU.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|Any CPU.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|Win32.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_Direct3D9|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|Any CPU.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|Any CPU.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Any CPU.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Any CPU.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|Any CPU.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|Any CPU.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|Win32.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|Win32.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_Direct3D9|x64.Build.0 = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|Any CPU.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|Any CPU.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|Win32.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|Win32.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_USB_Packets|x64.Build.0 = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Any CPU.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Any CPU.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -5,10 +5,6 @@
<Configuration>Debug_Direct3D9</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_USB_Packets|Win32">
<Configuration>Debug_USB_Packets</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
@ -36,12 +32,6 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
@ -59,10 +49,6 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
@ -71,26 +57,20 @@
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\import\DirectX8\include;$(IncludePath)</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">..\..\import\DirectX8\include;$(IncludePath)</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">..\..\import\DirectX9\include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\import\DirectX8\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">..\..\import\DirectX8\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">$(LibraryPath)</LibraryPath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\import\DirectX8\include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\import\DirectX8\lib;$(LibraryPath)</LibraryPath>
@ -100,11 +80,6 @@
<CustomBuildBeforeTargets />
<IntDir>$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">
<CustomBuildAfterTargets>Build</CustomBuildAfterTargets>
<CustomBuildBeforeTargets />
<IntDir>$(Configuration)\$(ProjectName)</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">
<CustomBuildAfterTargets>Build</CustomBuildAfterTargets>
<CustomBuildBeforeTargets />
@ -144,7 +119,7 @@
<AdditionalIncludeDirectories>Include\Win32\Cxbx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Configuration)\;..\..\import\distorm\lib\Win32\;..\..\import\glew-2.0.0\lib\Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libcmt;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@ -175,67 +150,6 @@
<Message>Generate version header</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\bin\debug/Cxbx.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\src\Common;..\..\src;..\..\src\Common\Win32;%(AdditionalIncludeDirectories);..\..\import\OpenXDK\include;..\..\import\distorm\include;..\..\import\glew-2.0.0\include;..\..\import\subhook\;..\..\import\SDL-mirror\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NOMINMAX;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;DEBUG_PACKET;DEBUG_ISOCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BrowseInformation>false</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>Include\Win32\Cxbx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Configuration)\;..\..\import\distorm\lib\Win32\;..\..\import\glew-2.0.0\lib\Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>msvcrt;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>true</GenerateMapFile>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
<BaseAddress>0x10000</BaseAddress>
<FixedBaseAddress>true</FixedBaseAddress>
<LargeAddressAware>true</LargeAddressAware>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<PostBuildEvent>
<Command>copy $(SolutionDir)..\..\import\glew-2.0.0\bin\Release\Win32\glew32.dll $(TargetDir)</Command>
</PostBuildEvent>
<CustomBuildStep>
<Command>
</Command>
</CustomBuildStep>
<PreBuildEvent>
<Command>CALL "$(SolutionDir)Version.bat" "$(SolutionDir)..\..\src\Version.h"</Command>
<Message>Generate version header</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -265,7 +179,7 @@
<AdditionalIncludeDirectories>Include\Win32\Cxbx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Configuration)\;..\..\import\distorm\lib\Win32\;..\..\import\glew-2.0.0\lib\Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libcmt;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@ -334,7 +248,7 @@
<AdditionalIncludeDirectories>Include\Win32\Cxbx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;d3d8.lib;dinput8.lib;dxguid.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;dxerr8.lib;ws2_32.lib;dsound.lib;winmm.lib;ddraw.lib;d3dx8.lib;dbghelp.lib;comctl32.lib;XINPUT9_1_0.LIB;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>$(Configuration)\;..\..\import\distorm\lib\Win32\;..\..\import\glew-2.0.0\lib\Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libcmt;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@ -502,10 +416,8 @@
<ItemGroup>
<ResourceCompile Include="..\..\resource\Cxbx.rc">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\cxbx\git\cxbx-ds\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">\cxbx\git\cxbx-ds\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">\cxbx\git\cxbx-ds\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\cxbx\git\cxbx-ds\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -527,11 +439,9 @@
<ClCompile Include="..\..\src\Common\Logging.cpp" />
<ClCompile Include="..\..\src\Common\Win32\EmuShared.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -539,143 +449,115 @@
<ClCompile Include="..\..\src\Common\XDVDFS Tools\xdvdfs.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\CxbxKrnl.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WholeProgramOptimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</WholeProgramOptimization>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\DbgConsole.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\Emu.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\Convert.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\PixelShader.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\PushBuffer.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\State.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\VertexBuffer.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuD3D8\VertexShader.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuDInput.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuDSound.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuFile.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuFS.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnl.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -699,11 +581,9 @@
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlXe.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuNtDll.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -713,32 +593,26 @@
<ClCompile Include="..\..\src\CxbxKrnl\EmuXactEng.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuXapi.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuXG.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\EmuXInput.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\EmuXOnline.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -747,21 +621,17 @@
<ClCompile Include="..\..\src\CxbxKrnl\gloffscreen\gloffscreen_wgl.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\HLEIntercept.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\CxbxKrnl\KernelThunk.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -770,11 +640,9 @@
<ClCompile Include="..\..\src\CxbxKrnl\PoolManager.cpp" />
<ClCompile Include="..\..\src\CxbxKrnl\ResourceTracker.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@ -785,10 +653,8 @@
<ClCompile Include="..\..\src\Cxbx\DlgAudioConfig.cpp" />
<ClCompile Include="..\..\src\Cxbx\DlgControllerConfig.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -796,30 +662,24 @@
<ClCompile Include="..\..\src\Cxbx\DlgEepromConfig.cpp" />
<ClCompile Include="..\..\src\Cxbx\DlgVideoConfig.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Common\Error.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Common\Win32\Mutex.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
@ -827,60 +687,48 @@
<ClCompile Include="..\..\src\Cxbx\DlgXboxControllerPortMapping.cpp" />
<ClCompile Include="..\..\src\Cxbx\WinMain.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Cxbx\Wnd.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Cxbx\WndMain.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Common\Win32\XBController.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Common\Xbe.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\src\Common\Win32\XBVideo.cpp">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_USB_Packets|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_Direct3D9|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>

@ -1 +0,0 @@
Subproject commit ef5bf55e83c9d0ccf7a02bc2b08b0d6e46e1b6ef

View File

@ -485,7 +485,7 @@ BEGIN
POPUP "&LLE (Experimental)", 65535,MFT_STRING,MFS_ENABLED
BEGIN
MENUITEM "LLE &GPU", ID_EMULATION_LLE_GPU,MFT_STRING,MFS_ENABLED
MENUITEM "LLE &USB", ID_EMULATION_LLE_USB,MFT_STRING,MFS_ENABLED
//MENUITEM "LLE &USB", ID_EMULATION_LLE_USB,MFT_STRING,MFS_ENABLED // Reenable this when LLE USB actually works
END
POPUP "Hacks", 65535,MFT_STRING,MFS_ENABLED
BEGIN

View File

@ -33,7 +33,7 @@
// * All rights reserved
// *
// ******************************************************************
#if 0 // Reenable this when LLE USB actually works
#define _XBOXKRNL_DEFEXTRN_
// prevent name collisions
@ -483,3 +483,4 @@ SDL2Devices* InputDeviceManager::FindDeviceFromXboxPort(int port)
}
return nullptr;
}
#endif

View File

@ -36,7 +36,7 @@
#ifndef INPUTCONFIG_H_
#define INPUTCONFIG_H_
#if 0 // Reenable this when LLE USB actually works
#include <vector>
#include <atomic>
#include "SDL.h"
@ -124,5 +124,5 @@ class InputDeviceManager
};
extern InputDeviceManager* g_InputDeviceManager;
#endif
#endif

View File

@ -34,6 +34,7 @@
// *
// ******************************************************************
#if 0 // Reenable this when LLE USB actually works
#include "SDL2_Device.h"
#include <assert.h>
@ -216,3 +217,5 @@ bool SDL2Devices::ReadButtonState(uint16_t* wButtons, uint8_t* bAnalogButtons, i
}
return false;
}
#endif

View File

@ -36,7 +36,7 @@
#ifndef SDL2DEVICE_H_
#define SDL2DEVICE_H_
#if 0 // Reenable this when LLE USB actually works
#include "InputConfig.h"
@ -119,5 +119,5 @@ class SDL2Devices
// indicates that the button state has been updated since the last time it was read
std::atomic_bool bStateDirty;
};
#endif
#endif

View File

@ -244,7 +244,7 @@
#define ID_EMULATION_LLE_APU 40039
#define ID_EMULATION_LLE_GPU 40040
#define ID_EMULATION_LLE_JIT 40041
#define ID_EMULATION_LLE_USB 40042
//#define ID_EMULATION_LLE_USB 40042 // Reenable this when LLE USB actually works
#define ID_SETTINGS_CONFIG_CONTROLLER 40046
#define ID_SETTINGS_CONFIG_VIDEO 40047
#define ID_SETTINGS_CONFIG_AUDIO 40048

View File

@ -1465,14 +1465,14 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
RefreshMenus();
}
break;
#if 0 // Reenable this when LLE USB actually works
case ID_EMULATION_LLE_USB:
{
m_FlagsLLE = m_FlagsLLE ^ LLE_USB;
RefreshMenus();
}
break;
#endif
case ID_EMULATION_START:
if (m_Xbe != nullptr)
{
@ -1937,8 +1937,8 @@ void WndMain::RefreshMenus()
chk_flag = (m_FlagsLLE & LLE_GPU) ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_EMULATION_LLE_GPU, chk_flag);
chk_flag = (m_FlagsLLE & LLE_USB) ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_EMULATION_LLE_USB, chk_flag);
//chk_flag = (m_FlagsLLE & LLE_USB) ? MF_CHECKED : MF_UNCHECKED; // Reenable this when LLE USB actually works
//CheckMenuItem(settings_menu, ID_EMULATION_LLE_USB, chk_flag);
chk_flag = (m_DisablePixelShaders) ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_HACKS_DISABLEPIXELSHADERS, chk_flag);
@ -2609,7 +2609,7 @@ void WndMain::DrawLedBitmap(HWND hwnd, bool bdefault)
if (FlagsLLE == 0) {
sprintf(flagString, "HLE");
}
else if ((FlagsLLE & LLE_GPU) != 0) {
else if ((FlagsLLE & LLE_GPU) == 0) {
strcat(flagString, " HLE");
}
}

View File

@ -1301,7 +1301,7 @@ __declspec(noreturn) void CxbxKrnlInit
g_EmuShared->GetFlagsLLE(&CxbxLLE_Flags);
bLLE_APU = (CxbxLLE_Flags & LLE_APU) > 0;
bLLE_GPU = (CxbxLLE_Flags & LLE_GPU) > 0;
bLLE_USB = (CxbxLLE_Flags & LLE_USB) > 0;
//bLLE_USB = (CxbxLLE_Flags & LLE_USB) > 0; // Reenable this when LLE USB actually works
bLLE_JIT = (CxbxLLE_Flags & LLE_JIT) > 0;
}
@ -1465,6 +1465,7 @@ __declspec(noreturn) void CxbxKrnlInit
InitXboxHardware(HardwareModel::Revision1_5); // TODO : Make configurable
if (bLLE_USB) {
#if 0 // Reenable this when LLE USB actually works
int ret;
g_InputDeviceManager = new InputDeviceManager;
ret = g_InputDeviceManager->EnumSdl2Devices();
@ -1473,6 +1474,7 @@ __declspec(noreturn) void CxbxKrnlInit
// Temporary: the device type and bindings should be read from emushared, for now always assume one xbox controller
g_InputDeviceManager->ConnectDeviceToXbox(1, MS_CONTROLLER_DUKE);
}
#endif
}
// Now the hardware devices exist, couple the EEPROM buffer to it's device

View File

@ -350,13 +350,14 @@ void EmuUpdateLLEStatus(uint32_t XbLibScan)
FlagsLLE ^= LLE_APU;
EmuOutputMessage(XB_OUTPUT_MESSAGE_INFO, "Fallback to LLE APU.");
}
#if 0 // Reenable this when LLE USB actually works
if ((FlagsLLE & LLE_USB) == false
&& (XbLibScan & XbSymbolLib_XAPILIB) == 0) {
bLLE_USB = true;
FlagsLLE ^= LLE_USB;
EmuOutputMessage(XB_OUTPUT_MESSAGE_INFO, "Fallback to LLE USB.");
}
}
#endif
g_EmuShared->SetFlagsLLE(&FlagsLLE);
}

View File

@ -114,7 +114,8 @@ void ClockThread(TimerObject* Timer)
return;
}
NewExpireTime = GetNextExpireTime(Timer);
}
}
Sleep(1); // prevent burning the cpu
}
}

View File

@ -46,7 +46,7 @@ namespace xboxkrnl
#include "Hub.h"
#include "CxbxKrnl\EmuKrnl.h" // For EmuWarning
#define LOG_STR_HUB "Hub"
#define LOG_STR_HUB "Hub:"
#define NUM_PORTS 8
@ -86,6 +86,9 @@ namespace xboxkrnl
#define PORT_C_RESET 20
// Acknowledgment: XQEMU (GPLv2)
// To avoid including Xbox.h
extern USBDevice* g_USB0;
@ -372,7 +375,7 @@ void Hub::UsbHub_HandleControl(XboxDeviceState* dev, USBPacket* p,
goto fail;
}
port = &m_HubState->ports[n];
DbgPrintf("%s: %s GetPortStatus -> Address 0x%X, wIndex %d, wPortStatus %d, wPortChange %d\n",
DbgPrintf("%s %s GetPortStatus -> Address 0x%X, wIndex %d, wPortStatus %d, wPortChange %d\n",
LOG_STR_HUB, __func__, m_HubState->dev.Addr, index, port->wPortStatus, port->wPortChange);
data[0] = port->wPortStatus;
data[1] = port->wPortStatus >> 8;
@ -397,7 +400,7 @@ void Hub::UsbHub_HandleControl(XboxDeviceState* dev, USBPacket* p,
USBHubPort* port;
XboxDeviceState* dev;
DbgPrintf("%s: %s SetPortFeature -> Address 0x%X, wIndex %d, Feature %s\n",
DbgPrintf("%s %s SetPortFeature -> Address 0x%X, wIndex %d, Feature %s\n",
LOG_STR_HUB, __func__, m_HubState->dev.Addr, index, GetFeatureName(value));
if (n >= NUM_PORTS) {
@ -435,7 +438,7 @@ void Hub::UsbHub_HandleControl(XboxDeviceState* dev, USBPacket* p,
unsigned int n = index - 1;
USBHubPort *port;
DbgPrintf("%s: %s ClearPortFeature -> Address 0x%X, wIndex %d, Feature %s\n",
DbgPrintf("%s %s ClearPortFeature -> Address 0x%X, wIndex %d, Feature %s\n",
LOG_STR_HUB, __func__, m_HubState->dev.Addr, index, GetFeatureName(value));
if (n >= NUM_PORTS) {
@ -522,7 +525,7 @@ void Hub::UsbHub_HandleData(XboxDeviceState* dev, USBPacket* p)
p->Status = USB_RET_BABBLE;
return;
}
DbgPrintf("%s: %s Address 0x%X, Status %d\n", LOG_STR_HUB, __func__, m_HubState->dev.Addr, status);
DbgPrintf("%s %s Address 0x%X, Status %d\n", LOG_STR_HUB, __func__, m_HubState->dev.Addr, status);
for (i = 0; i < n; i++) {
buf[i] = status >> (8 * i);
}

View File

@ -46,7 +46,11 @@ namespace xboxkrnl
#include "CxbxKrnl\EmuKrnl.h" // For HalSystemInterrupt
#include "CxbxCommon.h"
#define LOG_STR_OHCI "Ohci"
#define LOG_STR_OHCI "Ohci:"
/* Define these two if you want to dump usb packets */
//#define DEBUG_ISOCH
//#define DEBUG_PACKET
/* These macros are used to access the bits of the various registers */
// HcControl
@ -197,14 +201,7 @@ namespace xboxkrnl
#define OHCI_OFFSET_MASK 0xFFF
// Temporary output (useful for debugging LLE USB)
#define DEBUG
#ifdef DEBUG
#define TestOut printf
#endif // DEBUG
// Acknowledgment: XQEMU (GPLv2)
OHCI::OHCI(USBDevice* UsbObj)
@ -247,13 +244,10 @@ void OHCI::OHCI_FrameBoundaryWorker()
OHCI_HCCA hcca;
while (m_bFrameTime) { Sleep(1); }
m_bFrameTime = true;
TestOut("Frame processing started\n");
TestOut("HcControl: 0x%X, HcFmNumber: 0x%X, HcInterruptStatus: 0x%X\n", m_Registers.HcControl, m_Registers.HcFmNumber, m_Registers.HcInterruptStatus);
m_bFrameTime = true;
if (OHCI_ReadHCCA(m_Registers.HcHCCA, &hcca)) {
EmuWarning("%s: HCCA read error at physical address 0x%X", m_Registers.HcHCCA, LOG_STR_OHCI);
EmuWarning("%s HCCA read error at physical address 0x%X", m_Registers.HcHCCA, LOG_STR_OHCI);
OHCI_FatalError();
m_bFrameTime = false;
return;
@ -283,13 +277,11 @@ void OHCI::OHCI_FrameBoundaryWorker()
m_bFrameTime = false;
return;
}
TestOut("HcFmRemaining: 0x%X, HcFmInterval: 0x%X - before\n", m_Registers.HcFmRemaining, m_Registers.HcFmInterval);
// From the standard: "This bit is loaded from the FrameIntervalToggle field of
// HcFmInterval whenever FrameRemaining reaches 0."
m_Registers.HcFmRemaining = (m_Registers.HcFmInterval & OHCI_FMI_FIT) == 0 ?
m_Registers.HcFmRemaining & ~OHCI_FMR_FRT : m_Registers.HcFmRemaining | OHCI_FMR_FRT;
TestOut("HcFmRemaining: 0x%X, HcFmInterval: 0x%X - after\n", m_Registers.HcFmRemaining, m_Registers.HcFmInterval);
m_Registers.HcFmRemaining & ~OHCI_FMR_FRT : m_Registers.HcFmRemaining | OHCI_FMR_FRT;
// Increment frame number
m_Registers.HcFmNumber = (m_Registers.HcFmNumber + 1) & 0xFFFF; // prevent overflow
@ -299,7 +291,7 @@ void OHCI::OHCI_FrameBoundaryWorker()
if (!m_Registers.HcDoneHead) {
// From the standard: "This is set to zero whenever HC writes the content of this
// register to HCCA. It also sets the WritebackDoneHead of HcInterruptStatus."
CxbxKrnlCleanup("%s: HcDoneHead is zero but WritebackDoneHead interrupt is not set!\n", LOG_STR_OHCI);
CxbxKrnlCleanup("%s HcDoneHead is zero but WritebackDoneHead interrupt is not set!\n", LOG_STR_OHCI);
}
if (m_Registers.HcInterrupt & m_Registers.HcInterruptStatus) {
@ -326,13 +318,10 @@ void OHCI::OHCI_FrameBoundaryWorker()
// Writeback HCCA
if (OHCI_WriteHCCA(m_Registers.HcHCCA, &hcca)) {
EmuWarning("%s: HCCA write error at physical address 0x%X", LOG_STR_OHCI, m_Registers.HcHCCA);
EmuWarning("%s HCCA write error at physical address 0x%X", LOG_STR_OHCI, m_Registers.HcHCCA);
OHCI_FatalError();
}
TestOut("Frame processing ended\n");
TestOut("HcControl: 0x%X, HcFmNumber: 0x%X, HcInterruptStatus: 0x%X\n", m_Registers.HcControl, m_Registers.HcFmNumber, m_Registers.HcInterruptStatus);
m_bFrameTime = false;
}
@ -344,8 +333,7 @@ void OHCI::OHCI_FatalError()
OHCI_SetInterrupt(OHCI_INTR_UE);
OHCI_BusStop();
DbgPrintf("%s: an unrecoverable error occoured!\n", LOG_STR_OHCI);
TestOut("Fatal error");
DbgPrintf("%s an unrecoverable error occoured!\n", LOG_STR_OHCI);
}
bool OHCI::OHCI_ReadHCCA(xbaddr Paddr, OHCI_HCCA* Hcca)
@ -546,7 +534,7 @@ int OHCI::OHCI_ServiceEDlist(xbaddr Head, int Completion)
for (current = Head; current; current = next_ed) {
if (OHCI_ReadED(current, &ed)) {
EmuWarning("%s: ED read error at physical address 0x%X", LOG_STR_OHCI, current);
EmuWarning("%s ED read error at physical address 0x%X", LOG_STR_OHCI, current);
OHCI_FatalError();
return 0;
}
@ -623,12 +611,12 @@ int OHCI::OHCI_ServiceTD(OHCI_ED* Ed)
addr = Ed->HeadP & OHCI_DPTR_MASK;
// See if this TD has already been submitted to the device
completion = (addr == m_AsyncTD);
if (completion && !m_AsyncComplete) { // ??
if (completion && !m_AsyncComplete) {
DbgPrintf("Skipping async TD\n");
return 1;
}
if (OHCI_ReadTD(addr, &td)) {
EmuWarning("%s: TD read error at physical address 0x%X", LOG_STR_OHCI, addr);
EmuWarning("%s TD read error at physical address 0x%X", LOG_STR_OHCI, addr);
OHCI_FatalError();
return 0;
}
@ -676,7 +664,7 @@ int OHCI::OHCI_ServiceTD(OHCI_ED* Ed)
pid = USB_TOKEN_SETUP;
break;
default:
EmuWarning("%s: bad direction", LOG_STR_OHCI);
EmuWarning("%s bad direction", LOG_STR_OHCI);
return 1;
}
@ -728,7 +716,7 @@ int OHCI::OHCI_ServiceTD(OHCI_ED* Ed)
// From XQEMU: "??? The hardware should allow one active packet per endpoint.
// We only allow one active packet per controller. This should be sufficient
// as long as devices respond in a timely manner."
DbgPrintf("%s: too many pending packets\n", LOG_STR_OHCI);
DbgPrintf("%s too many pending packets\n", LOG_STR_OHCI);
return 1;
}
dev = OHCI_FindDevice(OHCI_BM(Ed->Flags, ED_FA));
@ -802,29 +790,29 @@ int OHCI::OHCI_ServiceTD(OHCI_ED* Ed)
}
else {
if (ret >= 0) {
DbgPrintf("%s: Underrun\n", LOG_STR_OHCI);
DbgPrintf("%s Underrun\n", LOG_STR_OHCI);
OHCI_SET_BM(td.Flags, TD_CC, OHCI_CC_DATAUNDERRUN);
}
else {
switch (ret) {
case USB_RET_IOERROR:
case USB_RET_NODEV:
DbgPrintf("%s: Received DEV ERROR\n", LOG_STR_OHCI);
DbgPrintf("%s Received DEV ERROR\n", LOG_STR_OHCI);
OHCI_SET_BM(td.Flags, TD_CC, OHCI_CC_DEVICENOTRESPONDING);
break;
case USB_RET_NAK:
DbgPrintf("%s: Received NAK\n", LOG_STR_OHCI);
DbgPrintf("%s Received NAK\n", LOG_STR_OHCI);
return 1;
case USB_RET_STALL:
DbgPrintf("%s: Received STALL\n", LOG_STR_OHCI);
DbgPrintf("%s Received STALL\n", LOG_STR_OHCI);
OHCI_SET_BM(td.Flags, TD_CC, OHCI_CC_STALL);
break;
case USB_RET_BABBLE:
DbgPrintf("%s: Received BABBLE\n", LOG_STR_OHCI);
DbgPrintf("%s Received BABBLE\n", LOG_STR_OHCI);
OHCI_SET_BM(td.Flags, TD_CC, OHCI_CC_DATAOVERRUN);
break;
default:
DbgPrintf("%s: Bad device response %d\n", LOG_STR_OHCI, ret);
DbgPrintf("%s Bad device response %d\n", LOG_STR_OHCI, ret);
OHCI_SET_BM(td.Flags, TD_CC, OHCI_CC_UNDEXPETEDPID);
OHCI_SET_BM(td.Flags, TD_EC, 3);
}
@ -921,16 +909,15 @@ void OHCI::OHCI_StateReset()
OHCI_StopEndpoints();
DbgPrintf("%s: Reset mode event.\n", LOG_STR_OHCI);
DbgPrintf("%s Reset mode event.\n", LOG_STR_OHCI);
}
void OHCI::OHCI_BusStart()
{
// Create the EOF timer. Let's try a factor of 50 (1 virtual ms -> 50 real ms)
m_pEOFtimer = Timer_Create(OHCI_FrameBoundaryWrapper, this, 100);
TestOut("Bus start.\n");
m_pEOFtimer = Timer_Create(OHCI_FrameBoundaryWrapper, this, 100);
DbgPrintf("%s: Operational mode event\n", LOG_STR_OHCI);
DbgPrintf("%s Operational mode event\n", LOG_STR_OHCI);
// SOF event
OHCI_SOF(true);
@ -942,16 +929,13 @@ void OHCI::OHCI_BusStop()
// Delete existing EOF timer
Timer_Exit(m_pEOFtimer);
}
m_pEOFtimer = nullptr;
TestOut("Bus stop\n");
m_pEOFtimer = nullptr;
}
void OHCI::OHCI_SOF(bool bCreate)
{
// set current SOF time
m_SOFtime = GetTime_NS(m_pEOFtimer);
TestOut("OHCI_SOF -> m_SOFtime is 0x%X\n", m_SOFtime);
m_SOFtime = GetTime_NS(m_pEOFtimer);
// make timer expire at SOF + 1 virtual ms from now
if (bCreate) {
@ -965,9 +949,7 @@ void OHCI::OHCI_ChangeState(uint32_t Value)
{
uint32_t OldState = m_Registers.HcControl & OHCI_CTL_HCFS;
m_Registers.HcControl = Value;
uint32_t NewState = m_Registers.HcControl & OHCI_CTL_HCFS;
TestOut("OldState 0x%X\n", OldState);
uint32_t NewState = m_Registers.HcControl & OHCI_CTL_HCFS;
// no state change
if (OldState == NewState) {
@ -977,28 +959,24 @@ void OHCI::OHCI_ChangeState(uint32_t Value)
switch (NewState)
{
case Operational:
OHCI_BusStart();
TestOut("NewState Operational\n");
OHCI_BusStart();
break;
case Suspend:
OHCI_BusStop();
DbgPrintf("%s: Suspend mode event\n", LOG_STR_OHCI);
TestOut("NewState Suspend\n");
DbgPrintf("%s Suspend mode event\n", LOG_STR_OHCI);
break;
case Resume:
DbgPrintf("%s: Resume mode event\n", LOG_STR_OHCI);
TestOut("NewState Resume\n");
DbgPrintf("%s Resume mode event\n", LOG_STR_OHCI);
break;
case Reset:
OHCI_StateReset();
TestOut("NewState Reset\n");
OHCI_StateReset();
break;
default:
EmuWarning("%s: Unknown USB mode!", LOG_STR_OHCI);
EmuWarning("%s Unknown USB mode!", LOG_STR_OHCI);
}
}
@ -1017,136 +995,112 @@ uint32_t OHCI::OHCI_ReadRegister(xbaddr Addr)
if (Addr & 3) {
// The standard allows only aligned reads to the registers
DbgPrintf("%s: Unaligned read. Ignoring.\n", LOG_STR_OHCI);
DbgPrintf("%s Unaligned read. Ignoring.\n", LOG_STR_OHCI);
return ret;
}
else {
switch (Addr >> 2) // read the register
{
case 0: // HcRevision
ret = m_Registers.HcRevision;
TestOut("m_Registers.HcRevision: 0x%X\n", m_Registers.HcRevision);
ret = m_Registers.HcRevision;
break;
case 1: // HcControl
ret = m_Registers.HcControl;
TestOut("m_Registers.HcControl: 0x%X\n", m_Registers.HcControl);
ret = m_Registers.HcControl;
break;
case 2: // HcCommandStatus
ret = m_Registers.HcCommandStatus;
TestOut("m_Registers.HcCommandStatus: 0x%X\n", m_Registers.HcCommandStatus);
ret = m_Registers.HcCommandStatus;
break;
case 3: // HcInterruptStatus
ret = m_Registers.HcInterruptStatus;
TestOut("m_Registers.HcInterruptStatus: 0x%X\n", m_Registers.HcInterruptStatus);
ret = m_Registers.HcInterruptStatus;
break;
case 4: // HcInterruptEnable
case 5: // HcInterruptDisable
ret = m_Registers.HcInterrupt;
TestOut("m_Registers.HcInterrupt: 0x%X\n", m_Registers.HcInterrupt);
ret = m_Registers.HcInterrupt;
break;
case 6: // HcHCCA
ret = m_Registers.HcHCCA;
TestOut("m_Registers.HcHCCA: 0x%X\n", m_Registers.HcHCCA);
ret = m_Registers.HcHCCA;
break;
case 7: // HcPeriodCurrentED
ret = m_Registers.HcPeriodCurrentED;
TestOut("m_Registers.HcPeriodCurrentED: 0x%X\n", m_Registers.HcPeriodCurrentED);
ret = m_Registers.HcPeriodCurrentED;
break;
case 8: // HcControlHeadED
ret = m_Registers.HcControlHeadED;
TestOut("m_Registers.HcControlHeadED: 0x%X\n", m_Registers.HcControlHeadED);
ret = m_Registers.HcControlHeadED;
break;
case 9: // HcControlCurrentED
ret = m_Registers.HcControlCurrentED;
TestOut("m_Registers.HcControlCurrentED: 0x%X\n", m_Registers.HcControlCurrentED);
ret = m_Registers.HcControlCurrentED;
break;
case 10: // HcBulkHeadED
ret = m_Registers.HcBulkHeadED;
TestOut("m_Registers.HcBulkHeadED: 0x%X\n", m_Registers.HcBulkHeadED);
ret = m_Registers.HcBulkHeadED;
break;
case 11: // HcBulkCurrentED
ret = m_Registers.HcBulkCurrentED;
TestOut("m_Registers.HcBulkCurrentED: 0x%X\n", m_Registers.HcBulkCurrentED);
ret = m_Registers.HcBulkCurrentED;
break;
case 12: // HcDoneHead
ret = m_Registers.HcDoneHead;
TestOut("m_Registers.HcDoneHead: 0x%X\n", m_Registers.HcDoneHead);
ret = m_Registers.HcDoneHead;
break;
case 13: // HcFmInterval
ret = m_Registers.HcFmInterval;
TestOut("m_Registers.HcFmInterval: 0x%X\n", m_Registers.HcFmInterval);
ret = m_Registers.HcFmInterval;
break;
case 14: // HcFmRemaining
ret = OHCI_GetFrameRemaining();
TestOut("m_Registers.HcFmRemaining: 0x%X\n", m_Registers.HcFmRemaining);
ret = OHCI_GetFrameRemaining();
break;
case 15: // HcFmNumber
ret = m_Registers.HcFmNumber;
TestOut("m_Registers.HcFmNumber: 0x%X\n", m_Registers.HcFmNumber);
ret = m_Registers.HcFmNumber;
break;
case 16: // HcPeriodicStart
ret = m_Registers.HcPeriodicStart;
TestOut("m_Registers.HcPeriodicStart: 0x%X\n", m_Registers.HcPeriodicStart);
ret = m_Registers.HcPeriodicStart;
break;
case 17: // HcLSThreshold
ret = m_Registers.HcLSThreshold;
TestOut("m_Registers.HcLSThreshold: 0x%X\n", m_Registers.HcLSThreshold);
ret = m_Registers.HcLSThreshold;
break;
case 18: // HcRhDescriptorA
ret = m_Registers.HcRhDescriptorA;
TestOut("m_Registers.HcRhDescriptorA: 0x%X\n", m_Registers.HcRhDescriptorA);
ret = m_Registers.HcRhDescriptorA;
break;
case 19: // HcRhDescriptorB
ret = m_Registers.HcRhDescriptorB;
TestOut("m_Registers.HcRhDescriptorB: 0x%X\n", m_Registers.HcRhDescriptorB);
ret = m_Registers.HcRhDescriptorB;
break;
case 20: // HcRhStatus
ret = m_Registers.HcRhStatus;
TestOut("m_Registers.HcRhStatus: 0x%X\n", m_Registers.HcRhStatus);
ret = m_Registers.HcRhStatus;
break;
// Always report that the port power is on since the Xbox cannot switch off the electrical current to it
case 21: // RhPort 0
ret = m_Registers.RhPort[0].HcRhPortStatus | OHCI_PORT_PPS;
TestOut("m_Registers.RhPort[0].HcRhPortStatus: 0x%X\n", ret);
ret = m_Registers.RhPort[0].HcRhPortStatus | OHCI_PORT_PPS;
break;
case 22: // RhPort 1
ret = m_Registers.RhPort[1].HcRhPortStatus | OHCI_PORT_PPS;
TestOut("m_Registers.RhPort[1].HcRhPortStatus: 0x%X\n", ret);
ret = m_Registers.RhPort[1].HcRhPortStatus | OHCI_PORT_PPS;
break;
case 23:
ret = m_Registers.RhPort[2].HcRhPortStatus | OHCI_PORT_PPS;
TestOut("m_Registers.RhPort[2].HcRhPortStatus: 0x%X\n", ret);
break;
case 24:
ret = m_Registers.RhPort[3].HcRhPortStatus | OHCI_PORT_PPS;
TestOut("m_Registers.RhPort[3].HcRhPortStatus: 0x%X\n", ret);
break;
default:
EmuWarning("%s: Read register operation with bad offset %u. Ignoring.", LOG_STR_OHCI, Addr >> 2);
EmuWarning("%s Read register operation with bad offset %u. Ignoring.", LOG_STR_OHCI, Addr >> 2);
}
return ret;
}
@ -1156,27 +1110,23 @@ void OHCI::OHCI_WriteRegister(xbaddr Addr, uint32_t Value)
{
if (Addr & 3) {
// The standard allows only aligned writes to the registers
DbgPrintf("%s: Unaligned write. Ignoring.\n", LOG_STR_OHCI);
DbgPrintf("%s Unaligned write. Ignoring.\n", LOG_STR_OHCI);
return;
}
else {
switch (Addr >> 2)
{
case 0: // HcRevision
// This register is read-only
TestOut("W m_Registers.HcRevision: 0x%X\n", Value);
// This register is read-only
break;
case 1: // HcControl
TestOut("W m_Registers.HcControl: 0x%X\n", Value);
OHCI_ChangeState(Value);
TestOut("W m_Registers.HcControl: 0x%X\n", m_Registers.HcControl);
case 1: // HcControl
OHCI_ChangeState(Value);
break;
case 2: // HcCommandStatus
{
// SOC is read-only
TestOut("W m_Registers.HcCommandStatus: 0x%X\n", Value);
// SOC is read-only
Value &= ~OHCI_STATUS_SOC;
// From the standard: "The Host Controller must ensure that bits written as 1 become set
@ -1186,150 +1136,110 @@ void OHCI::OHCI_WriteRegister(xbaddr Addr, uint32_t Value)
if (m_Registers.HcCommandStatus & OHCI_STATUS_HCR) {
// Do a hardware reset
OHCI_StateReset();
}
TestOut("W m_Registers.HcCommandStatus: 0x%X\n", m_Registers.HcCommandStatus);
}
}
break;
case 3: // HcInterruptStatus
TestOut("W m_Registers.HcInterruptStatus: 0x%X\n", Value);
case 3: // HcInterruptStatus
m_Registers.HcInterruptStatus &= ~Value;
OHCI_UpdateInterrupt();
TestOut("W m_Registers.HcInterruptStatus: 0x%X\n", m_Registers.HcInterruptStatus);
OHCI_UpdateInterrupt();
break;
case 4: // HcInterruptEnable
TestOut("W m_Registers.HcInterruptEnable: 0x%X\n", Value);
case 4: // HcInterruptEnable
m_Registers.HcInterrupt |= Value;
OHCI_UpdateInterrupt();
TestOut("W m_Registers.HcInterruptEnable: 0x%X\n", m_Registers.HcInterrupt);
OHCI_UpdateInterrupt();
break;
case 5: // HcInterruptDisable
TestOut("W m_Registers.HcInterruptDisable: 0x%X\n", Value);
case 5: // HcInterruptDisable
m_Registers.HcInterrupt &= ~Value;
OHCI_UpdateInterrupt();
TestOut("W m_Registers.HcInterruptDisable: 0x%X\n", m_Registers.HcInterrupt);
OHCI_UpdateInterrupt();
break;
case 6: // HcHCCA
// The standard says the minimum alignment is 256 bytes and so bits 0 through 7 are always zero
TestOut("W m_Registers.HcHCCA: 0x%X\n", Value);
m_Registers.HcHCCA = Value & OHCI_HCCA_MASK;
TestOut("W m_Registers.HcHCCA: 0x%X\n", m_Registers.HcHCCA);
// The standard says the minimum alignment is 256 bytes and so bits 0 through 7 are always zero
m_Registers.HcHCCA = Value & OHCI_HCCA_MASK;
break;
case 7: // HcPeriodCurrentED
// This register is read-only
TestOut("W m_Registers.HcPeriodCurrentED: 0x%X\n", Value);
// This register is read-only
break;
case 8: // HcControlHeadED
TestOut("W m_Registers.HcControlHeadED: 0x%X\n", Value);
m_Registers.HcControlHeadED = Value & OHCI_DPTR_MASK;
TestOut("W m_Registers.HcControlHeadED: 0x%X\n", m_Registers.HcControlHeadED);
case 8: // HcControlHeadED
m_Registers.HcControlHeadED = Value & OHCI_DPTR_MASK;
break;
case 9: // HcControlCurrentED
TestOut("W m_Registers.HcControlCurrentED: 0x%X\n", Value);
m_Registers.HcControlCurrentED = Value & OHCI_DPTR_MASK;
TestOut("W m_Registers.HcControlCurrentED: 0x%X\n", m_Registers.HcControlCurrentED);
case 9: // HcControlCurrentED
m_Registers.HcControlCurrentED = Value & OHCI_DPTR_MASK;
break;
case 10: // HcBulkHeadED
TestOut("W m_Registers.HcBulkHeadED: 0x%X\n", Value);
m_Registers.HcBulkHeadED = Value & OHCI_DPTR_MASK;
TestOut("W m_Registers.HcBulkHeadED: 0x%X\n", m_Registers.HcBulkHeadED);
case 10: // HcBulkHeadED
m_Registers.HcBulkHeadED = Value & OHCI_DPTR_MASK;
break;
case 11: // HcBulkCurrentED
TestOut("W m_Registers.HcBulkCurrentED: 0x%X\n", Value);
m_Registers.HcBulkCurrentED = Value & OHCI_DPTR_MASK;
TestOut("W m_Registers.HcBulkCurrentED: 0x%X\n", m_Registers.HcBulkCurrentED);
case 11: // HcBulkCurrentED
m_Registers.HcBulkCurrentED = Value & OHCI_DPTR_MASK;
break;
case 12: // HcDoneHead
TestOut("W m_Registers.HcDoneHead: 0x%X\n", Value);
case 12: // HcDoneHead
// This register is read-only
break;
case 13: // HcFmInterval
{
TestOut("W m_Registers.HcFmInterval: 0x%X\n", Value);
{
if ((Value & OHCI_FMI_FI) != (m_Registers.HcFmInterval & OHCI_FMI_FI)) {
DbgPrintf("%s: Changing frame interval duration. New value is %u\n", LOG_STR_OHCI, Value & OHCI_FMI_FI);
DbgPrintf("%s Changing frame interval duration. New value is %u\n", LOG_STR_OHCI, Value & OHCI_FMI_FI);
}
m_Registers.HcFmInterval = Value & ~0xC000;
TestOut("W m_Registers.HcFmInterval: 0x%X\n", m_Registers.HcFmInterval);
m_Registers.HcFmInterval = Value & ~0xC000;
}
break;
case 14: // HcFmRemaining
// This register is read-only
TestOut("W m_Registers.HcFmRemaining: 0x%X\n", Value);
// This register is read-only
break;
case 15: // HcFmNumber
// This register is read-only
TestOut("W m_Registers.HcFmNumber: 0x%X\n", Value);
// This register is read-only
break;
case 16: // HcPeriodicStart
TestOut("W m_Registers.HcPeriodicStart: 0x%X\n", Value);
m_Registers.HcPeriodicStart = Value & 0x3FFF;
TestOut("W m_Registers.HcPeriodicStart: 0x%X\n", m_Registers.HcPeriodicStart);
case 16: // HcPeriodicStart
m_Registers.HcPeriodicStart = Value & 0x3FFF;
break;
case 17: // HcLSThreshold
TestOut("W m_Registers.HcLSThreshold: 0x%X\n", Value);
m_Registers.HcLSThreshold = Value & 0xFFF;
TestOut("W m_Registers.HcLSThreshold: 0x%X\n", m_Registers.HcLSThreshold);
case 17: // HcLSThreshold
m_Registers.HcLSThreshold = Value & 0xFFF;
break;
case 18: // HcRhDescriptorA
TestOut("W m_Registers.HcRhDescriptorA: 0x%X\n", Value);
case 18: // HcRhDescriptorA
m_Registers.HcRhDescriptorA &= ~OHCI_RHA_RW_MASK;
m_Registers.HcRhDescriptorA |= Value & OHCI_RHA_RW_MASK; // ??
TestOut("W m_Registers.HcRhDescriptorA: 0x%X\n", m_Registers.HcRhDescriptorA);
m_Registers.HcRhDescriptorA |= Value & OHCI_RHA_RW_MASK; // ??
break;
case 19: // HcRhDescriptorB
TestOut("W m_Registers.HcRhDescriptorB: 0x%X\n", Value);
case 19: // HcRhDescriptorB
// Don't do anything, the attached devices are all removable and PowerSwitchingMode is always 0
break;
case 20: // HcRhStatus
TestOut("W m_Registers.HcRhStatus: 0x%X\n", Value);
OHCI_SetHubStatus(Value);
TestOut("W m_Registers.HcRhStatus: 0x%X\n", m_Registers.HcRhStatus);
case 20: // HcRhStatus
OHCI_SetHubStatus(Value);
break;
case 21: // RhPort 0
TestOut("W m_Registers.RhPort 0: 0x%X\n", Value);
OHCI_PortSetStatus(0, Value);
TestOut("W m_Registers.RhPort 0: 0x%X\n", m_Registers.RhPort[0].HcRhPortStatus);
case 21: // RhPort 0
OHCI_PortSetStatus(0, Value);
break;
case 22: // RhPort 1
TestOut("W m_Registers.RhPort 1: 0x%X\n", Value);
OHCI_PortSetStatus(1, Value);
TestOut("W m_Registers.RhPort 1: 0x%X\n", m_Registers.RhPort[1].HcRhPortStatus);
case 22: // RhPort 1
OHCI_PortSetStatus(1, Value);
break;
case 23: // RhPort 2
TestOut("W m_Registers.RhPort 2: 0x%X\n", Value);
case 23: // RhPort 2
OHCI_PortSetStatus(2, Value);
TestOut("W m_Registers.RhPort 2: 0x%X\n", m_Registers.RhPort[2].HcRhPortStatus);
break;
case 24: // RhPort 3
TestOut("W m_Registers.RhPort 3: 0x%X\n", Value);
case 24: // RhPort 3
OHCI_PortSetStatus(3, Value);
TestOut("W m_Registers.RhPort 3: 0x%X\n", m_Registers.RhPort[3].HcRhPortStatus);
break;
default:
EmuWarning("%s: Write register operation with bad offset %u. Ignoring.", LOG_STR_OHCI, Addr >> 2);
EmuWarning("%s Write register operation with bad offset %u. Ignoring.", LOG_STR_OHCI, Addr >> 2);
}
}
}
@ -1338,8 +1248,7 @@ void OHCI::OHCI_UpdateInterrupt()
{
if ((m_Registers.HcInterrupt & OHCI_INTR_MIE) && (m_Registers.HcInterruptStatus & m_Registers.HcInterrupt)) {
HalSystemInterrupts[1].Assert(false);
HalSystemInterrupts[1].Assert(true);
TestOut("Fired interrupt -> m_Registers.HcInterruptStatus is 0x%X\n", m_Registers.HcInterruptStatus);
HalSystemInterrupts[1].Assert(true);
}
}
@ -1406,7 +1315,7 @@ void OHCI::OHCI_SetHubStatus(uint32_t Value)
for (i = 0; i < 4; i++) {
OHCI_PortPower(i, 0);
}
DbgPrintf("%s: powered down all ports\n", LOG_STR_OHCI);
DbgPrintf("%s powered down all ports\n", LOG_STR_OHCI);
}
if (Value & OHCI_RHS_LPSC) {
@ -1415,7 +1324,7 @@ void OHCI::OHCI_SetHubStatus(uint32_t Value)
for (i = 0; i < 4; i++) {
OHCI_PortPower(i, 1);
}
DbgPrintf("%s: powered up all ports\n", LOG_STR_OHCI);
DbgPrintf("%s powered up all ports\n", LOG_STR_OHCI);
}
if (Value & OHCI_RHS_DRWE) {
@ -1464,11 +1373,11 @@ void OHCI::OHCI_PortSetStatus(int PortNum, uint32_t Value)
OHCI_PortSetIfConnected(PortNum, Value & OHCI_PORT_PES);
if (OHCI_PortSetIfConnected(PortNum, Value & OHCI_PORT_PSS)) {
DbgPrintf("%s: port %d: SUSPEND\n", LOG_STR_OHCI, PortNum);
DbgPrintf("%s port %d: SUSPEND\n", LOG_STR_OHCI, PortNum);
}
if (OHCI_PortSetIfConnected(PortNum, Value & OHCI_PORT_PRS)) {
DbgPrintf("%s: port %d: RESET\n", LOG_STR_OHCI, PortNum);
DbgPrintf("%s port %d: RESET\n", LOG_STR_OHCI, PortNum);
m_UsbDevice->USB_DeviceReset(port->UsbPort.Dev);
port->HcRhPortStatus &= ~OHCI_PORT_PRS;
// ??? Should this also set OHCI_PORT_PESC
@ -1520,9 +1429,7 @@ int OHCI::OHCI_PortSetIfConnected(int i, uint32_t Value)
void OHCI::OHCI_Detach(USBPort* Port)
{
OHCIPort* port = &m_Registers.RhPort[Port->PortIndex];
uint32_t old_state = port->HcRhPortStatus;
TestOut("OHCI_Detach\n");
uint32_t old_state = port->HcRhPortStatus;
OHCI_AsyncCancelDevice(Port->Dev);
@ -1538,7 +1445,7 @@ void OHCI::OHCI_Detach(USBPort* Port)
port->HcRhPortStatus |= OHCI_PORT_PESC;
}
DbgPrintf("%s: Detached port %d\n", LOG_STR_OHCI, Port->PortIndex);
DbgPrintf("%s Detached port %d\n", LOG_STR_OHCI, Port->PortIndex);
if (old_state != port->HcRhPortStatus) {
OHCI_SetInterrupt(OHCI_INTR_RHSC);
@ -1548,9 +1455,7 @@ void OHCI::OHCI_Detach(USBPort* Port)
void OHCI::OHCI_Attach(USBPort* Port)
{
OHCIPort* port = &m_Registers.RhPort[Port->PortIndex];
uint32_t old_state = port->HcRhPortStatus;
TestOut("OHCI_Attach\n");
uint32_t old_state = port->HcRhPortStatus;
// set connect status
port->HcRhPortStatus |= OHCI_PORT_CCS | OHCI_PORT_CSC;
@ -1568,7 +1473,7 @@ void OHCI::OHCI_Attach(USBPort* Port)
OHCI_SetInterrupt(OHCI_INTR_RD);
}
DbgPrintf("%s: Attached port %d\n", LOG_STR_OHCI, Port->PortIndex);
DbgPrintf("%s Attached port %d\n", LOG_STR_OHCI, Port->PortIndex);
if (old_state != port->HcRhPortStatus) {
OHCI_SetInterrupt(OHCI_INTR_RHSC);
@ -1576,25 +1481,23 @@ void OHCI::OHCI_Attach(USBPort* Port)
}
void OHCI::OHCI_ChildDetach(XboxDeviceState* child)
{
TestOut("OHCI_ChildDetach\n");
{
OHCI_AsyncCancelDevice(child);
}
void OHCI::OHCI_Wakeup(USBPort* port1)
{
TestOut("OHCI_Wakeup\n");
OHCIPort* port = &m_Registers.RhPort[port1->PortIndex];
uint32_t intr = 0;
if (port->HcRhPortStatus & OHCI_PORT_PSS) {
DbgPrintf("%s: port %d: wakeup\n", LOG_STR_OHCI, port1->PortIndex);
DbgPrintf("%s port %d: wakeup\n", LOG_STR_OHCI, port1->PortIndex);
port->HcRhPortStatus |= OHCI_PORT_PSSC;
port->HcRhPortStatus &= ~OHCI_PORT_PSS;
intr = OHCI_INTR_RHSC;
}
// Note that the controller can be suspended even if this port is not
if ((m_Registers.HcControl & OHCI_CTL_HCFS) == Suspend) {
DbgPrintf("%s: remote-wakeup: SUSPEND->RESUME\n", LOG_STR_OHCI);
DbgPrintf("%s remote-wakeup: SUSPEND->RESUME\n", LOG_STR_OHCI);
// From the standard: "The only interrupts possible in the USBSUSPEND state are ResumeDetected (the
// Host Controller will have changed the HostControllerFunctionalState to the USBRESUME state)
// and OwnershipChange."
@ -1629,7 +1532,7 @@ void OHCI::OHCI_ProcessLists(int completion)
// Only process the control list if it is enabled (HcControl) and has available TD's (HcCommandStatus)
if ((m_Registers.HcControl & OHCI_CTL_CLE) && (m_Registers.HcCommandStatus & OHCI_STATUS_CLF)) {
if (m_Registers.HcControlCurrentED && m_Registers.HcControlCurrentED != m_Registers.HcControlHeadED) {
DbgPrintf("%s: head 0x%X, current 0x%X\n",
DbgPrintf("%s head 0x%X, current 0x%X\n",
LOG_STR_OHCI, m_Registers.HcControlHeadED, m_Registers.HcControlCurrentED);
}
if (!OHCI_ServiceEDlist(m_Registers.HcControlHeadED, completion)) {
@ -1670,7 +1573,7 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
addr = ed->HeadP & OHCI_DPTR_MASK;
if (OHCI_ReadIsoTD(addr, &iso_td)) {
DbgPrintf("%s: ISO_TD read error at physical address 0x%X\n", LOG_STR_OHCI, addr);
DbgPrintf("%s ISO_TD read error at physical address 0x%X\n", LOG_STR_OHCI, addr);
OHCI_FatalError();
return 0;
}
@ -1701,13 +1604,13 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
if (relative_frame_number < 0) {
// From the standard: "If the relative frame number is negative, then the current frame is earlier than the 0th frame
// of the Isochronous TD and the Host Controller advances to the next ED."
DbgPrintf("%s: ISO_TD R=%d < 0\n", LOG_STR_OHCI, relative_frame_number);
DbgPrintf("%s ISO_TD R=%d < 0\n", LOG_STR_OHCI, relative_frame_number);
return 1;
}
else if (relative_frame_number > frame_count) {
// From the standard: "If the relative frame number is greater than
// FrameCount, then the Isochronous TD has expired and a error condition exists."
DbgPrintf("%s: ISO_TD R=%d > FC=%d\n", LOG_STR_OHCI, relative_frame_number, frame_count);
DbgPrintf("%s ISO_TD R=%d > FC=%d\n", LOG_STR_OHCI, relative_frame_number, frame_count);
OHCI_SET_BM(iso_td.Flags, TD_CC, OHCI_CC_DATAOVERRUN);
ed->HeadP &= ~OHCI_DPTR_MASK;
ed->HeadP |= (iso_td.NextTD & OHCI_DPTR_MASK);
@ -1748,12 +1651,12 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
pid = USB_TOKEN_SETUP;
break;
default:
EmuWarning("%s: Bad direction %d", LOG_STR_OHCI, dir);
EmuWarning("%s Bad direction %d", LOG_STR_OHCI, dir);
return 1;
}
if (!iso_td.BufferPage0 || !iso_td.BufferEnd) {
DbgPrintf("%s: ISO_TD bp 0x%.8X be 0x%.8X\n", LOG_STR_OHCI, iso_td.BufferPage0, iso_td.BufferEnd);
DbgPrintf("%s ISO_TD bp 0x%.8X be 0x%.8X\n", LOG_STR_OHCI, iso_td.BufferPage0, iso_td.BufferEnd);
return 1;
}
@ -1771,12 +1674,12 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
if (!(OHCI_BM(start_offset, TD_PSW_CC) & 0xE) ||
((relative_frame_number < frame_count) &&
!(OHCI_BM(next_offset, TD_PSW_CC) & 0xE))) {
DbgPrintf("%s: ISO_TD cc != not accessed 0x%.8x 0x%.8x\n", LOG_STR_OHCI, start_offset, next_offset);
DbgPrintf("%s ISO_TD cc != not accessed 0x%.8x 0x%.8x\n", LOG_STR_OHCI, start_offset, next_offset);
return 1;
}
if ((relative_frame_number < frame_count) && (start_offset > next_offset)) {
printf("%s: ISO_TD start_offset=0x%.8x > next_offset=0x%.8x\n", LOG_STR_OHCI, start_offset, next_offset);
printf("%s ISO_TD start_offset=0x%.8x > next_offset=0x%.8x\n", LOG_STR_OHCI, start_offset, next_offset);
return 1;
}
@ -1874,12 +1777,12 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
else {
// Handle the error condition
if (ret > static_cast<ptrdiff_t>(len)) { // Sequence Error
DbgPrintf("%s: DataOverrun %d > %zu\n", LOG_STR_OHCI, ret, len);
DbgPrintf("%s DataOverrun %d > %zu\n", LOG_STR_OHCI, ret, len);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_CC, OHCI_CC_DATAOVERRUN);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_SIZE, len);
}
else if (ret >= 0) { // Sequence Error
DbgPrintf("%s: DataUnderrun %d\n", LOG_STR_OHCI, ret);
DbgPrintf("%s DataUnderrun %d\n", LOG_STR_OHCI, ret);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_CC, OHCI_CC_DATAUNDERRUN);
}
else {
@ -1891,12 +1794,12 @@ int OHCI::OHCI_ServiceIsoTD(OHCI_ED* ed, int completion)
break;
case USB_RET_NAK: // NAK and STALL
case USB_RET_STALL:
DbgPrintf("%s: got NAK/STALL %d\n", LOG_STR_OHCI, ret);
DbgPrintf("%s got NAK/STALL %d\n", LOG_STR_OHCI, ret);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_CC, OHCI_CC_STALL);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_SIZE, 0);
break;
default: // Unknown Error
DbgPrintf("%s: Bad device response %d\n", LOG_STR_OHCI, ret);
DbgPrintf("%s Bad device response %d\n", LOG_STR_OHCI, ret);
OHCI_SET_BM(iso_td.Offset[relative_frame_number], TD_PSW_CC, OHCI_CC_UNDEXPETEDPID);
break;
}

View File

@ -178,8 +178,8 @@ class OHCI
int m_DoneCount;
// the address of the pending TD
xbaddr m_AsyncTD = xbnull;
// ergo720: I think it signals that a TD has been processed completely
bool m_AsyncComplete = 0;
// indicates if there is s a pending asynchronous packet to process
int m_AsyncComplete = 0;
// EOF callback wrapper
static void OHCI_FrameBoundaryWrapper(void* pVoid);

View File

@ -55,6 +55,9 @@ namespace xboxkrnl
#define SETUP_STATE_ACK 3
#define SETUP_STATE_PARAM 4
// Acknowledgment: XQEMU (GPLv2)
void USBDevice::Init(unsigned int address)
{
@ -203,10 +206,9 @@ void USBDevice::USB_PacketSetup(USBPacket* p, int Pid, USBEndpoint* Ep, unsigned
p->Stream = Stream;
p->Status = USB_RET_SUCCESS;
p->ActualLength = 0;
p->Parameter = 0;
p->Parameter = 0ULL;
p->ShortNotOK = ShortNotOK;
p->IntReq = IntReq;
p->Combined = nullptr;
IoVecReset(&p->IoVec);
p->State = USB_PACKET_SETUP;
}
@ -505,7 +507,7 @@ void USBDevice::DoTokenOut(XboxDeviceState* s, USBPacket* p)
void USBDevice::USB_PacketCopy(USBPacket* p, void* ptr, size_t bytes)
{
IOVector* iov = p->Combined ? &p->Combined->IoVec : &p->IoVec;
IOVector* iov = &p->IoVec;
assert(p->ActualLength >= 0);
assert(p->ActualLength + bytes <= iov->Size);

View File

@ -205,7 +205,7 @@ struct USBDescIface {
uint8_t ndesc; // number of device-specific class descriptors (if any)
USBDescOther* descs; // pointer to the extra class descriptors
const USBDescEndpoint* eps; // endpoints supported by this interface
const USBDescEndpoint* eps; // endpoints supported by this interface
};
/*
@ -415,12 +415,6 @@ struct XboxDeviceState {
const USBDescIface* Ifaces[USB_MAX_INTERFACES]; // interface in use
};
struct USBCombinedPacket {
USBPacket* First;
QTAILQ_HEAD(packets_head, USBPacket) Packets;
IOVector IoVec;
};
/* Structure used to hold information about an active USB packet */
struct USBPacket {
int Pid; // Packet ID (used to identify the type of packet that is being sent)
@ -435,9 +429,7 @@ struct USBPacket {
int ActualLength; // number of bytes actually written to DataBuffer
// Internal use by the USB layer
USBPacketState State;
USBCombinedPacket* Combined;
QTAILQ_ENTRY(USBPacket) Queue;
QTAILQ_ENTRY(USBPacket) CombinedEntry;
};
struct USBPortOps {

View File

@ -56,7 +56,11 @@ namespace xboxkrnl
#define HID_GET_REPORT 0x01
#define HID_SET_REPORT 0x09
#define XID_GET_CAPABILITIES 0x01
#define XID_GET_CAPABILITIES 0x01
// Acknowledgment: XQEMU (GPLv2)
// To avoid including Xbox.h
extern USBDevice* g_USB0;
@ -351,6 +355,7 @@ void XidGamepad::UsbXid_HandleControl(XboxDeviceState* dev, USBPacket* p,
// If the buffer has the correct length the full input data is transferred."
if (value == 0x0100) {
if (length <= m_XidState->in_state.bLength) {
#if 0 // Reenable this when LLE USB actually works
SDL2Devices* controller = g_InputDeviceManager->FindDeviceFromXboxPort(m_Port);
if (controller != nullptr) {
controller->ReadButtonState(&m_XidState->in_state.wButtons, m_XidState->in_state.bAnalogButtons,
@ -363,6 +368,7 @@ void XidGamepad::UsbXid_HandleControl(XboxDeviceState* dev, USBPacket* p,
p->Status = USB_RET_STALL;
assert(0);
}
#endif
std::memcpy(data, &m_XidState->in_state, m_XidState->in_state.bLength);
p->ActualLength = length;
}
@ -478,6 +484,7 @@ void XidGamepad::UsbXid_HandleData(XboxDeviceState* dev, USBPacket* p)
switch (p->Pid) {
case USB_TOKEN_IN: {
if (p->Endpoint->Num == 2) {
#if 0 // Reenable this when LLE USB actually works
SDL2Devices* controller = g_InputDeviceManager->FindDeviceFromXboxPort(m_Port);
if (controller != nullptr) {
bool ret;
@ -488,8 +495,10 @@ void XidGamepad::UsbXid_HandleData(XboxDeviceState* dev, USBPacket* p)
m_UsbDev->USB_PacketCopy(p, &m_XidState->in_state, m_XidState->in_state.bLength);
}
else {
#endif
p->Status = USB_RET_NAK;
}
#if 0 // Reenable this when LLE USB actually works
}
else {
p->Status = USB_RET_STALL;
@ -499,6 +508,7 @@ void XidGamepad::UsbXid_HandleData(XboxDeviceState* dev, USBPacket* p)
else {
assert(0);
}
#endif
break;
}