mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
108 lines
No EOL
2.7 KiB
C#
108 lines
No EOL
2.7 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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |