diff --git a/source/Cosmos/Cosmos.Kernel/Heap.cs b/source/Cosmos/Cosmos.Kernel/Heap.cs index 6deb28030..dbcd74b9e 100644 --- a/source/Cosmos/Cosmos.Kernel/Heap.cs +++ b/source/Cosmos/Cosmos.Kernel/Heap.cs @@ -151,6 +151,13 @@ namespace Cosmos.Kernel { Init(); uint xTemp = mStartAddress; + //CPUBus.Write32(0xE9, 0); + //CPUBus.Write32(0xE9, mStartAddress); + //CPUBus.Write32(0xE9, 0x11111111); + //CPUBus.Write32(0xE9, aLength); + //CPUBus.Write32(0xE9, 0x22222222); + //CPUBus.Write32(0xE9, mStartAddress); + if ((xTemp + aLength) > (mStart + mLength)) { Console.WriteLine("Too large memory block allocated!"); diff --git a/source2/IL2PCU/Cosmos.IL2CPU/Assembler/Assembler.cs b/source2/IL2PCU/Cosmos.IL2CPU/Assembler/Assembler.cs index ba4dacc91..4095fc2fc 100644 --- a/source2/IL2PCU/Cosmos.IL2CPU/Assembler/Assembler.cs +++ b/source2/IL2PCU/Cosmos.IL2CPU/Assembler/Assembler.cs @@ -630,9 +630,6 @@ namespace Cosmos.IL2CPU { internal void GenerateMethodForward(MethodInfo aFrom, MethodInfo aTo) { // todo: completely get rid of this kind of trampoline code - if (MethodInfoLabelGenerator.GenerateLabelName(aFrom.MethodBase) == "System_UInt32__Cosmos_Kernel_CPU_GetAmountOfRAM__") { - Console.Write(""); - } MethodBegin(aFrom); { var xParams = aTo.MethodBase.GetParameters().AsQueryable(); @@ -650,7 +647,7 @@ namespace Cosmos.IL2CPU { } if (xFieldAccessAttrib != null) { - // field access + // field access new Comment("Loading address of field '" + xFieldAccessAttrib.Name + "'"); Ldarg(aFrom, 0); Ldflda(aFrom, xFieldAccessAttrib.Name); diff --git a/source2/Users/Kudzu/HelloWorld/HelloWorld.csproj b/source2/Users/Kudzu/HelloWorld/HelloWorld.csproj index 7bbf69353..b8b85c4b8 100644 --- a/source2/Users/Kudzu/HelloWorld/HelloWorld.csproj +++ b/source2/Users/Kudzu/HelloWorld/HelloWorld.csproj @@ -26,6 +26,7 @@ prompt 4 x86 + true pdbonly diff --git a/source2/Users/Kudzu/HelloWorld/Program.cs b/source2/Users/Kudzu/HelloWorld/Program.cs index 79f8d5f38..50fcc552a 100644 --- a/source2/Users/Kudzu/HelloWorld/Program.cs +++ b/source2/Users/Kudzu/HelloWorld/Program.cs @@ -50,12 +50,21 @@ namespace HelloWorld { //#endregion // Main entry point of the kernel - public static void Init() { + public static unsafe void Init() { var xTempBool = false; //Console.BackgroundColor = ConsoleColor.Green; //TODO: What is this next line for? //S.ReallyClearScreen(); - //Console.WriteLine("Congratulations! You just booted C# code."); + //Console.Write("Congratulations! You just booted C# code."); + + byte* xChars = (byte*)0xB8000; + xChars[1] = 65; + if (true) { + xChars[0] = 75; + } else { + xChars[0] = 78; + } + //Console.WriteLine("Edit Program.cs to create your own Operating System."); //Console.WriteLine("Press a key to shutdown...");