mirror of
https://github.com/libretro/Mesen-S.git
synced 2024-11-23 08:19:40 +00:00
65816 core working in 6502 emulation mode
This commit is contained in:
commit
8ad76f6c31
5
.editorconfig
Normal file
5
.editorconfig
Normal file
@ -0,0 +1,5 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_size = 3
|
63
.gitattributes
vendored
Normal file
63
.gitattributes
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
197
.gitignore
vendored
Normal file
197
.gitignore
vendored
Normal file
@ -0,0 +1,197 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
.vs/*
|
||||
|
||||
# Build results
|
||||
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
build/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Oo]bj.x86/
|
||||
[Oo]bj.x64/
|
||||
|
||||
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
||||
!packages/*/build/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.log
|
||||
*.scc
|
||||
|
||||
# Libretro build files
|
||||
*.o
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
*.ncrunch*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.Publish.xml
|
||||
|
||||
# NuGet Packages Directory
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||
#packages/
|
||||
|
||||
# Windows Azure Build Output
|
||||
csx
|
||||
*.build.csdef
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
sql/
|
||||
*.Cache
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.[Pp]ublish.xml
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
App_Data/*.mdf
|
||||
App_Data/*.ldf
|
||||
|
||||
#LightSwitch generated files
|
||||
GeneratedArtifacts/
|
||||
_Pvt_Extensions/
|
||||
ModelManifest.xml
|
||||
|
||||
# =========================
|
||||
# Windows detritus
|
||||
# =========================
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Mac desktop service store files
|
||||
.DS_Store
|
||||
*.nes
|
||||
*.sav
|
||||
*.svs
|
||||
*.trt
|
||||
*.rar
|
||||
|
||||
*.VC.opendb
|
||||
*.VC.db
|
||||
*.VC.db-wal
|
||||
*.VC.db-shm
|
||||
|
||||
Docs/docs/
|
||||
Docs/*.exe
|
||||
|
||||
PGOHelper/PGOMesenHome
|
||||
*.profraw
|
||||
*.profdata
|
||||
|
||||
packages/*
|
||||
|
||||
!Libretro/hakchi/bin
|
||||
|
||||
Dependencies/*
|
||||
GUI.NET/*
|
||||
Windows/*
|
||||
Linux/*
|
||||
Libretro/*
|
||||
Docs/*
|
||||
SevenZip/*
|
||||
Lua/*
|
||||
TestHelper/*
|
||||
UpdateHelper/*
|
||||
Utilities/*
|
||||
PGOHelper/*
|
||||
DependencyPacker/*
|
||||
InteropDLL/*
|
528
Core/Core.vcxproj
Normal file
528
Core/Core.vcxproj
Normal file
@ -0,0 +1,528 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|x64">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Profile|Win32">
|
||||
<Configuration>PGO Profile</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Profile|x64">
|
||||
<Configuration>PGO Profile</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Cpu.h" />
|
||||
<ClInclude Include="CpuTypes.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Cpu.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>Core</RootNamespace>
|
||||
<ProjectName>Core</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<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 Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'" Label="PropertySheets">
|
||||
<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>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\</OutDir>
|
||||
<IntDir>obj\$(Platform)\PGO Profile\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\</OutDir>
|
||||
<IntDir>obj\$(Platform)\PGO Profile\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<Profile>
|
||||
</Profile>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>
|
||||
</InlineFunctionExpansion>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<Profile>
|
||||
</Profile>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
<BufferSecurityCheck>
|
||||
</BufferSecurityCheck>
|
||||
<ControlFlowGuard>false</ControlFlowGuard>
|
||||
<RuntimeTypeInfo>
|
||||
</RuntimeTypeInfo>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
<BufferSecurityCheck>
|
||||
</BufferSecurityCheck>
|
||||
<ControlFlowGuard>false</ControlFlowGuard>
|
||||
<RuntimeTypeInfo>
|
||||
</RuntimeTypeInfo>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
13
Core/Core.vcxproj.filters
Normal file
13
Core/Core.vcxproj.filters
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Cpu.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="CpuTypes.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
<ClCompile Include="Cpu.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
1292
Core/Cpu.cpp
Normal file
1292
Core/Cpu.cpp
Normal file
File diff suppressed because it is too large
Load Diff
232
Core/Cpu.h
Normal file
232
Core/Cpu.h
Normal file
@ -0,0 +1,232 @@
|
||||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "CpuTypes.h"
|
||||
|
||||
class Cpu
|
||||
{
|
||||
public:
|
||||
uint64_t opCount = 0;
|
||||
uint16_t GetPc() { return _state.PC; }
|
||||
|
||||
private:
|
||||
static constexpr uint32_t NmiVector = 0x00FFFA;
|
||||
static constexpr uint32_t ResetVector = 0x00FFFC;
|
||||
static constexpr uint32_t IrqVector = 0x00FFFE;
|
||||
static constexpr uint32_t AbortVector = 0x00FFE8;
|
||||
static constexpr uint32_t BreakVector = 0x00FFE6;
|
||||
static constexpr uint32_t CoprocessorVector = 0x00FFE4;
|
||||
|
||||
static constexpr uint16_t LegacyNmiVector = 0xFFFA;
|
||||
static constexpr uint32_t LegacyBreakVector = 0xFFFE;
|
||||
static constexpr uint32_t LegacyCoprocessorVector = 0x00FFF4;
|
||||
|
||||
typedef void(Cpu::*Func)();
|
||||
|
||||
CpuState _state;
|
||||
AddrMode _instAddrMode;
|
||||
uint32_t _operand;
|
||||
|
||||
uint8_t *_memory;
|
||||
|
||||
Func _opTable[256];
|
||||
AddrMode _addrMode[256];
|
||||
|
||||
uint32_t GetBank();
|
||||
uint32_t GetProgramAddress();
|
||||
uint16_t GetDirectAddress(uint8_t baseAddress, uint16_t offset = 0, bool allowEmulationMode = true);
|
||||
uint32_t GetDataAddress(uint16_t addr);
|
||||
uint8_t GetOpCode();
|
||||
|
||||
void DummyRead();
|
||||
|
||||
uint8_t ReadOperandByte();
|
||||
uint16_t ReadOperandWord();
|
||||
uint32_t ReadOperandLong();
|
||||
uint32_t FetchEffectiveAddress();
|
||||
|
||||
void SetRegister(uint8_t ®, uint8_t value);
|
||||
void SetRegister(uint16_t ®, uint16_t value, bool eightBitMode);
|
||||
|
||||
void SetZeroNegativeFlags(uint16_t value);
|
||||
void SetZeroNegativeFlags(uint8_t value);
|
||||
|
||||
void ClearFlags(uint8_t flags);
|
||||
void SetFlags(uint8_t flags);
|
||||
bool CheckFlag(uint8_t flag);
|
||||
|
||||
uint8_t ReadCode(uint16_t addr, MemoryOperationType type);
|
||||
uint8_t ReadData(uint32_t addr, MemoryOperationType type = MemoryOperationType::Read);
|
||||
uint16_t ReadDataWord(uint32_t addr, MemoryOperationType type = MemoryOperationType::Read);
|
||||
uint32_t ReadDataLong(uint32_t addr, MemoryOperationType type = MemoryOperationType::Read);
|
||||
|
||||
void Write(uint32_t addr, uint8_t value, MemoryOperationType type = MemoryOperationType::Write);
|
||||
void WriteWord(uint32_t addr, uint16_t value, MemoryOperationType type = MemoryOperationType::Write);
|
||||
|
||||
uint8_t GetByteValue();
|
||||
|
||||
uint16_t GetWordValue();
|
||||
|
||||
void PushByte(uint8_t value);
|
||||
uint8_t PopByte();
|
||||
|
||||
void PushWord(uint16_t value);
|
||||
uint16_t PopWord();
|
||||
|
||||
//Add/substract instructions
|
||||
void Add8(uint8_t value);
|
||||
void Add16(uint16_t value);
|
||||
void ADC();
|
||||
|
||||
void Sub8(uint8_t value);
|
||||
void Sub16(uint16_t value);
|
||||
void SBC();
|
||||
|
||||
//Branch instructions
|
||||
void BCC();
|
||||
void BCS();
|
||||
void BEQ();
|
||||
void BMI();
|
||||
void BNE();
|
||||
void BPL();
|
||||
void BRA();
|
||||
void BRL();
|
||||
void BVC();
|
||||
void BVS();
|
||||
void BranchRelative(bool branch);
|
||||
|
||||
//Set/clear flag instructions
|
||||
void CLC();
|
||||
void CLD();
|
||||
void CLI();
|
||||
void CLV();
|
||||
void SEC();
|
||||
void SED();
|
||||
void SEI();
|
||||
|
||||
void REP();
|
||||
void SEP();
|
||||
|
||||
//Increment/decrement instructions
|
||||
void DEX();
|
||||
void DEY();
|
||||
void INX();
|
||||
void INY();
|
||||
void DEC();
|
||||
void INC();
|
||||
|
||||
void IncDecReg(uint16_t & reg, int8_t offset);
|
||||
void IncDec(int8_t offset);
|
||||
|
||||
//Compare instructions
|
||||
void Compare(uint16_t reg, bool eightBitMode);
|
||||
void CMP();
|
||||
void CPX();
|
||||
void CPY();
|
||||
|
||||
//Jump instructions
|
||||
void JML();
|
||||
void JMP();
|
||||
void JSL();
|
||||
void JSR();
|
||||
void RTI();
|
||||
void RTL();
|
||||
void RTS();
|
||||
|
||||
//Interrupts
|
||||
void ProcessInterrupt(uint16_t vector);
|
||||
void BRK();
|
||||
void COP();
|
||||
|
||||
//Bitwise operations
|
||||
void AND();
|
||||
void EOR();
|
||||
void ORA();
|
||||
|
||||
template<typename T> T ShiftLeft(T value);
|
||||
template<typename T> T RollLeft(T value);
|
||||
template<typename T> T ShiftRight(T value);
|
||||
template<typename T> T RollRight(T value);
|
||||
|
||||
//Shift operations
|
||||
void ASL();
|
||||
void LSR();
|
||||
void ROL();
|
||||
void ROR();
|
||||
|
||||
//Move operations
|
||||
void MVN();
|
||||
void MVP();
|
||||
|
||||
//Push/pull instructions
|
||||
void PEA();
|
||||
void PEI();
|
||||
void PER();
|
||||
void PHB();
|
||||
void PHD();
|
||||
void PHK();
|
||||
void PHP();
|
||||
void PLB();
|
||||
void PLD();
|
||||
void PLP();
|
||||
|
||||
void PHA();
|
||||
void PHX();
|
||||
void PHY();
|
||||
void PLA();
|
||||
void PLX();
|
||||
void PLY();
|
||||
|
||||
void PushRegister(uint16_t reg, bool eightBitMode);
|
||||
void PullRegister(uint16_t ®, bool eightBitMode);
|
||||
|
||||
//Store/load instructions
|
||||
void LoadRegister(uint16_t ®, bool eightBitMode);
|
||||
void StoreRegister(uint16_t val, bool eightBitMode);
|
||||
|
||||
void LDA();
|
||||
void LDX();
|
||||
void LDY();
|
||||
|
||||
void STA();
|
||||
void STX();
|
||||
void STY();
|
||||
void STZ();
|
||||
|
||||
//Test bits
|
||||
template<typename T> void TestBits(T value);
|
||||
void BIT();
|
||||
|
||||
void TRB();
|
||||
void TSB();
|
||||
|
||||
//Transfer registers
|
||||
void TAX();
|
||||
void TAY();
|
||||
void TCD();
|
||||
void TCS();
|
||||
void TDC();
|
||||
void TSC();
|
||||
void TSX();
|
||||
void TXA();
|
||||
void TXS();
|
||||
void TXY();
|
||||
void TYA();
|
||||
void TYX();
|
||||
void XBA();
|
||||
void XCE();
|
||||
|
||||
//No operation
|
||||
void NOP();
|
||||
void WDM();
|
||||
|
||||
//Misc.
|
||||
void STP();
|
||||
void WAI();
|
||||
|
||||
public:
|
||||
Cpu(uint8_t* memory, bool enableLogging);
|
||||
~Cpu();
|
||||
|
||||
void Reset();
|
||||
void Exec();
|
||||
};
|
92
Core/CpuTypes.h
Normal file
92
Core/CpuTypes.h
Normal file
@ -0,0 +1,92 @@
|
||||
#pragma once
|
||||
#include "stdafx.h"
|
||||
|
||||
struct CpuState
|
||||
{
|
||||
uint64_t CycleCount;
|
||||
|
||||
uint16_t A;
|
||||
uint16_t X;
|
||||
uint16_t Y;
|
||||
|
||||
/* 16-bit stack pointer */
|
||||
uint16_t SP;
|
||||
|
||||
/* 16-bit Direct Register provides an address offset for all instructions using direct addressing */
|
||||
uint16_t D;
|
||||
|
||||
/* 16-bit Program Counter */
|
||||
uint16_t PC;
|
||||
|
||||
/* 8-bit Program Bank Register holds the bank address for all instruction fetches. */
|
||||
uint8_t K;
|
||||
|
||||
/* 8-bit Data Bank Register holds the bank address for memory transfers. The 24-bit address
|
||||
is composed of the 16-bit instruction effective address and the 8-bit Data Bank address */
|
||||
uint8_t DBR;
|
||||
|
||||
/* 8-bit status flags */
|
||||
uint8_t PS;
|
||||
|
||||
/* 6502 emulation mode */
|
||||
bool EmulationMode;
|
||||
};
|
||||
|
||||
namespace ProcFlags
|
||||
{
|
||||
enum ProcFlags : uint8_t
|
||||
{
|
||||
Carry = 0x01,
|
||||
Zero = 0x02,
|
||||
IrqDisable = 0x04,
|
||||
Decimal = 0x08,
|
||||
|
||||
/* Use 8-bit operations on indexes */
|
||||
IndexMode8 = 0x10,
|
||||
|
||||
/* Use 8-bit operations on memory accesses and accumulator */
|
||||
MemoryMode8 = 0x20,
|
||||
|
||||
Overflow = 0x40,
|
||||
Negative = 0x80
|
||||
};
|
||||
}
|
||||
|
||||
enum class AddrMode
|
||||
{
|
||||
Abs,
|
||||
AbsIdxXInd, //JMP/JSR only
|
||||
AbsIdxX,
|
||||
AbsIdxY,
|
||||
AbsInd, //JMP only
|
||||
AbsIndLng, //JMP only (unofficial)
|
||||
AbsLngIdxX,
|
||||
AbsLng,
|
||||
Acc,
|
||||
BlkMov,
|
||||
DirIdxIndX,
|
||||
DirIdxX,
|
||||
DirIdxY,
|
||||
DirIndIdxY,
|
||||
DirIndLngIdxY,
|
||||
DirIndLng,
|
||||
DirInd,
|
||||
Dir,
|
||||
Imm,
|
||||
Imp,
|
||||
RelLng,
|
||||
Rel,
|
||||
Stk,
|
||||
StkRel,
|
||||
StkRelIndIdxY
|
||||
};
|
||||
|
||||
enum class MemoryOperationType
|
||||
{
|
||||
Read = 0,
|
||||
Write = 1,
|
||||
ExecOpCode = 2,
|
||||
ExecOperand = 3,
|
||||
DummyRead = 5,
|
||||
DummyWrite = 6
|
||||
};
|
37
Core/main.cpp
Normal file
37
Core/main.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
#include "stdafx.h"
|
||||
#include "Cpu.h"
|
||||
#include "../Utilities/Timer.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
uint8_t* memory = new uint8_t[0x1000000];
|
||||
memset(memory, 0, 0x1000000);
|
||||
ifstream testRom("..\\bin\\x64\\Debug\\6502_functional_test_v2.bin", ios::binary);
|
||||
if(testRom) {
|
||||
testRom.read((char*)memory+0x400, 0x10000);
|
||||
}
|
||||
|
||||
shared_ptr<Cpu> cpu(new Cpu(memory, false));
|
||||
Timer timer;
|
||||
while(cpu->GetPc() != 0x32E9) {
|
||||
cpu->Exec();
|
||||
}
|
||||
|
||||
std::cout << "Time: " << std::to_string(timer.GetElapsedMS()) << std::endl;
|
||||
std::cout << "OP Count: " << std::to_string(cpu->opCount) << std::endl;
|
||||
std::cout << "OP/sec: " << std::to_string(cpu->opCount * 1000 / timer.GetElapsedMS()) << std::endl;
|
||||
/*
|
||||
memset(memory, 0, 0x1000000);
|
||||
ifstream testRom2("..\\bin\\x64\\Debug\\65C02_extended_opcodes_test.bin", ios::binary);
|
||||
if(testRom2) {
|
||||
testRom2.read((char*)memory, 0x10000);
|
||||
}
|
||||
|
||||
cpu.reset(new Cpu(memory, true));
|
||||
timer.Reset();
|
||||
while(true) {
|
||||
cpu->Exec();
|
||||
}
|
||||
*/
|
||||
while(true);
|
||||
}
|
1
Core/stdafx.cpp
Normal file
1
Core/stdafx.cpp
Normal file
@ -0,0 +1 @@
|
||||
#include "stdafx.h"
|
50
Core/stdafx.h
Normal file
50
Core/stdafx.h
Normal file
@ -0,0 +1,50 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
#include <memory>
|
||||
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <cctype>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
#include <array>
|
||||
#include <sstream>
|
||||
#include <list>
|
||||
#include <atomic>
|
||||
|
||||
#include "../Utilities/UTF8Util.h"
|
||||
|
||||
#ifdef __clang__
|
||||
#define __forceinline __attribute__((always_inline))
|
||||
#else
|
||||
#ifdef __GNUC__
|
||||
#define __forceinline
|
||||
#endif
|
||||
#endif
|
||||
|
||||
using std::vector;
|
||||
using std::shared_ptr;
|
||||
using std::unique_ptr;
|
||||
using std::weak_ptr;
|
||||
using std::ios;
|
||||
using std::istream;
|
||||
using std::ostream;
|
||||
using std::stringstream;
|
||||
using utf8::ifstream;
|
||||
using utf8::ofstream;
|
||||
using std::list;
|
||||
using std::max;
|
||||
using std::string;
|
||||
using std::atomic_flag;
|
||||
using std::atomic;
|
||||
|
||||
#ifdef _DEBUG
|
||||
#pragma comment(lib, "C:\\Code\\Mesen-S\\bin\\x64\\Debug\\Utilities.lib")
|
||||
#else
|
||||
#pragma comment(lib, "C:\\Code\\Mesen-S\\bin\\x64\\Release\\Utilities.lib")
|
||||
#endif
|
385
Mesen-S.sln
Normal file
385
Mesen-S.sln
Normal file
@ -0,0 +1,385 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2036
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core\Core.vcxproj", "{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D}
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1} = {B609E0A0-5050-4871-91D6-E760633BCDD1}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utilities", "Utilities\Utilities.vcxproj", "{B5330148-E8C7-46BA-B54E-69BE59EA337D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6} = {52C4BA3A-E699-4305-B23F-C9083FD07AB6}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GUI.NET", "GUI.NET\GUI.NET.csproj", "{08D83A7E-52A9-451E-A53A-1A7946F8BB77}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9} = {36ABBF1C-66E1-4577-828A-619A2EF0DAE9}
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9} = {AABB5225-3A49-47FF-8A48-031673CADCE9}
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19} = {37749BB2-FA78-4EC9-8990-5628FC0BBA19}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Windows", "Windows\Windows.vcxproj", "{7761E790-B42C-4179-8550-8365FF9EB23E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D}
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} = {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InteropDLL", "InteropDLL\InteropDLL.vcxproj", "{37749BB2-FA78-4EC9-8990-5628FC0BBA19}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D}
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E} = {7761E790-B42C-4179-8550-8365FF9EB23E}
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1} = {B609E0A0-5050-4871-91D6-E760633BCDD1}
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} = {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PGOHelper", "PGOHelper\PGOHelper.vcxproj", "{38D74EE1-5276-4D24-AABC-104B912A27D2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19} = {37749BB2-FA78-4EC9-8990-5628FC0BBA19}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestHelper", "TestHelper\TestHelper.vcxproj", "{2A607369-8B5D-494A-9E40-C5DC8D821AA3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19} = {37749BB2-FA78-4EC9-8990-5628FC0BBA19}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DependencyPacker", "DependencyPacker\DependencyPacker.csproj", "{AABB5225-3A49-47FF-8A48-031673CADCE9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19} = {37749BB2-FA78-4EC9-8990-5628FC0BBA19}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateHelper", "UpdateHelper\UpdateHelper.csproj", "{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SevenZip", "SevenZip\SevenZip.vcxproj", "{52C4BA3A-E699-4305-B23F-C9083FD07AB6}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Lua\Lua.vcxproj", "{B609E0A0-5050-4871-91D6-E760633BCDD1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Libretro", "Libretro\Libretro.vcxproj", "{4432139E-528B-44DE-961C-B37CD5E92E0E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D}
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} = {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Libretro|Any CPU = Libretro|Any CPU
|
||||
Libretro|x64 = Libretro|x64
|
||||
Libretro|x86 = Libretro|x86
|
||||
PGO Optimize|Any CPU = PGO Optimize|Any CPU
|
||||
PGO Optimize|x64 = PGO Optimize|x64
|
||||
PGO Optimize|x86 = PGO Optimize|x86
|
||||
PGO Profile|Any CPU = PGO Profile|Any CPU
|
||||
PGO Profile|x64 = PGO Profile|x64
|
||||
PGO Profile|x86 = PGO Profile|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x64.Build.0 = Debug|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.Build.0 = Debug|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Release|x64.ActiveCfg = Release|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Release|x64.Build.0 = Release|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Release|x86.ActiveCfg = Release|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Release|x86.Build.0 = Release|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x64.Build.0 = Debug|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Release|x64.ActiveCfg = Release|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Release|x64.Build.0 = Release|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Release|x86.Build.0 = Release|Win32
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x64.Build.0 = Debug|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.Build.0 = Debug|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x86.ActiveCfg = PGO Optimize|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x86.Build.0 = PGO Optimize|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|Any CPU.Build.0 = PGO Profile|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|x86.ActiveCfg = PGO Profile|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Profile|x86.Build.0 = PGO Profile|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|x64.ActiveCfg = Release|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|x64.Build.0 = Release|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|x86.ActiveCfg = Release|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Release|x86.Build.0 = Release|x86
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x64.Build.0 = Debug|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Release|x64.ActiveCfg = Release|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Release|x64.Build.0 = Release|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Release|x86.Build.0 = Release|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x64.Build.0 = Debug|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.Build.0 = Debug|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Release|x64.ActiveCfg = Release|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Release|x64.Build.0 = Release|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Release|x86.ActiveCfg = Release|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Release|x86.Build.0 = Release|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x64.Build.0 = Debug|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.Build.0 = Debug|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Release|x64.ActiveCfg = Release|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Release|x64.Build.0 = Release|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Release|x86.ActiveCfg = Release|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Release|x86.Build.0 = Release|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x64.Build.0 = Debug|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Release|x64.ActiveCfg = Release|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Release|x64.Build.0 = Release|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Release|x86.ActiveCfg = Release|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Release|x86.Build.0 = Release|Win32
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x64.Build.0 = Debug|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.Build.0 = Debug|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x86.ActiveCfg = PGO Optimize|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x86.Build.0 = PGO Optimize|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|Any CPU.Build.0 = PGO Profile|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|x86.ActiveCfg = PGO Profile|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Profile|x86.Build.0 = PGO Profile|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|x64.ActiveCfg = Release|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|x64.Build.0 = Release|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|x86.ActiveCfg = Release|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Release|x86.Build.0 = Release|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x64.Build.0 = Debug|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.Build.0 = Debug|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x86.ActiveCfg = PGO Optimize|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x86.Build.0 = PGO Optimize|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|Any CPU.Build.0 = PGO Profile|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|x86.ActiveCfg = PGO Profile|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Profile|x86.Build.0 = PGO Profile|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|x64.ActiveCfg = Release|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|x64.Build.0 = Release|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|x86.ActiveCfg = Release|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Release|x86.Build.0 = Release|x86
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x64.Build.0 = Debug|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.Build.0 = Debug|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Release|x64.ActiveCfg = Release|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Release|x64.Build.0 = Release|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Release|x86.ActiveCfg = Release|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Release|x86.Build.0 = Release|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x64.Build.0 = Debug|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x86.ActiveCfg = PGO Optimize|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x86.Build.0 = PGO Optimize|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Profile|Any CPU.ActiveCfg = PGO Profile|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Profile|x64.ActiveCfg = PGO Profile|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Profile|x64.Build.0 = PGO Profile|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Profile|x86.ActiveCfg = PGO Profile|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Profile|x86.Build.0 = PGO Profile|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x64.ActiveCfg = Release|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x64.Build.0 = Release|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.Build.0 = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|Any CPU.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x86.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|Any CPU.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x86.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x86.ActiveCfg = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {26BA923A-ECE6-4040-8BA4-C9B43DE004B4}
|
||||
EndGlobalSection
|
||||
GlobalSection(Performance) = preSolution
|
||||
HasPerformanceSessions = true
|
||||
EndGlobalSection
|
||||
EndGlobal
|
17
build.sh
Normal file
17
build.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
#This is a build script used for official releases which does not build the UI
|
||||
#Read the makefile and use "make" to build Mesen normally
|
||||
|
||||
if [ "$1" = libretro ]; then
|
||||
MESENPLATFORM=x64 make clean
|
||||
LTO=true MESENPLATFORM=x64 make libretro -j 16
|
||||
|
||||
MESENPLATFORM=x86 make clean
|
||||
LTO=true MESENPLATFORM=x86 make libretro -j 16
|
||||
else
|
||||
MESENPLATFORM=x64 BUILDTARGET=core ./buildPGO.sh
|
||||
MESENPLATFORM=x86 BUILDTARGET=core ./buildPGO.sh
|
||||
cp ./InteropDLL/obj.x64/libMesenCore.x64.dll ./bin/Any\ CPU/PGO\ Profile/Dependencies
|
||||
cp ./InteropDLL/obj.x86/libMesenCore.x86.dll ./bin/Any\ CPU/PGO\ Profile/Dependencies
|
||||
fi
|
66
buildPGO.sh
Normal file
66
buildPGO.sh
Normal file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This build is used to compile an instrumented version of the binary, run it, and then optimize the binary with the profiling data.
|
||||
# LTO is also enabled by default by this script.
|
||||
# On clang, this results in a +60% speed boost compared to using just "make" (w/o LTO)
|
||||
#
|
||||
# Rom files must be copied to the PGOHelper/PGOGames folder beforehand - all *.nes files in that folder will be executed as part of the profiling process.
|
||||
# Using a variety of roms is recommended (e.g different mappers, etc.)
|
||||
#
|
||||
# You can run this script via make:
|
||||
# For clang, run "make pgo"
|
||||
# For GCC, run "USE_GCC=true make pgo"
|
||||
#
|
||||
# Note: While GCC runs through this script just fine, the runtime performance is pretty terrible (something must be wrong with the way this is built)
|
||||
#
|
||||
# This will produce the following binary: bin/x64/Release/Mesen.exe
|
||||
if [ "$MESENPLATFORM" = x86 ]; then
|
||||
PLAT="x86"
|
||||
else
|
||||
PLAT="x64"
|
||||
fi
|
||||
|
||||
if [ "$BUILDTARGET" = libretro ]; then
|
||||
TARG="libretro"
|
||||
else
|
||||
TARG="core"
|
||||
fi
|
||||
|
||||
OBJ="PGOHelper/obj.${PLAT}/"
|
||||
FLAGS="LTO=true MESENPLATFORM=${PLAT}"
|
||||
|
||||
eval ${FLAGS} make clean
|
||||
|
||||
#create instrumented binary
|
||||
eval ${FLAGS} PGO=profile make ${TARG} -j 16
|
||||
eval ${FLAGS} PGO=profile make pgohelper -B
|
||||
eval cp bin/pgohelperlib.so ${OBJ}
|
||||
|
||||
#run the instrumented binary
|
||||
cd ${OBJ}
|
||||
./pgohelper
|
||||
cd ..
|
||||
|
||||
if [ "$USE_GCC" != true ]; then
|
||||
#clang-specific steps to convert the profiling data and clean the files
|
||||
llvm-profdata merge -output=pgo.profdata pgo.profraw
|
||||
cd ..
|
||||
eval ${FLAGS} make clean
|
||||
else
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [ "$BUILDTARGET" = "" ]; then
|
||||
TARG=""
|
||||
fi
|
||||
|
||||
#rebuild using the profiling data to optimize
|
||||
eval ${FLAGS} PGO=optimize make ${TARG} -j 16 -B
|
||||
|
||||
if [ "$USE_GCC" != true ]; then
|
||||
rm PGOHelper/pgo.profdata
|
||||
rm PGOHelper/pgo.profraw
|
||||
else
|
||||
rm ./*.gcda
|
||||
fi
|
||||
|
173
makefile
Normal file
173
makefile
Normal file
@ -0,0 +1,173 @@
|
||||
#Welcome to what must be the most terrible makefile ever (but hey, it works)
|
||||
#Both clang & gcc work fine - clang seems to output faster code
|
||||
#The only external dependency is SDL2 - everything else is pretty standard.
|
||||
#Run "make" to build, "make run" to run
|
||||
|
||||
#----------------------
|
||||
#Platform Configuration
|
||||
#----------------------
|
||||
#To specify whether you want to build for x86 or x64:
|
||||
#"MESENPLATFORM=x86 make" or "MESENPLATFORM=x64 make"
|
||||
#Default is x64
|
||||
|
||||
#-----------------------
|
||||
# Link Time Optimization
|
||||
#-----------------------
|
||||
#LTO is supported for clang and gcc (but only seems to help for clang?)
|
||||
#LTO gives a 25-30% performance boost, so use it whenever you can
|
||||
#Usage: LTO=true make
|
||||
|
||||
MESENFLAGS=
|
||||
libretro : MESENFLAGS=-D LIBRETRO
|
||||
|
||||
ifeq ($(USE_GCC),true)
|
||||
CPPC=g++
|
||||
CC=gcc
|
||||
PROFILE_GEN_FLAG=-fprofile-generate
|
||||
PROFILE_USE_FLAG=-fprofile-use
|
||||
else
|
||||
CPPC=clang++
|
||||
CC=clang
|
||||
PROFILE_GEN_FLAG = -fprofile-instr-generate=$(CURDIR)/PGOHelper/pgo.profraw
|
||||
PROFILE_USE_FLAG = -fprofile-instr-use=$(CURDIR)/PGOHelper/pgo.profdata
|
||||
endif
|
||||
|
||||
GCCOPTIONS=-fPIC -Wall --std=c++14 -O3 $(MESENFLAGS)
|
||||
CCOPTIONS=-fPIC -Wall -O3 $(MESENFLAGS)
|
||||
|
||||
ifeq ($(MESENPLATFORM),x86)
|
||||
MESENPLATFORM=x86
|
||||
|
||||
GCCOPTIONS += -m32
|
||||
CCOPTIONS += -m32
|
||||
else
|
||||
MESENPLATFORM=x64
|
||||
GCCOPTIONS += -m64
|
||||
CCOPTIONS += -m64
|
||||
endif
|
||||
|
||||
ifeq ($(LTO),true)
|
||||
CCOPTIONS += -flto
|
||||
GCCOPTIONS += -flto
|
||||
endif
|
||||
|
||||
ifeq ($(PGO),profile)
|
||||
CCOPTIONS += ${PROFILE_GEN_FLAG}
|
||||
GCCOPTIONS += ${PROFILE_GEN_FLAG}
|
||||
endif
|
||||
|
||||
ifeq ($(PGO),optimize)
|
||||
CCOPTIONS += ${PROFILE_USE_FLAG}
|
||||
GCCOPTIONS += ${PROFILE_USE_FLAG}
|
||||
endif
|
||||
|
||||
OBJFOLDER=obj.$(MESENPLATFORM)
|
||||
SHAREDLIB=libMesenCore.$(MESENPLATFORM).dll
|
||||
LIBRETROLIB=mesen_libretro.$(MESENPLATFORM).so
|
||||
RELEASEFOLDER=bin/$(MESENPLATFORM)/Release
|
||||
|
||||
COREOBJ=$(patsubst Core/%.cpp,Core/$(OBJFOLDER)/%.o,$(wildcard Core/*.cpp))
|
||||
UTILOBJ=$(patsubst Utilities/%.cpp,Utilities/$(OBJFOLDER)/%.o,$(wildcard Utilities/*.cpp)) $(patsubst Utilities/HQX/%.cpp,Utilities/$(OBJFOLDER)/%.o,$(wildcard Utilities/HQX/*.cpp)) $(patsubst Utilities/xBRZ/%.cpp,Utilities/$(OBJFOLDER)/%.o,$(wildcard Utilities/xBRZ/*.cpp)) $(patsubst Utilities/KreedSaiEagle/%.cpp,Utilities/$(OBJFOLDER)/%.o,$(wildcard Utilities/KreedSaiEagle/*.cpp)) $(patsubst Utilities/Scale2x/%.cpp,Utilities/$(OBJFOLDER)/%.o,$(wildcard Utilities/Scale2x/*.cpp))
|
||||
LINUXOBJ=$(patsubst Linux/%.cpp,Linux/$(OBJFOLDER)/%.o,$(wildcard Linux/*.cpp))
|
||||
SEVENZIPOBJ=$(patsubst SevenZip/%.c,SevenZip/$(OBJFOLDER)/%.o,$(wildcard SevenZip/*.c))
|
||||
LUAOBJ=$(patsubst Lua/%.c,Lua/$(OBJFOLDER)/%.o,$(wildcard Lua/*.c))
|
||||
|
||||
ifeq ($(SYSTEM_LIBEVDEV), true)
|
||||
LIBEVDEVLIB=$(shell pkg-config --libs libevdev)
|
||||
LIBEVDEVINC=$(shell pkg-config --cflags libevdev)
|
||||
else
|
||||
LIBEVDEVOBJ=$(patsubst Linux/libevdev/%.c,Linux/$(OBJFOLDER)/%.o,$(wildcard Linux/libevdev/*.c))
|
||||
LIBEVDEVINC=-I../
|
||||
endif
|
||||
SDL2LIB=$(shell sdl2-config --libs)
|
||||
SDL2INC=$(shell sdl2-config --cflags)
|
||||
FSLIB=-lstdc++fs
|
||||
|
||||
all: ui
|
||||
|
||||
ui: InteropDLL/$(OBJFOLDER)/$(SHAREDLIB)
|
||||
mkdir -p $(RELEASEFOLDER)/Dependencies
|
||||
rm -fr $(RELEASEFOLDER)/Dependencies/*
|
||||
cd UpdateHelper && msbuild /property:Configuration="Release" /property:Platform="AnyCPU"
|
||||
cp "bin/Any CPU/Release/MesenUpdater.exe" $(RELEASEFOLDER)/Dependencies/
|
||||
cp -r GUI.NET/Dependencies/* $(RELEASEFOLDER)/Dependencies/
|
||||
cp InteropDLL/$(OBJFOLDER)/$(SHAREDLIB) $(RELEASEFOLDER)/Dependencies/$(SHAREDLIB)
|
||||
cd $(RELEASEFOLDER)/Dependencies && zip -r ../Dependencies.zip *
|
||||
cd GUI.NET && msbuild /property:Configuration="Release" /property:Platform="$(MESENPLATFORM)" /property:PreBuildEvent="" '/property:DefineConstants="HIDETESTMENU;DISABLEAUTOUPDATE"' /property:CodeAnalysisRuleSet=""
|
||||
|
||||
libretro: Libretro/$(OBJFOLDER)/$(LIBRETROLIB)
|
||||
mkdir -p bin
|
||||
cp ./Libretro/$(OBJFOLDER)/$(LIBRETROLIB) ./bin/
|
||||
|
||||
core: InteropDLL/$(OBJFOLDER)/$(SHAREDLIB)
|
||||
|
||||
runtests:
|
||||
cd TestHelper/$(OBJFOLDER) && ./testhelper
|
||||
|
||||
rungametests:
|
||||
cd TestHelper/$(OBJFOLDER) && ./testhelper ~/Mesen/TestGames
|
||||
|
||||
testhelper: InteropDLL/$(OBJFOLDER)/$(SHAREDLIB)
|
||||
mkdir -p TestHelper/$(OBJFOLDER)
|
||||
$(CPPC) $(GCCOPTIONS) -Wl,-z,defs -o testhelper TestHelper/*.cpp InteropDLL/ConsoleWrapper.cpp $(SEVENZIPOBJ) $(LUAOBJ) $(LINUXOBJ) $(LIBEVDEVOBJ) $(UTILOBJ) $(COREOBJ) -pthread $(FSLIB) $(SDL2LIB) $(LIBEVDEVLIB)
|
||||
mv testhelper TestHelper/$(OBJFOLDER)
|
||||
|
||||
pgohelper:
|
||||
mkdir -p PGOHelper/$(OBJFOLDER) && cd PGOHelper/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -Wl,-z,defs -o pgohelper ../PGOHelper.cpp ../../bin/pgohelperlib.so -pthread $(FSLIB) $(SDL2LIB) $(LIBEVDEVLIB)
|
||||
|
||||
SevenZip/$(OBJFOLDER)/%.o: SevenZip/%.c
|
||||
mkdir -p SevenZip/$(OBJFOLDER) && cd SevenZip/$(OBJFOLDER) && $(CC) $(CCOPTIONS) -c $(patsubst SevenZip/%, ../%, $<)
|
||||
Lua/$(OBJFOLDER)/%.o: Lua/%.c
|
||||
mkdir -p Lua/$(OBJFOLDER) && cd Lua/$(OBJFOLDER) && $(CC) $(CCOPTIONS) -c $(patsubst Lua/%, ../%, $<)
|
||||
Utilities/$(OBJFOLDER)/%.o: Utilities/%.cpp
|
||||
mkdir -p Utilities/$(OBJFOLDER) && cd Utilities/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Utilities/%, ../%, $<)
|
||||
Utilities/$(OBJFOLDER)/%.o: Utilities/HQX/%.cpp
|
||||
mkdir -p Utilities/$(OBJFOLDER) && cd Utilities/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Utilities/%, ../%, $<)
|
||||
Utilities/$(OBJFOLDER)/%.o: Utilities/xBRZ/%.cpp
|
||||
mkdir -p Utilities/$(OBJFOLDER) && cd Utilities/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Utilities/%, ../%, $<)
|
||||
Utilities/$(OBJFOLDER)/%.o: Utilities/KreedSaiEagle/%.cpp
|
||||
mkdir -p Utilities/$(OBJFOLDER) && cd Utilities/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Utilities/%, ../%, $<)
|
||||
Utilities/$(OBJFOLDER)/%.o: Utilities/Scale2x/%.cpp
|
||||
mkdir -p Utilities/$(OBJFOLDER) && cd Utilities/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Utilities/%, ../%, $<)
|
||||
Core/$(OBJFOLDER)/%.o: Core/%.cpp
|
||||
mkdir -p Core/$(OBJFOLDER) && cd Core/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Core/%, ../%, $<)
|
||||
Linux/$(OBJFOLDER)/%.o: Linux/%.cpp
|
||||
mkdir -p Linux/$(OBJFOLDER) && cd Linux/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -c $(patsubst Linux/%, ../%, $<) $(SDL2INC) $(LIBEVDEVINC)
|
||||
Linux/$(OBJFOLDER)/%.o: Linux/libevdev/%.c
|
||||
mkdir -p Linux/$(OBJFOLDER) && cd Linux/$(OBJFOLDER) && $(CC) $(CCOPTIONS) -c $(patsubst Linux/%, ../%, $<)
|
||||
|
||||
InteropDLL/$(OBJFOLDER)/$(SHAREDLIB): $(SEVENZIPOBJ) $(LUAOBJ) $(UTILOBJ) $(COREOBJ) $(LIBEVDEVOBJ) $(LINUXOBJ) InteropDLL/ConsoleWrapper.cpp InteropDLL/DebugWrapper.cpp
|
||||
mkdir -p InteropDLL/$(OBJFOLDER)
|
||||
$(CPPC) $(GCCOPTIONS) -Wl,-z,defs -shared -o $(SHAREDLIB) InteropDLL/*.cpp $(SEVENZIPOBJ) $(LUAOBJ) $(LINUXOBJ) $(LIBEVDEVOBJ) $(UTILOBJ) $(COREOBJ) $(SDL2INC) -pthread $(FSLIB) $(SDL2LIB) $(LIBEVDEVLIB)
|
||||
cp $(SHAREDLIB) bin/pgohelperlib.so
|
||||
mv $(SHAREDLIB) InteropDLL/$(OBJFOLDER)
|
||||
|
||||
Libretro/$(OBJFOLDER)/$(LIBRETROLIB): $(SEVENZIPOBJ) $(UTILOBJ) $(COREOBJ) $(LUAOBJ) Libretro/libretro.cpp
|
||||
mkdir -p Libretro/$(OBJFOLDER)
|
||||
$(CPPC) $(GCCOPTIONS) -Wl,-z,defs -shared -o $(LIBRETROLIB) Libretro/*.cpp $(SEVENZIPOBJ) $(UTILOBJ) $(COREOBJ) $(LUAOBJ) -pthread $(FSLIB)
|
||||
cp $(LIBRETROLIB) bin/pgohelperlib.so
|
||||
mv $(LIBRETROLIB) Libretro/$(OBJFOLDER)
|
||||
|
||||
pgo:
|
||||
./buildPGO.sh
|
||||
|
||||
official:
|
||||
./build.sh
|
||||
|
||||
debug:
|
||||
MONO_LOG_LEVEL=debug mono $(RELEASEFOLDER)/Mesen.exe
|
||||
|
||||
run:
|
||||
mono $(RELEASEFOLDER)/Mesen.exe
|
||||
|
||||
clean:
|
||||
rm -rf Lua/$(OBJFOLDER)
|
||||
rm -rf SevenZip/$(OBJFOLDER)
|
||||
rm -rf Utilities/$(OBJFOLDER)
|
||||
rm -rf Core/$(OBJFOLDER)
|
||||
rm -rf Linux/$(OBJFOLDER)
|
||||
rm -rf InteropDLL/$(OBJFOLDER)
|
||||
rm -rf Libretro/$(OBJFOLDER)
|
||||
rm -rf TestHelper/$(OBJFOLDER)
|
||||
rm -rf PGOHelper/$(OBJFOLDER)
|
||||
rm -rf $(RELEASEFOLDER)
|
Loading…
Reference in New Issue
Block a user