mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-21 05:18:38 +00:00
This commit is contained in:
parent
8cce9f32a4
commit
de10e77b64
3 changed files with 105 additions and 102 deletions
|
|
@ -18,26 +18,26 @@ namespace Cosmos.Debug {
|
|||
|
||||
// TODO: Kudzu repacement methods for Cosmos.Hardware.DebugUtil
|
||||
public static unsafe void SendMessage(string aModule, string aData) {
|
||||
string xSingleString;
|
||||
xSingleString = "Message Module: \"" + aModule + "\"";
|
||||
xSingleString += " Data: \"" + aData + "\"";
|
||||
Send(xSingleString);
|
||||
//string xSingleString;
|
||||
//xSingleString = "Message Module: \"" + aModule + "\"";
|
||||
//xSingleString += " Data: \"" + aData + "\"";
|
||||
//Send(xSingleString);
|
||||
}
|
||||
|
||||
public static unsafe void SendError(string aModule, string aData)
|
||||
{
|
||||
string xSingleString;
|
||||
xSingleString = "Error Module: \"" + aModule + "\"";
|
||||
xSingleString += " Data: \"" + aData + "\"";
|
||||
Send(xSingleString);
|
||||
//string xSingleString;
|
||||
//xSingleString = "Error Module: \"" + aModule + "\"";
|
||||
//xSingleString += " Data: \"" + aData + "\"";
|
||||
//Send(xSingleString);
|
||||
}
|
||||
|
||||
public static unsafe void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits)
|
||||
{
|
||||
string xSingleString;
|
||||
xSingleString = "Number Module: \"" + aModule + "\"";
|
||||
xSingleString += " Description: \"" + aDescription + "\"";
|
||||
xSingleString += " Number: \"" + CreateNumber(aNumber, aBits) + "\"";
|
||||
//string xSingleString;
|
||||
//xSingleString = "Number Module: \"" + aModule + "\"";
|
||||
//xSingleString += " Description: \"" + aDescription + "\"";
|
||||
//xSingleString += " Number: \"" + CreateNumber(aNumber, aBits) + "\"";
|
||||
}
|
||||
|
||||
public static unsafe void WriteNumber(uint aNumber, byte aBits)
|
||||
|
|
@ -57,74 +57,75 @@ namespace Cosmos.Debug {
|
|||
|
||||
public static unsafe string CreateNumber(uint aNumber, byte aBits, bool aWritePrefix)
|
||||
{
|
||||
string xNumberString = null;
|
||||
uint xValue = aNumber;
|
||||
byte xCurrentBits = aBits;
|
||||
if (aWritePrefix)
|
||||
{
|
||||
xNumberString += "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:
|
||||
xNumberString += xDigitString;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return xNumberString;
|
||||
return "Cosmos.Debug.Debugger.CreateNumber(aNumber, aBits, aWritePrefix) not implemented";
|
||||
//string xNumberString = null;
|
||||
//uint xValue = aNumber;
|
||||
//byte xCurrentBits = aBits;
|
||||
//if (aWritePrefix)
|
||||
//{
|
||||
// xNumberString += "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:
|
||||
// xNumberString += xDigitString;
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
//return xNumberString;
|
||||
}
|
||||
|
||||
public static unsafe void WriteBinary(string aModule, string aMessage, byte[] aValue)
|
||||
|
|
@ -134,30 +135,30 @@ namespace Cosmos.Debug {
|
|||
|
||||
public static unsafe void WriteBinary(string aModule, string aMessage, byte[] aValue, int aIndex, int aLength)
|
||||
{
|
||||
string xSingleString;
|
||||
xSingleString = "Binary Module = \"" + aModule + "\"";
|
||||
xSingleString += " Message = " + aMessage + "\"";
|
||||
xSingleString += " Value = \"";
|
||||
for (int i = 0; i < aLength; i++)
|
||||
{
|
||||
xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
|
||||
}
|
||||
xSingleString += "\"";
|
||||
Send(xSingleString);
|
||||
//string xSingleString;
|
||||
//xSingleString = "Binary Module = \"" + aModule + "\"";
|
||||
//xSingleString += " Message = " + aMessage + "\"";
|
||||
//xSingleString += " Value = \"";
|
||||
//for (int i = 0; i < aLength; i++)
|
||||
//{
|
||||
// xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
|
||||
//}
|
||||
//xSingleString += "\"";
|
||||
//Send(xSingleString);
|
||||
}
|
||||
|
||||
public static unsafe void WriteBinary(string aModule, string aMessage, byte* aValue, int aIndex, int aLength)
|
||||
{
|
||||
string xSingleString;
|
||||
xSingleString = "Binary Module = \"" + aModule + "\"";
|
||||
xSingleString += " Message = " + aMessage + "\"";
|
||||
xSingleString += " Value = \"";
|
||||
for (int i = 0; i < aLength; i++)
|
||||
{
|
||||
xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
|
||||
}
|
||||
xSingleString += "\"";
|
||||
Send(xSingleString);
|
||||
//string xSingleString;
|
||||
//xSingleString = "Binary Module = \"" + aModule + "\"";
|
||||
//xSingleString += " Message = " + aMessage + "\"";
|
||||
//xSingleString += " Value = \"";
|
||||
//for (int i = 0; i < aLength; i++)
|
||||
//{
|
||||
// xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
|
||||
//}
|
||||
//xSingleString += "\"";
|
||||
//Send(xSingleString);
|
||||
}
|
||||
|
||||
public unsafe static void ViewMemory()
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<Framework>MicrosoftNET</Framework>
|
||||
<UseInternalAssembler>False</UseInternalAssembler>
|
||||
<DebugMode>Source</DebugMode>
|
||||
<EnableGDB>False</EnableGDB>
|
||||
<EnableGDB>True</EnableGDB>
|
||||
<TraceMode>
|
||||
</TraceMode>
|
||||
<VMWareFlavor>Workstation</VMWareFlavor>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,9 @@ namespace BreakpointsKernel
|
|||
Console.WriteLine("3 Cosmos booted successfully. Type a line of text to get it echoed back.");
|
||||
Debugger.Break();
|
||||
Console.WriteLine("Test");
|
||||
while (true) {
|
||||
|
||||
while (true)
|
||||
{
|
||||
Console.Write("Input: ");
|
||||
string xResult = Console.ReadLine();
|
||||
Console.Write("Text typed: ");
|
||||
|
|
|
|||
Loading…
Reference in a new issue