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 // TODO: Kudzu repacement methods for Cosmos.Hardware.DebugUtil
public static unsafe void SendMessage(string aModule, string aData) { public static unsafe void SendMessage(string aModule, string aData) {
string xSingleString; //string xSingleString;
xSingleString = "Message Module: \"" + aModule + "\""; //xSingleString = "Message Module: \"" + aModule + "\"";
xSingleString += " Data: \"" + aData + "\""; //xSingleString += " Data: \"" + aData + "\"";
Send(xSingleString); //Send(xSingleString);
} }
public static unsafe void SendError(string aModule, string aData) public static unsafe void SendError(string aModule, string aData)
{ {
string xSingleString; //string xSingleString;
xSingleString = "Error Module: \"" + aModule + "\""; //xSingleString = "Error Module: \"" + aModule + "\"";
xSingleString += " Data: \"" + aData + "\""; //xSingleString += " Data: \"" + aData + "\"";
Send(xSingleString); //Send(xSingleString);
} }
public static unsafe void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits) public static unsafe void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits)
{ {
string xSingleString; //string xSingleString;
xSingleString = "Number Module: \"" + aModule + "\""; //xSingleString = "Number Module: \"" + aModule + "\"";
xSingleString += " Description: \"" + aDescription + "\""; //xSingleString += " Description: \"" + aDescription + "\"";
xSingleString += " Number: \"" + CreateNumber(aNumber, aBits) + "\""; //xSingleString += " Number: \"" + CreateNumber(aNumber, aBits) + "\"";
} }
public static unsafe void WriteNumber(uint aNumber, byte 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) public static unsafe string CreateNumber(uint aNumber, byte aBits, bool aWritePrefix)
{ {
string xNumberString = null; return "Cosmos.Debug.Debugger.CreateNumber(aNumber, aBits, aWritePrefix) not implemented";
uint xValue = aNumber; //string xNumberString = null;
byte xCurrentBits = aBits; //uint xValue = aNumber;
if (aWritePrefix) //byte xCurrentBits = aBits;
{ //if (aWritePrefix)
xNumberString += "0x"; //{
} // xNumberString += "0x";
while (xCurrentBits >= 4) //}
{ //while (xCurrentBits >= 4)
xCurrentBits -= 4; //{
byte xCurrentDigit = (byte)((xValue >> xCurrentBits) & 0xF); // xCurrentBits -= 4;
string xDigitString = null; // byte xCurrentDigit = (byte)((xValue >> xCurrentBits) & 0xF);
switch (xCurrentDigit) // string xDigitString = null;
{ // switch (xCurrentDigit)
case 0: // {
xDigitString = "0"; // case 0:
goto default; // xDigitString = "0";
case 1: // goto default;
xDigitString = "1"; // case 1:
goto default; // xDigitString = "1";
case 2: // goto default;
xDigitString = "2"; // case 2:
goto default; // xDigitString = "2";
case 3: // goto default;
xDigitString = "3"; // case 3:
goto default; // xDigitString = "3";
case 4: // goto default;
xDigitString = "4"; // case 4:
goto default; // xDigitString = "4";
case 5: // goto default;
xDigitString = "5"; // case 5:
goto default; // xDigitString = "5";
case 6: // goto default;
xDigitString = "6"; // case 6:
goto default; // xDigitString = "6";
case 7: // goto default;
xDigitString = "7"; // case 7:
goto default; // xDigitString = "7";
case 8: // goto default;
xDigitString = "8"; // case 8:
goto default; // xDigitString = "8";
case 9: // goto default;
xDigitString = "9"; // case 9:
goto default; // xDigitString = "9";
case 10: // goto default;
xDigitString = "A"; // case 10:
goto default; // xDigitString = "A";
case 11: // goto default;
xDigitString = "B"; // case 11:
goto default; // xDigitString = "B";
case 12: // goto default;
xDigitString = "C"; // case 12:
goto default; // xDigitString = "C";
case 13: // goto default;
xDigitString = "D"; // case 13:
goto default; // xDigitString = "D";
case 14: // goto default;
xDigitString = "E"; // case 14:
goto default; // xDigitString = "E";
case 15: // goto default;
xDigitString = "F"; // case 15:
goto default; // xDigitString = "F";
default: // goto default;
xNumberString += xDigitString; // default:
break; // xNumberString += xDigitString;
} // break;
} // }
return xNumberString; //}
//return xNumberString;
} }
public static unsafe void WriteBinary(string aModule, string aMessage, byte[] aValue) 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) public static unsafe void WriteBinary(string aModule, string aMessage, byte[] aValue, int aIndex, int aLength)
{ {
string xSingleString; //string xSingleString;
xSingleString = "Binary Module = \"" + aModule + "\""; //xSingleString = "Binary Module = \"" + aModule + "\"";
xSingleString += " Message = " + aMessage + "\""; //xSingleString += " Message = " + aMessage + "\"";
xSingleString += " Value = \""; //xSingleString += " Value = \"";
for (int i = 0; i < aLength; i++) //for (int i = 0; i < aLength; i++)
{ //{
xSingleString += CreateNumber(aValue[aIndex + i], 8, false); // xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
} //}
xSingleString += "\""; //xSingleString += "\"";
Send(xSingleString); //Send(xSingleString);
} }
public static unsafe void WriteBinary(string aModule, string aMessage, byte* aValue, int aIndex, int aLength) public static unsafe void WriteBinary(string aModule, string aMessage, byte* aValue, int aIndex, int aLength)
{ {
string xSingleString; //string xSingleString;
xSingleString = "Binary Module = \"" + aModule + "\""; //xSingleString = "Binary Module = \"" + aModule + "\"";
xSingleString += " Message = " + aMessage + "\""; //xSingleString += " Message = " + aMessage + "\"";
xSingleString += " Value = \""; //xSingleString += " Value = \"";
for (int i = 0; i < aLength; i++) //for (int i = 0; i < aLength; i++)
{ //{
xSingleString += CreateNumber(aValue[aIndex + i], 8, false); // xSingleString += CreateNumber(aValue[aIndex + i], 8, false);
} //}
xSingleString += "\""; //xSingleString += "\"";
Send(xSingleString); //Send(xSingleString);
} }
public unsafe static void ViewMemory() public unsafe static void ViewMemory()

View file

@ -18,7 +18,7 @@
<Framework>MicrosoftNET</Framework> <Framework>MicrosoftNET</Framework>
<UseInternalAssembler>False</UseInternalAssembler> <UseInternalAssembler>False</UseInternalAssembler>
<DebugMode>Source</DebugMode> <DebugMode>Source</DebugMode>
<EnableGDB>False</EnableGDB> <EnableGDB>True</EnableGDB>
<TraceMode> <TraceMode>
</TraceMode> </TraceMode>
<VMWareFlavor>Workstation</VMWareFlavor> <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."); Console.WriteLine("3 Cosmos booted successfully. Type a line of text to get it echoed back.");
Debugger.Break(); Debugger.Break();
Console.WriteLine("Test"); Console.WriteLine("Test");
while (true) {
while (true)
{
Console.Write("Input: "); Console.Write("Input: ");
string xResult = Console.ReadLine(); string xResult = Console.ReadLine();
Console.Write("Text typed: "); Console.Write("Text typed: ");