This commit is contained in:
mterwoord_cp 2010-08-13 16:53:47 +00:00
parent 8cce9f32a4
commit de10e77b64
3 changed files with 105 additions and 102 deletions

View file

@ -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()

View file

@ -18,7 +18,7 @@
<Framework>MicrosoftNET</Framework>
<UseInternalAssembler>False</UseInternalAssembler>
<DebugMode>Source</DebugMode>
<EnableGDB>False</EnableGDB>
<EnableGDB>True</EnableGDB>
<TraceMode>
</TraceMode>
<VMWareFlavor>Workstation</VMWareFlavor>

View file

@ -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: ");