Initial project setup with rabbitizer submodule

This commit is contained in:
Mr-Wiseguy 2022-11-15 19:55:48 -05:00
commit e48fdabdae
9 changed files with 641 additions and 0 deletions

34
.gitignore vendored Normal file
View file

@ -0,0 +1,34 @@
# VSCode file settings
.vscode/settings.json
# Linux build output
build/
*.o
# Windows build output
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "lib/rabbitizer"]
path = lib/rabbitizer
url = https://github.com/Decompollaborate/rabbitizer

41
RecompPort.sln Normal file
View file

@ -0,0 +1,41 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32929.386
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RecompPort", "RecompPort.vcxproj", "{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Rabbitizer", "lib\Rabbitizer.vcxproj", "{17BE354C-2B15-4175-8535-7D0D046217A6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Debug|x64.ActiveCfg = Debug|x64
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Debug|x64.Build.0 = Debug|x64
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Debug|x86.ActiveCfg = Debug|Win32
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Debug|x86.Build.0 = Debug|Win32
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Release|x64.ActiveCfg = Release|x64
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Release|x64.Build.0 = Release|x64
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Release|x86.ActiveCfg = Release|Win32
{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}.Release|x86.Build.0 = Release|Win32
{17BE354C-2B15-4175-8535-7D0D046217A6}.Debug|x64.ActiveCfg = Debug|x64
{17BE354C-2B15-4175-8535-7D0D046217A6}.Debug|x64.Build.0 = Debug|x64
{17BE354C-2B15-4175-8535-7D0D046217A6}.Debug|x86.ActiveCfg = Debug|Win32
{17BE354C-2B15-4175-8535-7D0D046217A6}.Debug|x86.Build.0 = Debug|Win32
{17BE354C-2B15-4175-8535-7D0D046217A6}.Release|x64.ActiveCfg = Release|x64
{17BE354C-2B15-4175-8535-7D0D046217A6}.Release|x64.Build.0 = Release|x64
{17BE354C-2B15-4175-8535-7D0D046217A6}.Release|x86.ActiveCfg = Release|Win32
{17BE354C-2B15-4175-8535-7D0D046217A6}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {060DB2CD-23B2-4BDA-82D2-ACAC7BB5450B}
EndGlobalSection
EndGlobal

137
RecompPort.vcxproj Normal file
View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{23C26E84-DC01-43A6-B11B-0B4A2D79A5DD}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)lib\rabbitizer\include;$(SolutionDir)lib\rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)lib\rabbitizer\include;$(SolutionDir)lib\rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)lib\rabbitizer\include;$(SolutionDir)lib\rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)lib\rabbitizer\include;$(SolutionDir)lib\rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="lib\Rabbitizer.vcxproj">
<Project>{17be354c-2b15-4175-8535-7d0d046217a6}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

197
lib/Rabbitizer.vcxproj Normal file
View file

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="rabbitizer\cplusplus\src\analysis\LoPairingInfo.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\analysis\RegistersTracker.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstrId.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionBase.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionCpu.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionR5900.cpp" />
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionRsp.cpp" />
<ClCompile Include="rabbitizer\src\analysis\RabbitizerLoPairingInfo.c" />
<ClCompile Include="rabbitizer\src\analysis\RabbitizerRegistersTracker.c" />
<ClCompile Include="rabbitizer\src\analysis\RabbitizerTrackedRegisterState.c" />
<ClCompile Include="rabbitizer\src\common\RabbitizerConfig.c" />
<ClCompile Include="rabbitizer\src\common\RabbitizerVersion.c" />
<ClCompile Include="rabbitizer\src\common\Utils.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrCategory.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrDescriptor.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrId.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrSuffix.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionCpu\RabbitizerInstructionCpu_OperandType.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900_OperandType.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900_ProcessUniqueId.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp_OperandType.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp_ProcessUniqueId.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_Disassemble.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_Examination.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_ProcessUniqueId.c" />
<ClCompile Include="rabbitizer\src\instructions\RabbitizerRegister.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="rabbitizer\cplusplus\include\analysis\LoPairingInfo.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\analysis\RegistersTracker.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\AccessType.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstrId.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionBase.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionCpu.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionR5900.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionRsp.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\OperandType.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\instructions\Registers.hpp" />
<ClInclude Include="rabbitizer\cplusplus\include\rabbitizer.hpp" />
<ClInclude Include="rabbitizer\include\analysis\RabbitizerLoPairingInfo.h" />
<ClInclude Include="rabbitizer\include\analysis\RabbitizerRegistersTracker.h" />
<ClInclude Include="rabbitizer\include\analysis\RabbitizerTrackedRegisterState.h" />
<ClInclude Include="rabbitizer\include\common\RabbitizerConfig.h" />
<ClInclude Include="rabbitizer\include\common\RabbitizerVersion.h" />
<ClInclude Include="rabbitizer\include\common\Utils.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerAccessType.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrCategory.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrDescriptor.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrId.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrSuffix.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstruction.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstructionR5900.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstructionRsp.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerOperandType.h" />
<ClInclude Include="rabbitizer\include\instructions\RabbitizerRegister.h" />
<ClInclude Include="rabbitizer\include\rabbitizer.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{17be354c-2b15-4175-8535-7d0d046217a6}</ProjectGuid>
<RootNamespace>Rabbitizer</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Link>
<SubSystem>
</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)rabbitizer\include;$(ProjectDir)rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Link>
<SubSystem>
</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)rabbitizer\include;$(ProjectDir)rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Link>
<SubSystem>
</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)rabbitizer\include;$(ProjectDir)rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Link>
<SubSystem>
</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)rabbitizer\include;$(ProjectDir)rabbitizer\cplusplus\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="rabbitizer\src\common\RabbitizerConfig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\common\RabbitizerVersion.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\common\Utils.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\analysis\RabbitizerLoPairingInfo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\analysis\RabbitizerRegistersTracker.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\analysis\RabbitizerTrackedRegisterState.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrCategory.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrDescriptor.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrId.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstrSuffix.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerRegister.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_Disassemble.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_Examination.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstruction\RabbitizerInstruction_ProcessUniqueId.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionCpu\RabbitizerInstructionCpu_OperandType.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900_OperandType.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionR5900\RabbitizerInstructionR5900_ProcessUniqueId.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp_OperandType.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\src\instructions\RabbitizerInstructionRsp\RabbitizerInstructionRsp_ProcessUniqueId.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstrId.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionCpu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionR5900.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\instructions\InstructionRsp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\analysis\LoPairingInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="rabbitizer\cplusplus\src\analysis\RegistersTracker.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerAccessType.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrCategory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrDescriptor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrId.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstrSuffix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstruction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstructionR5900.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerInstructionRsp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerOperandType.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\instructions\RabbitizerRegister.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\common\Utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\common\RabbitizerConfig.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\common\RabbitizerVersion.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\analysis\RabbitizerTrackedRegisterState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\analysis\RabbitizerRegistersTracker.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\analysis\RabbitizerLoPairingInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\include\rabbitizer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\rabbitizer.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\Registers.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\OperandType.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionRsp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionR5900.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionBase.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstructionCpu.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\InstrId.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\instructions\AccessType.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\analysis\RegistersTracker.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="rabbitizer\cplusplus\include\analysis\LoPairingInfo.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

1
lib/rabbitizer Submodule

@ -0,0 +1 @@
Subproject commit 54f997607c62d8c1c5316ef414adf17f5c060797

14
src/main.cpp Normal file
View file

@ -0,0 +1,14 @@
#include "rabbitizer.hpp"
#include <cstdio>
int main(int argc, char** argv) {
uint32_t word = 0x8D4A7E18; // lw
uint32_t vram = 0x80000000;
int extraLJust = 5;
rabbitizer::InstructionCpu instr(word, vram);
printf("%08X: %s\n", word, instr.disassemble(extraLJust).c_str());
return 0;
}