Guo Hui 6 år sedan
förälder
incheckning
7d979fd598

+ 7 - 0
src/Chino.Chip.Emulator/Chino.Chip.Emulator.csproj

@@ -0,0 +1,7 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+</Project>

+ 16 - 0
src/Chino.Chip.Emulator/ChipControl.cs

@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+using System.Text;
+
+namespace Chino
+{
+    public static class ChipControl
+    {
+        [MethodImpl(MethodImplOptions.InternalCall)]
+        public static extern void Initialize();
+
+        [MethodImpl(MethodImplOptions.InternalCall)]
+        public static extern void Write(string message);
+    }
+}

+ 19 - 0
src/Chino.Chip.K210/ChipControl.cs

@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Chino.Chip.K210.HAL.Serial;
+
+namespace Chino
+{
+    public static class ChipControl
+    {
+        public static void Initialize()
+        {
+        }
+
+        public static void Write(string message)
+        {
+            Uarths.DebugWrite(message);
+        }
+    }
+}

+ 10 - 0
src/Chino.Core/Devices/IO/ISerial.cs

@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Chino.Devices.IO
+{
+    public interface ISerial
+    {
+    }
+}

+ 7 - 1
src/Chino.Kernel/Chino.Kernel.csproj

@@ -5,10 +5,16 @@
     <TargetFramework>netcoreapp3.0</TargetFramework>
     <OutputPath>$(SolutionDir)../out/bin/</OutputPath>
     <RootNamespace>Chino</RootNamespace>
+    <Platforms>AnyCPU;Emulator;KD233</Platforms>
   </PropertyGroup>
 
-  <ItemGroup>
+  <ItemGroup Condition="'$(Platform)'=='Emulator'">
+    <ProjectReference Include="..\Chino.Chip.Emulator\Chino.Chip.Emulator.csproj" />
+  </ItemGroup>
+
+  <ItemGroup Condition="'$(Platform)'=='KD233'">
     <ProjectReference Include="..\Chino.Chip.K210\Chino.Chip.K210.csproj" />
   </ItemGroup>
 
+
 </Project>

+ 1 - 2
src/Chino.Kernel/KernelDebug.cs

@@ -1,5 +1,4 @@
 using System;
-using Chino.Chip.K210.HAL.Serial;
 
 namespace Chino.Kernel
 {
@@ -7,7 +6,7 @@ namespace Chino.Kernel
     {
         private static void Write(string message)
         {
-            Uarths.DebugWrite(message);
+            ChipControl.Write(message);
         }
     }
 }

+ 2 - 0
src/Chino.Kernel/Program.cs

@@ -8,6 +8,8 @@ namespace Chino.Kernel
     {
         static void Main()
         {
+            ChipControl.Initialize();
+
             var terminal = new Terminal();
 
             terminal.Foreground(TerminalColor.White)

+ 0 - 0
src/Native/arch/emulator/crt.S


+ 16 - 0
src/Native/arch/emulator/crt.cpp

@@ -0,0 +1,16 @@
+#include "Chino.Chip.Emulator.h"
+#include <Windows.h>
+
+using namespace natsu;
+using namespace System_Runtime::System;
+using namespace Chino_Chip_Emulator::Chino;
+
+void ChipControl::_s_Initialize()
+{
+    system(" ");
+}
+
+void ChipControl::_s_Write(gc_obj_ref<String> message)
+{
+    WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &message->_firstChar, message->_stringLength, nullptr, nullptr);
+}

+ 1 - 3
src/Native/main.cpp

@@ -1,4 +1,5 @@
 #include "Generated/Chino.Kernel.h"
+#include <algorithm>
 
 using namespace Chino_Kernel::Chino::Kernel;
 
@@ -6,9 +7,6 @@ void InitializeHeap() noexcept;
 
 int main()
 {
-#ifdef WIN32
-    system(" ");
-#endif
     InitializeHeap();
     Program::_s_Main();
     return 0;

+ 0 - 21
src/Native/natsu.fcall.cpp

@@ -2,10 +2,6 @@
 #include <cmath>
 #include <cstring>
 
-#ifdef WIN32
-#include <Windows.h>
-#endif
-
 using namespace natsu;
 using namespace System_Private_CorLib;
 using namespace System_Private_CorLib::System;
@@ -58,35 +54,18 @@ void Buffer::_s_Memcpy(gc_ptr<Byte> dest, gc_ptr<Byte> src, Int32 len)
 
 void Debug::_s_WriteCore(gc_obj_ref<String> message)
 {
-#ifdef WIN32
-    assert(message);
-    WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &message->_firstChar, message->_stringLength, nullptr, nullptr);
-#else
     Chino_Kernel::Chino::Kernel::KernelDebug::_s_Write(message);
-#endif
 }
 
 void Debug::_s_WriteLineCore(gc_obj_ref<String> message)
 {
-#ifdef WIN32
-    static const char16_t new_line[] = u"\n";
-    assert(message);
-    WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &message->_firstChar, message->_stringLength, nullptr, nullptr);
-    WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), new_line, 1, nullptr, nullptr);
-#else
     Chino_Kernel::Chino::Kernel::KernelDebug::_s_Write(message);
     Chino_Kernel::Chino::Kernel::KernelDebug::_s_Write(::System_Private_CorLib::System::Environment::_s_get_NewLine());
-#endif
 }
 
 void Debug::_s_FailCore(gc_obj_ref<String> message, gc_obj_ref<String> detailMessage)
 {
-#ifdef WIN32
-    assert(message);
-    WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), &message->_firstChar, message->_stringLength, nullptr, nullptr);
-#else
     Chino_Kernel::Chino::Kernel::KernelDebug::_s_Write(message);
-#endif
 }
 
 void Buffer::_s_Memmove(gc_ptr<Byte> dest, gc_ptr<Byte> src, UInt64 len)

+ 0 - 2
src/Natsu.Compiler/ILImporter.cs

@@ -208,8 +208,6 @@ namespace Natsu.Compiler
 
         private SpillSlot AddSpillSlot(StackEntry stackEntry)
         {
-            if (stackEntry.Type.Code == StackTypeCode.Runtime)
-                ;
             var slot = new SpillSlot { Name = "_s" + _spillSlots.Count.ToString(), Entry = stackEntry };
             _spillSlots.Add(slot);
             return slot;

+ 3 - 2
src/Natsu.Compiler/Program.cs

@@ -15,8 +15,9 @@ namespace Natsu.Compiler
         private static readonly string[] _modulePaths = new[]
         {
             @"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Kernel.dll",
-            //@"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Core.dll",
-            //@"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Chip.K210.dll",
+            @"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Core.dll",
+            @"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Chip.K210.dll",
+            @"..\..\..\..\..\out\bin\netcoreapp3.0\Chino.Chip.Emulator.dll",
             //@"..\..\..\..\..\out\bin\netcoreapp3.0\System.Private.CorLib.dll",
             //@"..\..\..\..\..\out\bin\netcoreapp3.0\System.Runtime.dll",
             //@"..\..\..\..\..\out\bin\netcoreapp3.0\System.Diagnostics.Debug.dll",

+ 93 - 3
src/Natsu.sln

@@ -20,54 +20,144 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Diagnostics.Debug",
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ResX2CS", "ResX2CS\ResX2CS.csproj", "{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chino.Chip.K210", "Chino.Chip.K210\Chino.Chip.K210.csproj", "{C4408589-968A-43B3-83A6-AF02D1BAA293}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chino.Chip.K210", "Chino.Chip.K210\Chino.Chip.K210.csproj", "{C4408589-968A-43B3-83A6-AF02D1BAA293}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chino.Core", "Chino.Core\Chino.Core.csproj", "{20176878-F31F-4D92-918C-9FD58CDD7480}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chino.Core", "Chino.Core\Chino.Core.csproj", "{20176878-F31F-4D92-918C-9FD58CDD7480}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.InteropServices", "System.Runtime.InteropServices\System.Runtime.InteropServices.csproj", "{D261F7EB-5A98-4D47-B34B-D13B27A6988E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Runtime.InteropServices", "System.Runtime.InteropServices\System.Runtime.InteropServices.csproj", "{D261F7EB-5A98-4D47-B34B-D13B27A6988E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chino.Chip.Emulator", "Chino.Chip.Emulator\Chino.Chip.Emulator.csproj", "{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
+		Debug|Emulator = Debug|Emulator
+		Debug|KD233 = Debug|KD233
 		Release|Any CPU = Release|Any CPU
+		Release|Emulator = Release|Emulator
+		Release|KD233 = Release|KD233
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Debug|KD233.Build.0 = Debug|Any CPU
 		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|Emulator.Build.0 = Release|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|KD233.ActiveCfg = Release|Any CPU
+		{AC6248DB-5117-4C47-A3E7-D0B7E6258F6B}.Release|KD233.Build.0 = Release|Any CPU
 		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Debug|KD233.Build.0 = Debug|Any CPU
 		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|Emulator.Build.0 = Release|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|KD233.ActiveCfg = Release|Any CPU
+		{CE15C733-B010-41FD-B1B6-D0D4327F0653}.Release|KD233.Build.0 = Release|Any CPU
 		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|Emulator.ActiveCfg = Debug|Emulator
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|Emulator.Build.0 = Debug|Emulator
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|KD233.ActiveCfg = Debug|KD233
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Debug|KD233.Build.0 = Debug|KD233
 		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|Emulator.Build.0 = Release|Any CPU
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|KD233.ActiveCfg = Release|Any CPU
+		{7374FA7F-5B76-40C8-8F8F-EB9CA53A8C2F}.Release|KD233.Build.0 = Release|Any CPU
 		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Debug|KD233.Build.0 = Debug|Any CPU
 		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|Emulator.Build.0 = Release|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|KD233.ActiveCfg = Release|Any CPU
+		{A4CE4A60-2E56-4712-901B-8E5FA1354FD6}.Release|KD233.Build.0 = Release|Any CPU
 		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Debug|KD233.Build.0 = Debug|Any CPU
 		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|Emulator.Build.0 = Release|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|KD233.ActiveCfg = Release|Any CPU
+		{2C03C9E9-3EE6-4F74-8BF7-C9040E9E4A14}.Release|KD233.Build.0 = Release|Any CPU
 		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Debug|KD233.Build.0 = Debug|Any CPU
 		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|Emulator.Build.0 = Release|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|KD233.ActiveCfg = Release|Any CPU
+		{946AE4FB-641C-4EB0-B2FE-C0E86E776AA9}.Release|KD233.Build.0 = Release|Any CPU
 		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Debug|KD233.Build.0 = Debug|Any CPU
 		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|Emulator.Build.0 = Release|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|KD233.ActiveCfg = Release|Any CPU
+		{C4408589-968A-43B3-83A6-AF02D1BAA293}.Release|KD233.Build.0 = Release|Any CPU
 		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Debug|KD233.Build.0 = Debug|Any CPU
 		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|Any CPU.Build.0 = Release|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|Emulator.Build.0 = Release|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|KD233.ActiveCfg = Release|Any CPU
+		{20176878-F31F-4D92-918C-9FD58CDD7480}.Release|KD233.Build.0 = Release|Any CPU
 		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Debug|KD233.Build.0 = Debug|Any CPU
 		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|Emulator.Build.0 = Release|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|KD233.ActiveCfg = Release|Any CPU
+		{D261F7EB-5A98-4D47-B34B-D13B27A6988E}.Release|KD233.Build.0 = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|Emulator.ActiveCfg = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|Emulator.Build.0 = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|KD233.ActiveCfg = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Debug|KD233.Build.0 = Debug|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|Emulator.ActiveCfg = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|Emulator.Build.0 = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|KD233.ActiveCfg = Release|Any CPU
+		{E7F325FF-7C85-4C64-8E96-E06AE3A5238D}.Release|KD233.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE