Skip to content
Permalink
Browse files
IntelCore initial commit
  • Loading branch information
ogamespec committed Apr 6, 2021
1 parent 166aef2 commit 1498cd4776c0f1d4a7558ab2ee86f80e8f8586d7
@@ -42,6 +42,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "ThirdParty\fmt\Scrip
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GX", "SRC\GX\Scripts\VS2019\GX.vcxproj", "{1386FC99-A29C-410C-B3D1-2A7E233F57D4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IntelCore", "SRC\IntelCore\Scripts\VS2019\IntelCore.vcxproj", "{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -170,6 +172,14 @@ Global
{1386FC99-A29C-410C-B3D1-2A7E233F57D4}.Release|x64.Build.0 = Release|x64
{1386FC99-A29C-410C-B3D1-2A7E233F57D4}.Release|x86.ActiveCfg = Release|Win32
{1386FC99-A29C-410C-B3D1-2A7E233F57D4}.Release|x86.Build.0 = Release|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x64.ActiveCfg = Debug|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x64.Build.0 = Debug|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x86.ActiveCfg = Debug|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x86.Build.0 = Debug|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x64.ActiveCfg = Release|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x64.Build.0 = Release|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x86.ActiveCfg = Release|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -189,6 +199,7 @@ Global
{C43F1C9F-177B-46A8-BE31-08189D25AD43} = {DE981B6F-2D7F-49B2-9888-8DA38A984894}
{768EB97B-424B-407E-B52C-B66465E9D169} = {53F8BE7B-8453-4891-9FF7-12A9C238E175}
{1386FC99-A29C-410C-B3D1-2A7E233F57D4} = {DE981B6F-2D7F-49B2-9888-8DA38A984894}
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F} = {DE981B6F-2D7F-49B2-9888-8DA38A984894}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB02B248-EDBB-4692-A6A8-AA3B81FB5511}
@@ -53,6 +53,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VideoNull", "SRC\Backends\V
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PadNull", "SRC\Backends\PadNull\Scripts\VS2019\PadNull.vcxproj", "{CFAABE07-9E8E-4343-A226-22D3692A94EC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IntelCore", "SRC\IntelCore\Scripts\VS2019\IntelCore.vcxproj", "{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -221,6 +223,14 @@ Global
{CFAABE07-9E8E-4343-A226-22D3692A94EC}.Release|Win32.Build.0 = Release|Win32
{CFAABE07-9E8E-4343-A226-22D3692A94EC}.Release|x64.ActiveCfg = Release|x64
{CFAABE07-9E8E-4343-A226-22D3692A94EC}.Release|x64.Build.0 = Release|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|Win32.ActiveCfg = Debug|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|Win32.Build.0 = Debug|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x64.ActiveCfg = Debug|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Debug|x64.Build.0 = Debug|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|Win32.ActiveCfg = Release|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|Win32.Build.0 = Release|Win32
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x64.ActiveCfg = Release|x64
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -246,6 +256,7 @@ Global
{37D58FB6-E50B-43E1-9A31-873741284F22} = {E9B80BA6-7AC3-496B-AF9C-0BAB2A99C0C9}
{17BA92CC-00AE-4488-96A6-4D73A8F1C38C} = {E9B80BA6-7AC3-496B-AF9C-0BAB2A99C0C9}
{CFAABE07-9E8E-4343-A226-22D3692A94EC} = {E9B80BA6-7AC3-496B-AF9C-0BAB2A99C0C9}
{01481D7E-EE3A-453B-8A98-1CB98DF87B5F} = {9A1AF1AF-D74F-467B-8BB6-878555324A2E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {07DC6F38-FBD1-4C75-B0E6-2249E585A95D}
@@ -89,6 +89,9 @@
<ProjectReference Include="..\..\..\HighLevel\Scripts\VS2019\GCNHighLevel.vcxproj">
<Project>{8b3f4adc-dc10-442c-bbba-8c5ba201fdbc}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\IntelCore\Scripts\VS2019\IntelCore.vcxproj">
<Project>{01481d7e-ee3a-453b-8a98-1cb98df87b5f}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@@ -89,6 +89,9 @@
<ProjectReference Include="..\..\..\HighLevel\Scripts\VS2019\GCNHighLevel.vcxproj">
<Project>{8b3f4adc-dc10-442c-bbba-8c5ba201fdbc}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\IntelCore\Scripts\VS2019\IntelCore.vcxproj">
<Project>{01481d7e-ee3a-453b-8a98-1cb98df87b5f}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@@ -0,0 +1,8 @@
// IntelCore public API

#pragma once

namespace IntelCore
{

}
@@ -0,0 +1,10 @@
# IntelCore

This component is a limited implementation of UVNA for Intel/AMD processors with x86/x64 architecture.
Support is implemented taking into account all the historical layers of this architecture so that the code can be reused in other projects.

You can read about the UVNA concept here: https://github.com/ogamespec/dolwin-docs/blob/master/EMU/UVNA_en.md

Specifically, IntelCore only implements the `Assembler` for now, which is used to recompile the Gekko code.

Such a name was chosen with a reserve that the rest of UVNA will be implemented here (for example, `Disassembler`).
@@ -0,0 +1,179 @@
<?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="..\..\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\IntelCore.h" />
<ClInclude Include="..\..\pch.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\Readme.md" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{01481d7e-ee3a-453b-8a98-1cb98df87b5f}</ProjectGuid>
<RootNamespace>IntelCore</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>
<OutDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\Output\</OutDir>
<IntDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\Output\</OutDir>
<IntDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\Output\</OutDir>
<IntDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\Output\</OutDir>
<IntDir>$(SolutionDir)Output\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>
</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>
</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>
</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>
</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,33 @@
<?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="..\..\pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\IntelCore.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\Readme.md" />
</ItemGroup>
</Project>
@@ -0,0 +1 @@
#include "pch.h"
@@ -0,0 +1,2 @@
#pragma once

0 comments on commit 1498cd4

Please sign in to comment.