diff --git a/source/Cosmos.sln b/source/Cosmos.sln index c66003268..81ab4574b 100644 --- a/source/Cosmos.sln +++ b/source/Cosmos.sln @@ -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} diff --git a/source2/Build/Cosmos.Build.MSBuild/Cosmos.targets b/source2/Build/Cosmos.Build.MSBuild/Cosmos.targets index 1c17d3d67..1cf59b1eb 100644 --- a/source2/Build/Cosmos.Build.MSBuild/Cosmos.targets +++ b/source2/Build/Cosmos.Build.MSBuild/Cosmos.targets @@ -6,6 +6,7 @@ $(CosmosDir)\Build\Tools $(CosmosDir)\Build\VSIP $(BuildToolsDir)\Nasm\nasm.exe + x86 bin diff --git a/source2/Build/Cosmos.Build.MSBuild/IL2CPUTask.cs b/source2/Build/Cosmos.Build.MSBuild/IL2CPUTask.cs index 518581ab7..aa041a2ca 100644 --- a/source2/Build/Cosmos.Build.MSBuild/IL2CPUTask.cs +++ b/source2/Build/Cosmos.Build.MSBuild/IL2CPUTask.cs @@ -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; diff --git a/source2/Debug/Cosmos.Debug.Common/Cosmos.Debug.Common.csproj b/source2/Debug/Cosmos.Debug.Common/Cosmos.Debug.Common.csproj index ef59a5729..be864585c 100644 --- a/source2/Debug/Cosmos.Debug.Common/Cosmos.Debug.Common.csproj +++ b/source2/Debug/Cosmos.Debug.Common/Cosmos.Debug.Common.csproj @@ -125,6 +125,7 @@ EntityModelCodeGenerator DebugModel.Designer.cs + diff --git a/source2/Debug/Cosmos.Debug.Common/Entities2.datasource b/source2/Debug/Cosmos.Debug.Common/Entities2.datasource new file mode 100644 index 000000000..47cbf4923 --- /dev/null +++ b/source2/Debug/Cosmos.Debug.Common/Entities2.datasource @@ -0,0 +1,10 @@ + + + + Cosmos.Debug.Common.Entities, DebugModel.Designer.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/source2/IL2CPU/Cosmos.IL2CPU/AppAssembler.cs b/source2/IL2CPU/Cosmos.IL2CPU/AppAssembler.cs index f8279f6d4..155c45161 100644 --- a/source2/IL2CPU/Cosmos.IL2CPU/AppAssembler.cs +++ b/source2/IL2CPU/Cosmos.IL2CPU/AppAssembler.cs @@ -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); diff --git a/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj b/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj new file mode 100644 index 000000000..430cfff1d --- /dev/null +++ b/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj @@ -0,0 +1,72 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {3720749F-1519-4A35-B944-FF05AD01F8DC} + Exe + Properties + DebugCompiler + DebugCompiler + v4.0 + + + 512 + SAK + SAK + SAK + SAK + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + {BC6AE974-1F18-4A19-A956-5062E4D3FD53} + Cosmos.Build.MSBuild + + + + + + + + \ No newline at end of file diff --git a/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj.vspscc b/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj.vspscc new file mode 100644 index 000000000..feffdecaa --- /dev/null +++ b/source2/Users/Matthijs/DebugCompiler/DebugCompiler.csproj.vspscc @@ -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" +} diff --git a/source2/Users/Matthijs/DebugCompiler/Program.cs b/source2/Users/Matthijs/DebugCompiler/Program.cs new file mode 100644 index 000000000..1d77cbbc8 --- /dev/null +++ b/source2/Users/Matthijs/DebugCompiler/Program.cs @@ -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(); + #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(); + } + } + } +} \ No newline at end of file diff --git a/source2/Users/Matthijs/DebugCompiler/Properties/AssemblyInfo.cs b/source2/Users/Matthijs/DebugCompiler/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..4a583d4fa --- /dev/null +++ b/source2/Users/Matthijs/DebugCompiler/Properties/AssemblyInfo.cs @@ -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")] diff --git a/source2/Users/Matthijs/DebugCompiler/app.config b/source2/Users/Matthijs/DebugCompiler/app.config new file mode 100644 index 000000000..cb2586beb --- /dev/null +++ b/source2/Users/Matthijs/DebugCompiler/app.config @@ -0,0 +1,3 @@ + + + diff --git a/source2/Users/Matthijs/Playground/AssemblyInfo.cs b/source2/Users/Matthijs/Playground/AssemblyInfo.cs new file mode 100644 index 000000000..118d44883 --- /dev/null +++ b/source2/Users/Matthijs/Playground/AssemblyInfo.cs @@ -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")] + + + diff --git a/source2/Users/Matthijs/Playground/Kernel.cs b/source2/Users/Matthijs/Playground/Kernel.cs new file mode 100644 index 000000000..522526e56 --- /dev/null +++ b/source2/Users/Matthijs/Playground/Kernel.cs @@ -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); + } + } +} diff --git a/source2/Users/Matthijs/Playground/Playground.csproj b/source2/Users/Matthijs/Playground/Playground.csproj new file mode 100644 index 000000000..96d9bac15 --- /dev/null +++ b/source2/Users/Matthijs/Playground/Playground.csproj @@ -0,0 +1,71 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {89868CAD-AAFC-45F1-81B3-C323F87D5742} + Library + Properties + Playground + Playground + 512 + SAK + SAK + SAK + SAK + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + {61607F1E-58F9-41CF-972F-128384F3E115} + Cosmos.Debug.Kernel + + + {DA50B9B2-0E95-4F0D-A3C8-79FC549301B5} + Cosmos.System + + + {5AC4773C-CB4E-4CD9-8D50-02E10A07DEE6} + Cosmos.Core + + + {6A991D03-1435-4005-9809-B8BACDF3B021} + Cosmos.Hardware + + + + + \ No newline at end of file diff --git a/source2/Users/Matthijs/Playground/Playground.csproj.vspscc b/source2/Users/Matthijs/Playground/Playground.csproj.vspscc new file mode 100644 index 000000000..feffdecaa --- /dev/null +++ b/source2/Users/Matthijs/Playground/Playground.csproj.vspscc @@ -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" +} diff --git a/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos b/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos new file mode 100644 index 000000000..3f631470c --- /dev/null +++ b/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos @@ -0,0 +1,68 @@ + + + + Debug + 2.0 + {7d29d57d-a78b-4e67-bbc3-df84bd10fc6d} + false + PlaygroundBoot + elf + SAK + SAK + SAK + SAK + + + VMware + + True + Source + User + False + False + Player + bin\Debug\ + PlaygroundBoot + Use VMware Player or Workstation to deploy and debug. + ISO + VMware + Pipe: Cosmos\Serial + User + PlaygroundBoot + Use VMware Player or Workstation to deploy and debug. + ISO + VMware + True + Source + Pipe: Cosmos\Serial + Player + bin\Debug\ + User + False + False + + + + Cosmos.Debug.Kernel.Plugs + {b97a2956-c363-47f2-a6aa-b4fccff4d315} + True + + + Cosmos.System.Plugs.System + {7c64b97f-516d-4a6d-b9e1-3fe48f561409} + True + + + Cosmos.Core.Plugs + {d9a87aad-fcc9-4517-b31d-e904dad00784} + True + + + Playground + {380cbca2-3283-4667-a824-196036f95ced} + + + + \ No newline at end of file diff --git a/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos.vspscc b/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos.vspscc new file mode 100644 index 000000000..feffdecaa --- /dev/null +++ b/source2/Users/Matthijs/Playground/PlaygroundBoot.Cosmos.vspscc @@ -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" +}