diff --git a/Demos.sln b/Demos.sln
new file mode 100644
index 000000000..c49ed4883
--- /dev/null
+++ b/Demos.sln
@@ -0,0 +1,64 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2041
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Beep", "Beep", "{85AD61C5-4105-4E94-9AC3-345C3744770A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Graphics", "Graphics", "{7A1220A6-511A-4552-B5F6-D6675FC21508}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Guess", "Guess", "{2A48C638-F2BB-491A-A36A-B58A9697D1B0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ZMachine", "ZMachine", "{39B58CD8-7147-4FF0-961C-2CA140651C34}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BeepDemo", "Demos\BeepDemo\BeepDemo.csproj", "{96D8F1A6-EA27-4899-8E08-EDD86CB0370A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GuessKernel", "Demos\Guess\GuessKernel.csproj", "{8E76CDF2-CBE3-4C50-B991-F9B7E3033132}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CosmosGraphicSubsystem", "Demos\CosmosGraphicSubsystem\CosmosGraphicSubsystem.csproj", "{6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZKernel", "Demos\ZMachine\ZKernel\ZKernel.csproj", "{04B52A1C-C57A-40C3-BED3-A97B7BA840E9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZLibrary", "Demos\ZMachine\ZLibrary\ZLibrary.csproj", "{3B661E21-F46C-4048-92BA-4BF67F7ED7D0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {96D8F1A6-EA27-4899-8E08-EDD86CB0370A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {96D8F1A6-EA27-4899-8E08-EDD86CB0370A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {96D8F1A6-EA27-4899-8E08-EDD86CB0370A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {96D8F1A6-EA27-4899-8E08-EDD86CB0370A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E76CDF2-CBE3-4C50-B991-F9B7E3033132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E76CDF2-CBE3-4C50-B991-F9B7E3033132}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E76CDF2-CBE3-4C50-B991-F9B7E3033132}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E76CDF2-CBE3-4C50-B991-F9B7E3033132}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {04B52A1C-C57A-40C3-BED3-A97B7BA840E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {04B52A1C-C57A-40C3-BED3-A97B7BA840E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {04B52A1C-C57A-40C3-BED3-A97B7BA840E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {04B52A1C-C57A-40C3-BED3-A97B7BA840E9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3B661E21-F46C-4048-92BA-4BF67F7ED7D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3B661E21-F46C-4048-92BA-4BF67F7ED7D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3B661E21-F46C-4048-92BA-4BF67F7ED7D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3B661E21-F46C-4048-92BA-4BF67F7ED7D0}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {96D8F1A6-EA27-4899-8E08-EDD86CB0370A} = {85AD61C5-4105-4E94-9AC3-345C3744770A}
+ {8E76CDF2-CBE3-4C50-B991-F9B7E3033132} = {2A48C638-F2BB-491A-A36A-B58A9697D1B0}
+ {6F750E6B-8C93-4DE7-9FF9-3C31C5121F1E} = {7A1220A6-511A-4552-B5F6-D6675FC21508}
+ {04B52A1C-C57A-40C3-BED3-A97B7BA840E9} = {39B58CD8-7147-4FF0-961C-2CA140651C34}
+ {3B661E21-F46C-4048-92BA-4BF67F7ED7D0} = {39B58CD8-7147-4FF0-961C-2CA140651C34}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {737503A6-354A-4725-8D7F-27A996161138}
+ EndGlobalSection
+EndGlobal
diff --git a/Demos/CosmosGraphicSubsystem/CosmosGraphicSubsystem.csproj b/Demos/CosmosGraphicSubsystem/CosmosGraphicSubsystem.csproj
index 1c41bf131..53dfabb2e 100644
--- a/Demos/CosmosGraphicSubsystem/CosmosGraphicSubsystem.csproj
+++ b/Demos/CosmosGraphicSubsystem/CosmosGraphicSubsystem.csproj
@@ -70,13 +70,10 @@
CosmosGraphicSubsystemBoot
-
-
-
-
-
+
+
diff --git a/Demos/Guess/GuessKernel.csproj b/Demos/Guess/GuessKernel.csproj
index 9b2e344c2..57bf47ab7 100644
--- a/Demos/Guess/GuessKernel.csproj
+++ b/Demos/Guess/GuessKernel.csproj
@@ -7,7 +7,7 @@
elf
- False
+ True
Source
User
False
@@ -52,13 +52,10 @@
False
-
-
-
-
-
+
+
diff --git a/Demos/ZMachine/ZKernel/ZKernel.csproj b/Demos/ZMachine/ZKernel/ZKernel.csproj
index 50a4375a9..7efe72db4 100644
--- a/Demos/ZMachine/ZKernel/ZKernel.csproj
+++ b/Demos/ZMachine/ZKernel/ZKernel.csproj
@@ -55,9 +55,9 @@
-
-
-
+
+
+
diff --git a/Kernel.sln b/Kernel.sln
index 7a355361b..f88beabf2 100644
--- a/Kernel.sln
+++ b/Kernel.sln
@@ -10,12 +10,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1 HAL", "1 HAL", "{D651C346
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2 System", "2 System", "{0259702E-9575-4852-A641-5F9714A9C740}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Demos", "Demos", "{B56A6119-1B8F-44E4-9446-291E52F47D4C}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Guess", "Guess", "{5FF9BF2A-5162-4F12-82B6-1693AD776636}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CosmosGraphicSubsystem", "CosmosGraphicSubsystem", "{A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{3CD3D9A5-9BC5-4FEB-8D63-4D535C0ABB78}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kernel G3", "Kernel G3", "{00F0CA9C-51B2-4E99-B4D9-DD24D488D3FC}"
@@ -50,8 +44,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos.Core_Asm", "source\C
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos.System2_Plugs", "source\Cosmos.System2_Plugs\Cosmos.System2_Plugs.csproj", "{9431FF1F-AD75-4A1E-B38A-46E0F109411D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CosmosGraphicSubsystem", "Demos\CosmosGraphicSubsystem\CosmosGraphicSubsystem.csproj", "{49F2C01D-D2C5-4564-810B-1AE92236C5C1}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cosmos.Debug.Kernel", "source\Cosmos.Debug.Kernel\Cosmos.Debug.Kernel.csproj", "{94DBCFC7-B5D2-4148-BE18-D76654C379E2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2CPU.API", "..\IL2CPU\source\IL2CPU.API\IL2CPU.API.csproj", "{31D48401-77B2-44AF-B6D3-27AB67C10759}"
@@ -88,16 +80,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GuessKernelGen3", "source\K
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TRKernel", "source\Kernel-TapRoot\Demo\TRKernel.csproj", "{F614D199-03E6-4CBD-836C-EDB769B025A3}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GuessKernel", "Demos\Guess\GuessKernel.csproj", "{E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spruce", "..\XSharp\source\Spruce\Spruce.csproj", "{0812DD0A-4CEE-4376-B78A-02EBCBAA14C2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XSharp.x86", "..\XSharp\source\XSharp.x86\XSharp.x86.csproj", "{7370A62F-12DA-4181-BE3B-009D0926CA7E}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BeepDemo", "BeepDemo", "{83BA8293-9BC0-496E-A9D4-7F8365BEEFCE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BeepDemo", "Demos\BeepDemo\BeepDemo.csproj", "{5EF63907-CB93-4FA0-BA9C-B73EC7001365}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -163,14 +149,6 @@ Global
{9431FF1F-AD75-4A1E-B38A-46E0F109411D}.Release|Any CPU.Build.0 = Release|Any CPU
{9431FF1F-AD75-4A1E-B38A-46E0F109411D}.Release|x86.ActiveCfg = Release|Any CPU
{9431FF1F-AD75-4A1E-B38A-46E0F109411D}.Release|x86.Build.0 = Release|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Debug|x86.ActiveCfg = Debug|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Debug|x86.Build.0 = Debug|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Release|Any CPU.Build.0 = Release|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Release|x86.ActiveCfg = Release|Any CPU
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1}.Release|x86.Build.0 = Release|Any CPU
{94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94DBCFC7-B5D2-4148-BE18-D76654C379E2}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -315,14 +293,6 @@ Global
{F614D199-03E6-4CBD-836C-EDB769B025A3}.Release|Any CPU.Build.0 = Release|Any CPU
{F614D199-03E6-4CBD-836C-EDB769B025A3}.Release|x86.ActiveCfg = Release|Any CPU
{F614D199-03E6-4CBD-836C-EDB769B025A3}.Release|x86.Build.0 = Release|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Debug|x86.Build.0 = Debug|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Release|x86.ActiveCfg = Release|Any CPU
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD}.Release|x86.Build.0 = Release|Any CPU
{0812DD0A-4CEE-4376-B78A-02EBCBAA14C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0812DD0A-4CEE-4376-B78A-02EBCBAA14C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0812DD0A-4CEE-4376-B78A-02EBCBAA14C2}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -339,14 +309,6 @@ Global
{7370A62F-12DA-4181-BE3B-009D0926CA7E}.Release|Any CPU.Build.0 = Release|Any CPU
{7370A62F-12DA-4181-BE3B-009D0926CA7E}.Release|x86.ActiveCfg = Release|Any CPU
{7370A62F-12DA-4181-BE3B-009D0926CA7E}.Release|x86.Build.0 = Release|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Debug|x86.ActiveCfg = Debug|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Debug|x86.Build.0 = Debug|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Release|Any CPU.Build.0 = Release|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Release|x86.ActiveCfg = Release|Any CPU
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -355,8 +317,6 @@ Global
{04B18FFC-8EA0-4E9F-9E1B-478527B19AFA} = {9A923E6F-FF63-4F02-A4EA-C2D44F9323FD}
{D651C346-95CF-4AE9-B309-DB2A1A512811} = {9A923E6F-FF63-4F02-A4EA-C2D44F9323FD}
{0259702E-9575-4852-A641-5F9714A9C740} = {9A923E6F-FF63-4F02-A4EA-C2D44F9323FD}
- {5FF9BF2A-5162-4F12-82B6-1693AD776636} = {B56A6119-1B8F-44E4-9446-291E52F47D4C}
- {A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7} = {B56A6119-1B8F-44E4-9446-291E52F47D4C}
{C5D22A6E-96F8-4F85-9EE4-C1EB8C5E0530} = {00F0CA9C-51B2-4E99-B4D9-DD24D488D3FC}
{2C27BF1B-0AB0-4B68-83C4-991D43897B66} = {00F0CA9C-51B2-4E99-B4D9-DD24D488D3FC}
{B369DAF1-94BC-4BD7-887C-80F76F8B5910} = {00F0CA9C-51B2-4E99-B4D9-DD24D488D3FC}
@@ -372,7 +332,6 @@ Global
{1132E689-18B0-4D87-94E8-934D4802C540} = {04B18FFC-8EA0-4E9F-9E1B-478527B19AFA}
{3C186D37-21C3-417C-95F1-19BE538AF88A} = {04B18FFC-8EA0-4E9F-9E1B-478527B19AFA}
{9431FF1F-AD75-4A1E-B38A-46E0F109411D} = {0259702E-9575-4852-A641-5F9714A9C740}
- {49F2C01D-D2C5-4564-810B-1AE92236C5C1} = {A9D558E8-B0C7-4FF6-99D8-CB2BC6FEB7C7}
{31D48401-77B2-44AF-B6D3-27AB67C10759} = {3CD3D9A5-9BC5-4FEB-8D63-4D535C0ABB78}
{9BDA0399-0CFD-42E8-8CF4-3DDE16122A82} = {00F0CA9C-51B2-4E99-B4D9-DD24D488D3FC}
{FC65D765-990D-4F00-B240-8DD17FA91EA9} = {C5D22A6E-96F8-4F85-9EE4-C1EB8C5E0530}
@@ -389,11 +348,8 @@ Global
{08B5D5EF-45F5-45BC-B842-A413E8113A55} = {C5D22A6E-96F8-4F85-9EE4-C1EB8C5E0530}
{9E58E949-7B71-45ED-9610-11DA287EE933} = {2A22DC4C-E237-4D4B-A592-47D477F9ED5B}
{F614D199-03E6-4CBD-836C-EDB769B025A3} = {DB771C12-E60D-41C9-9A39-74CC95A661CD}
- {E35E0DBF-555F-4D38-8F28-ACDFA9DC97BD} = {5FF9BF2A-5162-4F12-82B6-1693AD776636}
{0812DD0A-4CEE-4376-B78A-02EBCBAA14C2} = {3CD3D9A5-9BC5-4FEB-8D63-4D535C0ABB78}
{7370A62F-12DA-4181-BE3B-009D0926CA7E} = {3CD3D9A5-9BC5-4FEB-8D63-4D535C0ABB78}
- {83BA8293-9BC0-496E-A9D4-7F8365BEEFCE} = {B56A6119-1B8F-44E4-9446-291E52F47D4C}
- {5EF63907-CB93-4FA0-BA9C-B73EC7001365} = {83BA8293-9BC0-496E-A9D4-7F8365BEEFCE}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1A1E8F1D-82B3-471F-9B59-0350DEA9203D}