Updated version of my playground and small tweaking of the IL2CPU task.

This commit is contained in:
mterwoord_cp 2013-03-10 16:27:08 +00:00
parent e6dbfc19a2
commit ff41b7ecf1
17 changed files with 592 additions and 30 deletions

View file

@ -232,9 +232,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Performance1.psess = Performance1.psess
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Playground", "..\source2\users\Matthijs\Playground\Playground.csproj", "{89868CAD-AAFC-45F1-81B3-C323F87D5742}"
EndProject
Project("{471EC4BB-E47E-4229-A789-D1F5F83B52D4}") = "PlaygroundBoot", "..\source2\users\Matthijs\Playground\PlaygroundBoot.Cosmos", "{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}"
ProjectSection(ProjectDependencies) = postProject
{89868CAD-AAFC-45F1-81B3-C323F87D5742} = {89868CAD-AAFC-45F1-81B3-C323F87D5742}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DebugCompiler", "..\source2\users\Matthijs\DebugCompiler\DebugCompiler.csproj", "{3720749F-1519-4A35-B944-FF05AD01F8DC}"
EndProject
Global
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 59
SccNumberOfProjects = 62
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = https://tfs.codeplex.com/tfs/tfs04
SccLocalPath0 = .
@ -472,6 +481,18 @@ Global
SccProjectName58 = ../Docs
SccLocalPath58 = ..\\Docs
SccProjectEnlistmentChoice58 = 2
SccProjectUniqueName59 = ..\\source2\\users\\Matthijs\\Playground\\Playground.csproj
SccProjectTopLevelParentUniqueName59 = Cosmos.sln
SccProjectName59 = ../source2/users/Matthijs/Playground
SccLocalPath59 = ..\\source2\\users\\Matthijs\\Playground
SccProjectUniqueName60 = ..\\source2\\users\\Matthijs\\Playground\\PlaygroundBoot.Cosmos
SccProjectTopLevelParentUniqueName60 = Cosmos.sln
SccProjectName60 = ../source2/users/Matthijs/Playground
SccLocalPath60 = ..\\source2\\users\\Matthijs\\Playground
SccProjectUniqueName61 = ..\\source2\\users\\Matthijs\\DebugCompiler\\DebugCompiler.csproj
SccProjectTopLevelParentUniqueName61 = Cosmos.sln
SccProjectName61 = ../source2/users/Matthijs/DebugCompiler
SccLocalPath61 = ..\\source2\\users\\Matthijs\\DebugCompiler
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -1127,6 +1148,37 @@ Global
{0A7DF241-1000-405D-A09B-9E2C51A5CB95}.Release|Mixed Platforms.Build.0 = Debug|x86
{0A7DF241-1000-405D-A09B-9E2C51A5CB95}.Release|x86.ActiveCfg = Debug|x86
{0A7DF241-1000-405D-A09B-9E2C51A5CB95}.Release|x86.Build.0 = Debug|x86
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Debug|Any CPU.Build.0 = Debug|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Debug|x86.ActiveCfg = Debug|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Release|Any CPU.ActiveCfg = Release|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Release|Any CPU.Build.0 = Release|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{89868CAD-AAFC-45F1-81B3-C323F87D5742}.Release|x86.ActiveCfg = Release|Any CPU
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|Any CPU.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|Any CPU.Build.0 = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|Mixed Platforms.Build.0 = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|x86.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Debug|x86.Build.0 = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Release|Any CPU.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Release|Mixed Platforms.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Release|Mixed Platforms.Build.0 = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Release|x86.ActiveCfg = Debug|x86
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D}.Release|x86.Build.0 = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|Any CPU.ActiveCfg = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|Mixed Platforms.Build.0 = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|x86.ActiveCfg = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Debug|x86.Build.0 = Debug|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|Any CPU.ActiveCfg = Release|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|Mixed Platforms.ActiveCfg = Release|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|Mixed Platforms.Build.0 = Release|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|x86.ActiveCfg = Release|x86
{3720749F-1519-4A35-B944-FF05AD01F8DC}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1167,6 +1219,9 @@ Global
{239E33A7-F0C3-4801-85CA-4D8F89A31DC0} = {6A15C540-8278-4B9C-B890-FA57FB6AE6A6}
{F708C866-1C9B-4579-8C28-0728ECCFC1ED} = {6A15C540-8278-4B9C-B890-FA57FB6AE6A6}
{6658FCE0-7032-4B7B-BD95-F2765C393442} = {2DF5F17F-4890-4856-ADFD-4DE23282C3B7}
{89868CAD-AAFC-45F1-81B3-C323F87D5742} = {0CF14D0F-6054-4D3D-9062-E3D2EB064A4E}
{7D29D57D-A78B-4E67-BBC3-DF84BD10FC6D} = {0CF14D0F-6054-4D3D-9062-E3D2EB064A4E}
{3720749F-1519-4A35-B944-FF05AD01F8DC} = {0CF14D0F-6054-4D3D-9062-E3D2EB064A4E}
{1116130E-28E0-428A-A597-F4B3B676C0CA} = {576C3D3B-A3EA-44FA-8E39-AFD3E6F3FE23}
{693C6704-6934-410F-97E0-4B6900730E63} = {426E77A5-80AA-48DC-97F9-037071345778}
{E3779B95-E47B-4CAD-B8C1-0549E30AA4F2} = {426E77A5-80AA-48DC-97F9-037071345778}

View file

@ -6,6 +6,7 @@
<BuildToolsDir Condition="$(BuildToolsDir) == ''">$(CosmosDir)\Build\Tools</BuildToolsDir>
<VSIPDir Condition="$(VSIPDir) == ''">$(CosmosDir)\Build\VSIP</VSIPDir>
<NasmFile>$(BuildToolsDir)\Nasm\nasm.exe</NasmFile>
<PlatformTarget>x86</PlatformTarget>
<BinFormat Condition="$(BinFormat) == ''">bin</BinFormat>
</PropertyGroup>

View file

@ -172,37 +172,44 @@ namespace Cosmos.Build.MSBuild {
DebugCom = 0;
}
var xAsm = new AppAssembler(DebugCom);
using (var xDebugInfo = new DebugInfo(xOutputFilename + ".mdf", true)) {
xAsm.DebugInfo = xDebugInfo;
xAsm.DebugEnabled = DebugEnabled;
xAsm.DebugMode = mDebugMode;
xAsm.TraceAssemblies = mTraceAssemblies;
xAsm.IgnoreDebugStubAttribute = IgnoreDebugStubAttribute;
if (DebugEnabled == false) {
xAsm.ShouldOptimize = true;
}
xAsm.Assembler.Initialize();
using (var xScanner = new ILScanner(xAsm)) {
xScanner.TempDebug += x => LogMessage(x);
if (EnableLogging) {
xScanner.EnableLogging(xOutputFilename + ".log.html");
using (var xAsm = new AppAssembler(DebugCom))
{
using (var xDebugInfo = new DebugInfo(xOutputFilename + ".mdf", true))
{
xAsm.DebugInfo = xDebugInfo;
xAsm.DebugEnabled = DebugEnabled;
xAsm.DebugMode = mDebugMode;
xAsm.TraceAssemblies = mTraceAssemblies;
xAsm.IgnoreDebugStubAttribute = IgnoreDebugStubAttribute;
if (DebugEnabled == false)
{
xAsm.ShouldOptimize = true;
}
xScanner.QueueMethod(xInitMethod.DeclaringType.BaseType.GetMethod("Start"));
xScanner.Execute(xInitMethod);
using (var xOut = new StreamWriter(OutputFilename, false)) {
//if (EmitDebugSymbols) {
xAsm.Assembler.FlushText(xOut);
xAsm.FinalizeDebugInfo();
xAsm.Assembler.Initialize();
using (var xScanner = new ILScanner(xAsm))
{
xScanner.TempDebug += x => LogMessage(x);
if (EnableLogging)
{
xScanner.EnableLogging(xOutputFilename + ".log.html");
}
xScanner.QueueMethod(xInitMethod.DeclaringType.BaseType.GetMethod("Start"));
xScanner.Execute(xInitMethod);
using (var xOut = new StreamWriter(OutputFilename, false))
{
//if (EmitDebugSymbols) {
xAsm.Assembler.FlushText(xOut);
xAsm.FinalizeDebugInfo();
}
}
// If you want to uncomment this line make sure to enable PERSISTANCE_PROFILING symbol in
// DebugInfo.cs file.
//LogMessage(string.Format("DebugInfo flatening {0} seconds, persistance : {1} seconds",
// (int)xDebugInfo.FlateningDuration.TotalSeconds,
// (int)xDebugInfo.PersistanceDuration.TotalSeconds));
}
// If you want to uncomment this line make sure to enable PERSISTANCE_PROFILING symbol in
// DebugInfo.cs file.
//LogMessage(string.Format("DebugInfo flatening {0} seconds, persistance : {1} seconds",
// (int)xDebugInfo.FlateningDuration.TotalSeconds,
// (int)xDebugInfo.PersistanceDuration.TotalSeconds));
}
LogTime("Engine execute finished");
return true;

View file

@ -125,6 +125,7 @@
<Generator>EntityModelCodeGenerator</Generator>
<LastGenOutput>DebugModel.Designer.cs</LastGenOutput>
</EntityDeploy>
<None Include="Entities2.datasource" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Entities" Identifier="Cosmos.Debug.Common.Entities" ProviderType="Microsoft.VisualStudio.DataDesign.DataSourceProviders.EntityDataModel.EdmDataSourceProvider" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Cosmos.Debug.Common.Entities, DebugModel.Designer.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View file

@ -14,7 +14,7 @@ using Cosmos.IL2CPU.Plugs;
using Mono.Cecil;
namespace Cosmos.IL2CPU {
public class AppAssembler {
public class AppAssembler: IDisposable {
public const string EndOfMethodLabelNameNormal = ".END__OF__METHOD_NORMAL";
public const string EndOfMethodLabelNameException = ".END__OF__METHOD_EXCEPTION";
protected const string InitStringIDsLabel = "___INIT__STRINGS_TYPE_ID_S___";
@ -40,10 +40,20 @@ namespace Cosmos.IL2CPU {
public AppAssembler(int aComPort) {
Assembler = new Cosmos.Assembler.Assembler(aComPort);
mLog = new System.IO.StreamWriter("Cosmos.Assembler.Log");
mLog = new System.IO.StreamWriter("Cosmos.Assembler.Log", false);
InitILOps();
}
public void Dispose()
{
if (mLog != null)
{
mLog.Dispose();
mLog = null;
}
GC.SuppressFinalize(this);
}
protected void MethodBegin(MethodInfo aMethod) {
new Comment("---------------------------------------------------------");
new Comment("Assembly: " + aMethod.MethodBase.DeclaringType.Assembly.FullName);

View file

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3720749F-1519-4A35-B944-FF05AD01F8DC}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DebugCompiler</RootNamespace>
<AssemblyName>DebugCompiler</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Build\Cosmos.Build.MSBuild\Cosmos.Build.MSBuild.csproj">
<Project>{BC6AE974-1F18-4A19-A956-5062E4D3FD53}</Project>
<Name>Cosmos.Build.MSBuild</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View file

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View file

@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cosmos.Build.MSBuild;
using Microsoft.Build.Framework;
using System.Diagnostics;
namespace DebugCompiler
{
class Program
{
static void Main(string[] args)
{
var xTimespans = new List<TimeSpan>();
#region Bench
for (int i = 0; i < 3; i++)
{
var xSW = Stopwatch.StartNew();
try
{
var xTask = new IL2CPUTask();
xTask.DebugEnabled = true;
xTask.DebugMode = "Source";
xTask.TraceAssemblies = "User";
xTask.DebugCom = 1;
xTask.UseNAsm = true;
xTask.OutputFilename = @"C:\Data\Sources\Cosmos\source2\users\Matthijs\Playground\bin\Debug\PlaygroundBoot.asm";
xTask.EnableLogging = true;
xTask.EnableLogging = false;
xTask.EmitDebugSymbols = true;
xTask.IgnoreDebugStubAttribute = false;
xTask.References = GetReferences();
xTask.OnLogError = (m) => Console.WriteLine("Error: {0}", m);
xTask.OnLogWarning = (m) => Console.WriteLine("Warning: {0}", m);
xTask.OnLogMessage = (m) => Console.WriteLine("Message: {0}", m);
xTask.OnLogException = (m) => Console.WriteLine("Exception: {0}", m.ToString());
if (xTask.Execute())
{
Console.WriteLine("Executed OK");
}
else
{
Console.WriteLine("Errorred");
}
xSW.Stop();
xTimespans.Add(xSW.Elapsed);
}
catch (Exception E)
{
Console.WriteLine(E.ToString());
Console.ReadLine();
return;
}
}
#endregion Bench
for (int i = 0; i < xTimespans.Count; i++)
{
Console.WriteLine("Run {0} took {1}", i + 1, xTimespans[i].ToString());
}
}
private static ITaskItem[] GetReferences()
{
return new ITaskItem[]{
new TaskItemImpl(@"c:\Data\Sources\Cosmos\source2\Users\Matthijs\Playground\bin\Debug\Playground.dll"),
new TaskItemImpl(@"c:\Data\Sources\Cosmos\source2\Kernel\System\Hardware\Core\Cosmos.Core.Plugs\bin\x86\Debug\Cosmos.Core.Plugs.dll"),
new TaskItemImpl(@"c:\Data\Sources\Cosmos\source2\Kernel\Debug\Cosmos.Debug.Kernel.Plugs\bin\x86\Debug\Cosmos.Debug.Kernel.Plugs.dll"),
new TaskItemImpl(@"c:\Data\Sources\Cosmos\source2\Kernel\System\Cosmos.System.Plugs.System\bin\x86\Debug\Cosmos.System.Plugs.System.dll")
};
}
private class TaskItemImpl : ITaskItem
{
private string path;
public TaskItemImpl(string path)
{
this.path = path;
}
public System.Collections.IDictionary CloneCustomMetadata()
{
throw new NotImplementedException();
}
public void CopyMetadataTo(ITaskItem destinationItem)
{
throw new NotImplementedException();
}
public string GetMetadata(string metadataName)
{
if (metadataName == "FullPath")
{
return path;
}
throw new NotImplementedException();
}
public string ItemSpec
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public int MetadataCount
{
get
{
return MetadataNames.Count;
}
}
public System.Collections.ICollection MetadataNames
{
get
{
return new String[] { "FullPath" };
}
}
public void RemoveMetadata(string metadataName)
{
throw new NotImplementedException();
}
public void SetMetadata(string metadataName, string metadataValue)
{
throw new NotImplementedException();
}
}
}
}

View file

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DebugCompiler")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DebugCompiler")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("43b8e76a-d735-42d5-a417-e4028b48225c")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

View file

@ -0,0 +1,36 @@
using System;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Package Name")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Company")]
[assembly: AssemblyProduct("Package Name")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
[assembly: NeutralResourcesLanguage("en-US")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Text;
using Sys = Cosmos.System;
namespace Playground
{
public class Kernel : Sys.Kernel
{
protected override void BeforeRun()
{
Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
}
protected override void Run()
{
Console.Write("Input: ");
var input = Console.ReadLine();
Console.Write("Text typed: ");
Console.WriteLine(input);
}
}
}

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{89868CAD-AAFC-45F1-81B3-C323F87D5742}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Playground</RootNamespace>
<AssemblyName>Playground</AssemblyName>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Kernel.cs" />
<Compile Include="AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Kernel\Debug\Cosmos.Debug.Kernel\Cosmos.Debug.Kernel.csproj">
<Project>{61607F1E-58F9-41CF-972F-128384F3E115}</Project>
<Name>Cosmos.Debug.Kernel</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kernel\System\Cosmos.System\Cosmos.System.csproj">
<Project>{DA50B9B2-0E95-4F0D-A3C8-79FC549301B5}</Project>
<Name>Cosmos.System</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kernel\System\Hardware\Core\Cosmos.Core\Cosmos.Core.csproj">
<Project>{5AC4773C-CB4E-4CD9-8D50-02E10A07DEE6}</Project>
<Name>Cosmos.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kernel\System\Hardware\Cosmos.Hardware\Cosmos.Hardware.csproj">
<Project>{6A991D03-1435-4005-9809-B8BACDF3B021}</Project>
<Name>Cosmos.Hardware</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View file

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7d29d57d-a78b-4e67-bbc3-df84bd10fc6d}</ProjectGuid>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<Name>PlaygroundBoot</Name>
<BinFormat>elf</BinFormat>
<SccProjectName>SAK</SccProjectName>
<SccProvider>SAK</SccProvider>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<Profile>VMware</Profile>
<!-- Looks like this was a mispelled attribute. Replaced by DebugEnabled below.
<DebugEnable>true</DebugEnable>
-->
<DebugEnabled>True</DebugEnabled>
<DebugMode>Source</DebugMode>
<TraceMode>User</TraceMode>
<EnableGDB>False</EnableGDB>
<StartCosmosGDB>False</StartCosmosGDB>
<VMWareEdition>Player</VMWareEdition>
<OutputPath>bin\Debug\</OutputPath>
<Name>PlaygroundBoot</Name>
<Description>Use VMware Player or Workstation to deploy and debug.</Description>
<Deployment>ISO</Deployment>
<Launch>VMware</Launch>
<VisualStudioDebugPort>Pipe: Cosmos\Serial</VisualStudioDebugPort>
<TraceAssemblies>User</TraceAssemblies>
<VMware_Name>PlaygroundBoot</VMware_Name>
<VMware_Description>Use VMware Player or Workstation to deploy and debug.</VMware_Description>
<VMware_Deployment>ISO</VMware_Deployment>
<VMware_Launch>VMware</VMware_Launch>
<VMware_DebugEnabled>True</VMware_DebugEnabled>
<VMware_DebugMode>Source</VMware_DebugMode>
<VMware_VisualStudioDebugPort>Pipe: Cosmos\Serial</VMware_VisualStudioDebugPort>
<VMware_VMwareEdition>Player</VMware_VMwareEdition>
<VMware_OutputPath>bin\Debug\</VMware_OutputPath>
<VMware_TraceAssemblies>User</VMware_TraceAssemblies>
<VMware_EnableGDB>False</VMware_EnableGDB>
<VMware_StartCosmosGDB>False</VMware_StartCosmosGDB>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Kernel\Debug\Cosmos.Debug.Kernel.Plugs\Cosmos.Debug.Kernel.Plugs.csproj">
<Name>Cosmos.Debug.Kernel.Plugs</Name>
<Project>{b97a2956-c363-47f2-a6aa-b4fccff4d315}</Project>
<Private>True</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Kernel\System\Cosmos.System.Plugs.System\Cosmos.System.Plugs.System.csproj">
<Name>Cosmos.System.Plugs.System</Name>
<Project>{7c64b97f-516d-4a6d-b9e1-3fe48f561409}</Project>
<Private>True</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Kernel\System\Hardware\Core\Cosmos.Core.Plugs\Cosmos.Core.Plugs.csproj">
<Name>Cosmos.Core.Plugs</Name>
<Project>{d9a87aad-fcc9-4517-b31d-e904dad00784}</Project>
<Private>True</Private>
</ProjectReference>
<ProjectReference Include=".\Playground.">
<Name>Playground</Name>
<Project>{380cbca2-3283-4667-a824-196036f95ced}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Cosmos\Cosmos.targets" />
</Project>

View file

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}