Cosmos/source/Archive/Cosmos.Shell.Console/Program.cs

108 lines
No EOL
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using Cosmos.Compiler.Builder;
using Cosmos.Hardware;
namespace Cosmos.Demo.Shell {
public class Program {
#region Build Console
// This contains code to launch the build console. Most users should not chagne this.
[STAThread]
public static void Main() {
BuildUI.Run();
}
#endregion
// Here is where your Cosmos code goes. This is the code that will be executed during Cosmos boot.
// Write your code, and run. Cosmos build console will appear, select your target, and thats it!
public static void Init() {
try {
var xBoot = new Cosmos.Sys.Boot();
xBoot.Execute();
//System.Console.WriteLine("Sorry - the Cosmos.Shell.Console is currently not working.");
Prompter pmt = new Prompter();
pmt.Initialize();
//stages.Enqueue(new Prompter());
} catch (Exception E) {
System.Console.WriteLine("Error occurred:");
System.Console.Write(" ");
System.Console.WriteLine(E.Message);
}
System.Console.WriteLine("Halting system now!..");
// Halt system.
while (true)
;
}
private static void WriteNumber(uint aValue, byte aBitCount) {
uint xValue = aValue;
byte xCurrentBits = aBitCount;
System.Console.Write("0x");
while (xCurrentBits >= 4) {
xCurrentBits -= 4;
byte xCurrentDigit = (byte)((xValue >> xCurrentBits) & 0xF);
string xDigitString = null;
switch (xCurrentDigit) {
case 0:
xDigitString = "0";
goto default;
case 1:
xDigitString = "1";
goto default;
case 2:
xDigitString = "2";
goto default;
case 3:
xDigitString = "3";
goto default;
case 4:
xDigitString = "4";
goto default;
case 5:
xDigitString = "5";
goto default;
case 6:
xDigitString = "6";
goto default;
case 7:
xDigitString = "7";
goto default;
case 8:
xDigitString = "8";
goto default;
case 9:
xDigitString = "9";
goto default;
case 10:
xDigitString = "A";
goto default;
case 11:
xDigitString = "B";
goto default;
case 12:
xDigitString = "C";
goto default;
case 13:
xDigitString = "D";
goto default;
case 14:
xDigitString = "E";
goto default;
case 15:
xDigitString = "F";
goto default;
default:
System.Console.Write(xDigitString);
break;
}
}
}
}
}