diff --git a/source/Cosmos.Kernel.FileSystems/Cosmos.FileSystem.csproj b/source/Cosmos.Kernel.FileSystems/Cosmos.FileSystem.csproj
index 53a9901fc..f9cbcb7fe 100644
--- a/source/Cosmos.Kernel.FileSystems/Cosmos.FileSystem.csproj
+++ b/source/Cosmos.Kernel.FileSystems/Cosmos.FileSystem.csproj
@@ -27,6 +27,7 @@
DEBUG;TRACE
prompt
4
+ true
pdbonly
@@ -46,6 +47,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2.Structs.cs b/source/Cosmos.Kernel.FileSystems/Old/Ext2.Structs.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2.Structs.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Ext2.Structs.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2.cs b/source/Cosmos.Kernel.FileSystems/Old/Ext2.cs
similarity index 74%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Ext2.cs
index ea127879c..83760523c 100644
--- a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2.cs
+++ b/source/Cosmos.Kernel.FileSystems/Old/Ext2.cs
@@ -64,8 +64,9 @@ namespace Cosmos.Kernel.FileSystem {
return -1;
}
int xBytesToRead = count;
- byte* xBuffer = (byte*)Heap.MemAlloc(mFilesystem.mBlockSize);
- while (xBytesToRead > 0) {
+ //byte* xBuffer = (byte*)Heap.MemAlloc(mFilesystem.mBlockSize);
+ byte* xBuffer = null;
+ while (xBytesToRead > 0) {
if (!mFilesystem.ReadINodeContents(&xINode, xBlock, xBuffer)) {
return -2;
}
@@ -112,9 +113,9 @@ namespace Cosmos.Kernel.FileSystem {
fixed (byte* xByteBuff = &xBytes[0]) {
var xByteBuffAsSuperBlock = (SuperBlock*)xByteBuff;
mSuperBlock = xByteBuffAsSuperBlock[0];
- DebugUtil.SendExt2_SuperBlock("", mSuperBlock);
+// DebugUtil.SendExt2_SuperBlock("", mSuperBlock);
mBlockSize = (uint)(1024 << (byte)(mSuperBlock.LogBlockSize));
- DebugUtil.SendDoubleNumber("Numbers", "", mSuperBlock.INodesCount, 32, mSuperBlock.INodesPerGroup, 32);
+// DebugUtil.SendDoubleNumber("Numbers", "", mSuperBlock.INodesCount, 32, mSuperBlock.INodesPerGroup, 32);
mGroupsCount = mSuperBlock.INodesCount / mSuperBlock.INodesPerGroup;
mGroupDescriptorsPerBlock = (uint)(mBlockSize / sizeof(GroupDescriptor));
if (!ReadGroupDescriptorsOfBlock()) {
@@ -129,7 +130,7 @@ namespace Cosmos.Kernel.FileSystem {
mGroupDescriptors = new GroupDescriptor[mGroupsCount];
GroupDescriptor* xDescriptorPtr=(GroupDescriptor*)0;
for (int i = 0; i < mGroupsCount; i++) {
- DebugUtil.SendNumber("Ext2", "ReadGroupDescriptorsOfBlock, I", (uint)i, 16);
+// DebugUtil.SendNumber("Ext2", "ReadGroupDescriptorsOfBlock, I", (uint)i, 16);
uint xATABlock = (uint)(mBlockSize / mBackend.BlockSize);
xATABlock += (uint)(i / mGroupDescriptorsPerBlock);
if ((i % 16) == 0) {
@@ -138,10 +139,10 @@ namespace Cosmos.Kernel.FileSystem {
xDescriptorPtr = (GroupDescriptor*)xDescriptorPtr2;
}
}
- GroupDescriptor* xItem = (GroupDescriptor*)Heap.MemAlloc((uint)sizeof(GroupDescriptor));
- CopyPointers((byte*)&xDescriptorPtr[i % mGroupDescriptorsPerBlock], (byte*)xItem, (uint)sizeof(GroupDescriptor));
- mGroupDescriptors[i] = *xItem;
- DebugUtil.SendExt2_GroupDescriptor("ReadGroupDescriptorsOfBlock", xATABlock, i, 0, xDescriptorPtr[i % mGroupDescriptorsPerBlock]);
+ //GroupDescriptor* xItem = (GroupDescriptor*)Heap.MemAlloc((uint)sizeof(GroupDescriptor));
+ //CopyPointers((byte*)&xDescriptorPtr[i % mGroupDescriptorsPerBlock], (byte*)xItem, (uint)sizeof(GroupDescriptor));
+ //mGroupDescriptors[i] = *xItem;
+// DebugUtil.SendExt2_GroupDescriptor("ReadGroupDescriptorsOfBlock", xATABlock, i, 0, xDescriptorPtr[i % mGroupDescriptorsPerBlock]);
}
return true;
}
@@ -241,28 +242,30 @@ namespace Cosmos.Kernel.FileSystem {
}
private unsafe bool ReadINode(uint aINodeNumber, out INode aINode) {
- DebugUtil.SendNumber("Ext2", "reading INode", aINodeNumber, 32);
- aINodeNumber--;
- uint xGroup = aINodeNumber / mSuperBlock.INodesPerGroup;
- DebugUtil.SendNumber("Ext2", "xGroup", xGroup, 32);
- uint xIndex = (aINodeNumber % mSuperBlock.INodesPerGroup) * mSuperBlock.INodeSize;
- DebugUtil.SendNumber("Ext2", "xIndex", xIndex, 32);
- uint xOffset = xIndex % mBlockSize;
- DebugUtil.SendNumber("Ext2", "xOffset", xOffset, 32);
- uint xLogBlockNumber = mGroupDescriptors[xGroup].INodeTable;
- DebugUtil.SendNumber("Ext2", "InodeBitmap", mGroupDescriptors[xGroup].INodeBitmap, 32);
- DebugUtil.SendNumber("Ext2", "xLogBlockNumber(1)", xLogBlockNumber, 32);
- xLogBlockNumber += (xIndex / mBlockSize);
- DebugUtil.SendNumber("Ext2", "xLogBlockNumber(2)", xLogBlockNumber, 32);
- uint xPhBlockNumber = (xLogBlockNumber * mBlockSize) / mBackend.BlockSize;
- xPhBlockNumber += xIndex / mBackend.BlockSize;
- xIndex %= mBackend.BlockSize;
- var xBytes = mBackend.ReadBlock(xPhBlockNumber);
- DebugUtil.SendNumber("Ext2", "BlockOffset", xIndex, 32);
- fixed (byte* xINodePtr = &xBytes[xIndex]) {
- aINode = *(INode*)xINodePtr;
- }
- return true;
+ //DebugUtil.SendNumber("Ext2", "reading INode", aINodeNumber, 32);
+ //aINodeNumber--;
+ //uint xGroup = aINodeNumber / mSuperBlock.INodesPerGroup;
+ //DebugUtil.SendNumber("Ext2", "xGroup", xGroup, 32);
+ //uint xIndex = (aINodeNumber % mSuperBlock.INodesPerGroup) * mSuperBlock.INodeSize;
+ //DebugUtil.SendNumber("Ext2", "xIndex", xIndex, 32);
+ //uint xOffset = xIndex % mBlockSize;
+ //DebugUtil.SendNumber("Ext2", "xOffset", xOffset, 32);
+ //uint xLogBlockNumber = mGroupDescriptors[xGroup].INodeTable;
+ //DebugUtil.SendNumber("Ext2", "InodeBitmap", mGroupDescriptors[xGroup].INodeBitmap, 32);
+ //DebugUtil.SendNumber("Ext2", "xLogBlockNumber(1)", xLogBlockNumber, 32);
+ //xLogBlockNumber += (xIndex / mBlockSize);
+ //DebugUtil.SendNumber("Ext2", "xLogBlockNumber(2)", xLogBlockNumber, 32);
+ //uint xPhBlockNumber = (xLogBlockNumber * mBlockSize) / mBackend.BlockSize;
+ uint xPhBlockNumber = 0;
+ //xPhBlockNumber += xIndex / mBackend.BlockSize;
+ //xIndex %= mBackend.BlockSize;
+ var xBytes = mBackend.ReadBlock(xPhBlockNumber);
+ //DebugUtil.SendNumber("Ext2", "BlockOffset", xIndex, 32);
+ //fixed (byte* xINodePtr = &xBytes[xIndex]) {
+ fixed (byte* xINodePtr = &xBytes[0]) {
+ aINode = *(INode*)xINodePtr;
+ }
+ return true;
}
///
@@ -331,30 +334,31 @@ namespace Cosmos.Kernel.FileSystem {
if (xSize > mBackend.BlockSize) {
xSize = mBackend.BlockSize;
}
- DebugUtil.SendNumber("Ext2", "ReadFile, Block1", xINode.Block1, 32);
- byte* xBuff = (byte*)Heap.MemAlloc(mBlockSize);
+// DebugUtil.SendNumber("Ext2", "ReadFile, Block1", xINode.Block1, 32);
+ //byte* xBuff = (byte*)Heap.MemAlloc(mBlockSize);
try {
- if (!ReadINodeContents(&xINode, 0, xBuff)) {
+ //if (!ReadINodeContents(&xINode, 0, xBuff)) {
return null;
- }
+ //}
byte[] xResult = new byte[xSize];
for (int i = 0; i < xSize; i++) {
- xResult[i] = xBuff[i];
+ //xResult[i] = xBuff[i];
}
return xResult;
} finally {
- Heap.MemFree((uint)xBuff);
+ //Heap.MemFree((uint)xBuff);
}
}
private bool GetINodeByName(string[] aPath, out INode aINode) {
- ushort* xBuffer = (ushort*)Heap.MemAlloc(mBackend.BlockSize);
- byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
- INode xCurrentINode = new INode();
+ //ushort* xBuffer = (ushort*)Heap.MemAlloc(mBackend.BlockSize);
+ //byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
+ byte* xExt2BlockBuffer = null;
+ INode xCurrentINode = new INode();
aINode = xCurrentINode;
if (!ReadINode(EXT2_ROOT_INO, out xCurrentINode)) {
- Heap.MemFree((uint)xBuffer);
- Heap.MemFree((uint)xExt2BlockBuffer);
+// Heap.MemFree((uint)xBuffer);
+// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
bool xCurrentINodeChanged = true;
@@ -365,20 +369,20 @@ namespace Cosmos.Kernel.FileSystem {
Console.WriteLine("");
if (!xCurrentINodeChanged) {
Console.WriteLine("Terminating for loop, CurrentINode didn't change");
- Heap.MemFree((uint)xBuffer);
- Heap.MemFree((uint)xExt2BlockBuffer);
+// Heap.MemFree((uint)xBuffer);
+// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
xCurrentINodeChanged = false;
if (!ReadINodeContents(&xCurrentINode, 0, xExt2BlockBuffer)) {
- Heap.MemFree((uint)xBuffer);
- Heap.MemFree((uint)xExt2BlockBuffer);
+// Heap.MemFree((uint)xBuffer);
+// Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
DirectoryEntry* xEntryPtr = (DirectoryEntry*)xExt2BlockBuffer;
uint xTotalSize = mBlockSize;
while (xTotalSize != 0) {
- DebugUtil.SendExt2_DirectoryEntry(xEntryPtr);
+// DebugUtil.SendExt2_DirectoryEntry(xEntryPtr);
uint xPtrAddress = (uint)xEntryPtr;
char[] xName = new char[xEntryPtr->NameLength];
byte* xNamePtr = &xEntryPtr->FirstNameChar;
@@ -388,8 +392,8 @@ namespace Cosmos.Kernel.FileSystem {
xInspectedINodeCount++;
if (EqualsName(aPath[i], xName)) {
if (!ReadINode(xEntryPtr->INodeNumber, out xCurrentINode)) {
- Heap.MemFree((uint)xBuffer);
- Heap.MemFree((uint)xExt2BlockBuffer);
+// Heap.MemFree((uint)xBuffer);
+ //Heap.MemFree((uint)xExt2BlockBuffer);
return false;
}
xCurrentINodeChanged = true;
@@ -408,23 +412,24 @@ namespace Cosmos.Kernel.FileSystem {
public string[] GetDirectoryEntries(string[] aPath) {
List xResult = new List(32);
INode xINode;
- byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
- if (!GetINodeByName(aPath, out xINode)) {
+ //byte* xExt2BlockBuffer = (byte*)Heap.MemAlloc(mBlockSize);
+ byte* xExt2BlockBuffer = null;
+ if (!GetINodeByName(aPath, out xINode)) {
throw new Exception("Couldn't find path!");
}
if ((xINode.Mode & INodeModeEnum.Directory) == 0) {
Console.WriteLine("Ext2|GetDirectoryEntries, No directory after for loop");
return null;
}
- if (!ReadINodeContents(&xINode, 0, xExt2BlockBuffer)) {
- Heap.MemFree((uint)xExt2BlockBuffer);
+// if (!ReadINodeContents(&xINode, 0, xExt2BlockBuffer)) {
+// Heap.MemFree((uint)xExt2BlockBuffer);
return null;
- }
+// }
DirectoryEntry* xEntry = (DirectoryEntry*)xExt2BlockBuffer;
uint xSize = mBlockSize;
- DebugUtil.SendMessage("Ext2", "GetDirectoryEntries");
+// DebugUtil.SendMessage("Ext2", "GetDirectoryEntries");
while (xSize != 0) {
- DebugUtil.SendExt2_DirectoryEntry(xEntry);
+// DebugUtil.SendExt2_DirectoryEntry(xEntry);
uint xPtrAddress = (uint)xEntry;
char[] xName = new char[xEntry->NameLength];
byte* xNamePtr = &xEntry->FirstNameChar;
@@ -437,7 +442,7 @@ namespace Cosmos.Kernel.FileSystem {
xSize -= xEntry->RecordLength;
xEntry = (DirectoryEntry*)xPtrAddress;
}
- Heap.MemFree((uint)xExt2BlockBuffer);
+// Heap.MemFree((uint)xExt2BlockBuffer);
return xResult.ToArray();
}
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2Old.Structs.cs b/source/Cosmos.Kernel.FileSystems/Old/Ext2Old.Structs.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2Old.Structs.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Ext2Old.Structs.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2Old.cs b/source/Cosmos.Kernel.FileSystems/Old/Ext2Old.cs
similarity index 93%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2Old.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Ext2Old.cs
index 8d342889d..40f172b7e 100644
--- a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Ext2Old.cs
+++ b/source/Cosmos.Kernel.FileSystems/Old/Ext2Old.cs
@@ -24,8 +24,9 @@ namespace Cosmos.Kernel.FileSystem {
}
public static unsafe void PrintAllFilesAndDirectories(byte aController, byte aDrive) {
- ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
- if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
+ //ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
+ ushort* xBuffer = null;
+ if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
Console.WriteLine("[Ext2|SuperBlock] Error while reading SuperBlock data");
return;
}
@@ -82,7 +83,7 @@ namespace Cosmos.Kernel.FileSystem {
xName[c] = (char)xNamePtr[c];
}
string s = new String(xName);
- DebugUtil.SendMessage("Ext2, DirectoryEntryName", s);
+// DebugUtil.SendMessage("Ext2, DirectoryEntryName", s);
//}
xPtrAddress += xEntryPtr->RecordLength;
xTotalSize -= xEntryPtr->RecordLength;
@@ -94,12 +95,13 @@ namespace Cosmos.Kernel.FileSystem {
}
}
- DebugUtil.SendNumber("Ext2", "Used INode count", xCount, 32);
+// DebugUtil.SendNumber("Ext2", "Used INode count", xCount, 32);
}
public static unsafe byte[] ReadFile(byte aController, byte aDrive, string[] xPath) {
- ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
- if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
+ //ushort* xBuffer = (ushort*)Heap.MemAlloc(512);
+ ushort* xBuffer = null;
+ if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, 2, xBuffer)) {
Console.WriteLine("[Ext2|SuperBlock] Error while reading SuperBlock data");
return null;
}
@@ -135,7 +137,7 @@ namespace Cosmos.Kernel.FileSystem {
Hardware.Storage.ATAOld.WriteNumber(xCurrentINode, 32);
Console.WriteLine("");
- DebugUtil.SendNumber("Ext2", "Current INode", xCurrentINode, 32);
+// DebugUtil.SendNumber("Ext2", "Current INode", xCurrentINode, 32);
for (uint g = 0; g < xGroupDescriptors.Length; g++) {
GroupDescriptor xGroupDescriptor = xGroupDescriptors[g];
if (!Hardware.Storage.ATAOld.ReadDataNew(aController, aDrive, (int)((xGroupDescriptor.INodeBitmap) * 8), xBuffer)) {
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Fat16.cs b/source/Cosmos.Kernel.FileSystems/Old/Fat16.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Fat16.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Fat16.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/File.cs b/source/Cosmos.Kernel.FileSystems/Old/File.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/File.cs
rename to source/Cosmos.Kernel.FileSystems/Old/File.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/FileSystem.cs b/source/Cosmos.Kernel.FileSystems/Old/FileSystem.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/FileSystem.cs
rename to source/Cosmos.Kernel.FileSystems/Old/FileSystem.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/FileSystem2.cs b/source/Cosmos.Kernel.FileSystems/Old/FileSystem2.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/FileSystem2.cs
rename to source/Cosmos.Kernel.FileSystems/Old/FileSystem2.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/ISO9660.cs b/source/Cosmos.Kernel.FileSystems/Old/ISO9660.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/ISO9660.cs
rename to source/Cosmos.Kernel.FileSystems/Old/ISO9660.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/Path.cs b/source/Cosmos.Kernel.FileSystems/Old/Path.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/Path.cs
rename to source/Cosmos.Kernel.FileSystems/Old/Path.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Old/FileSystem/TestsMatthijs.cs b/source/Cosmos.Kernel.FileSystems/Old/TestsMatthijs.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/FileSystem/TestsMatthijs.cs
rename to source/Cosmos.Kernel.FileSystems/Old/TestsMatthijs.cs
diff --git a/source/Cosmos/Cosmos.Kernel/Cosmos.Kernel.csproj b/source/Cosmos/Cosmos.Kernel/Cosmos.Kernel.csproj
index d42770de7..a030d2602 100644
--- a/source/Cosmos/Cosmos.Kernel/Cosmos.Kernel.csproj
+++ b/source/Cosmos/Cosmos.Kernel/Cosmos.Kernel.csproj
@@ -47,15 +47,10 @@
-
-
-
-
-
-
+
-
+
@@ -74,12 +69,6 @@
-
-
-
-
-
-
diff --git a/source/Cosmos/Cosmos.Kernel/Debug.cs b/source/Cosmos/Cosmos.Kernel/Debug.cs
new file mode 100644
index 000000000..26c533a45
--- /dev/null
+++ b/source/Cosmos/Cosmos.Kernel/Debug.cs
@@ -0,0 +1,771 @@
+
+namespace Cosmos.Kernel {
+ public static class DebugUtil {
+ public static void Initialize() {
+ Hardware.DebugUtil.Initialize();
+ }
+
+ private static void StartLogging() {
+ Hardware.DebugUtil.StartLogging();
+ }
+
+ private static void EndLogging() {
+ Hardware.DebugUtil.EndLogging();
+ }
+
+ public static void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendTestCase(string testcase) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendTestAssert(bool condition, string message) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendDoubleNumber(string aModule, string aDescription, uint aNumber, byte aBits, uint aNumber2, byte aBits2) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendMessage(string aModule, string aData) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendKeyboardEvent(uint aScanCode, bool aReleased) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendError(string aModule, string aData) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendError(string aModule, string aDescription, uint aData, byte aBits) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendWarning(string aModule, string aData) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendMM_Alloc(uint aStartAddr, uint aLength) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendMM_Init(uint aStartAddr, uint aLength) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ public static void SendMM_Free(uint aStartAddr, uint aLength) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ EndLogging();
+ }
+
+ //internal static void SendExt2_GroupDescriptor(string aDescription, uint aBlock, int aIndex, uint aAddresss, FileSystem.Ext2.GroupDescriptor aDescriptor) {
+ // StartLogging();
+ // Hardware.DebugUtil.WriteSerialString("\r\n");
+ // EndLogging();
+ //}
+
+ //internal static unsafe void SendExt2_SuperBlock(string aDescription, FileSystem.Ext2.SuperBlock aSuperBlock) {
+ // StartLogging();
+ // Hardware.DebugUtil.WriteSerialString("\r\n");
+ // EndLogging();
+ //}
+
+ //internal static void SendExt2_INodeMode(uint aIdentifier, ushort aMode) {
+ // StartLogging();
+ // Hardware.DebugUtil.WriteSerialString("\r\n");
+ // EndLogging();
+ //}
+
+ //internal static unsafe void SendExt2_INode(uint aIdentifier, FileSystem.Ext2.INode* aINode) {
+ // StartLogging();
+ // Hardware.DebugUtil.WriteSerialString("Mode, 16);
+ // Hardware.DebugUtil.WriteSerialString("\" UID=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->UID, 16);
+ // Hardware.DebugUtil.WriteSerialString("\" Size=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Size, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" ATime=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->ATime, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" CTime=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->CTime, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->MTime, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" DTime=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->DTime, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" GID=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->GID, 16);
+ // Hardware.DebugUtil.WriteSerialString("\" LinksCount=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->LinksCount, 16);
+ // Hardware.DebugUtil.WriteSerialString("\" Blocks=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Blocks, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Flags=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Flags, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" OSD1=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->OSD1, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block1=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block1, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block2=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block2, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block3=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block3, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block4=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block4, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block5=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block5, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block6=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block6, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block7=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block7, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block8=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block8, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block9=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block9, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block10=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block10, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block11=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block11, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block12=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block12, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block13=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block13, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block14=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block14, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Block15=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Block15, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" Generation=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->Generation, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" FileACL=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->FileACL, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" DirACL=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->DirACL, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" FAddr=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->FAddr, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" OSD2_1=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->OSD2_1, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" OSD2_2=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->OSD2_2, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" OSD2_3=\"");
+ // Hardware.DebugUtil.WriteNumber(aINode->OSD2_3, 32);
+ // Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
+ // EndLogging();
+ //}
+
+ //internal static unsafe void SendExt2_DirectoryEntry(FileSystem.Ext2.DirectoryEntry* aEntryPtr) {
+ // StartLogging();
+ // Hardware.DebugUtil.WriteSerialString("INodeNumber, 32);
+ // Hardware.DebugUtil.WriteSerialString("\" RecordLength=\"");
+ // Hardware.DebugUtil.WriteNumber(aEntryPtr->RecordLength, 16);
+ // Hardware.DebugUtil.WriteSerialString("\" NameLength=\"");
+ // Hardware.DebugUtil.WriteNumber(aEntryPtr->NameLength, 8);
+ // Hardware.DebugUtil.WriteSerialString("\" FileType=\"");
+ // Hardware.DebugUtil.WriteNumber(aEntryPtr->FileType, 8);
+ // Hardware.DebugUtil.WriteSerialString("\" Name=\"0x");
+ // byte* xNameByte = &aEntryPtr->FirstNameChar;
+ // for (int i = 0; i < aEntryPtr->NameLength; i++) {
+ // Hardware.DebugUtil.WriteNumber(xNameByte[i], 8, false);
+ // }
+ // Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
+ // EndLogging();
+ //}
+
+ internal static void SendByteStream(string aModule, string aDescription, byte[] aContents) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ }
+
+ internal static unsafe void SendBytes(string aModule, string aDescription, byte* aContents, uint aIndex, uint aCount) {
+ StartLogging();
+ Hardware.DebugUtil.WriteSerialString("\r\n");
+ }
+ }
+}
\ No newline at end of file
diff --git a/source/Cosmos/Cosmos.Kernel/Old/Debug.cs b/source/Cosmos/Cosmos.Kernel/Old/Debug.cs
deleted file mode 100644
index 0ed44ced4..000000000
--- a/source/Cosmos/Cosmos.Kernel/Old/Debug.cs
+++ /dev/null
@@ -1,771 +0,0 @@
-
-namespace Cosmos.Kernel {
- public static class DebugUtil {
- public static void Initialize() {
- Hardware.DebugUtil.Initialize();
- }
-
- private static void StartLogging() {
- Hardware.DebugUtil.StartLogging();
- }
-
- private static void EndLogging() {
- Hardware.DebugUtil.EndLogging();
- }
-
- public static void SendNumber(string aModule, string aDescription, uint aNumber, byte aBits) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendTestCase(string testcase) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendTestAssert(bool condition, string message) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendDoubleNumber(string aModule, string aDescription, uint aNumber, byte aBits, uint aNumber2, byte aBits2) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendMessage(string aModule, string aData) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendKeyboardEvent(uint aScanCode, bool aReleased) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendError(string aModule, string aData) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendError(string aModule, string aDescription, uint aData, byte aBits) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendWarning(string aModule, string aData) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendMM_Alloc(uint aStartAddr, uint aLength) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendMM_Init(uint aStartAddr, uint aLength) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- public static void SendMM_Free(uint aStartAddr, uint aLength) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- internal static void SendExt2_GroupDescriptor(string aDescription, uint aBlock, int aIndex, uint aAddresss, FileSystem.Ext2.GroupDescriptor aDescriptor) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- internal static unsafe void SendExt2_SuperBlock(string aDescription, FileSystem.Ext2.SuperBlock aSuperBlock) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- internal static void SendExt2_INodeMode(uint aIdentifier, ushort aMode) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- EndLogging();
- }
-
- internal static unsafe void SendExt2_INode(uint aIdentifier, FileSystem.Ext2.INode* aINode) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("Mode, 16);
- Hardware.DebugUtil.WriteSerialString("\" UID=\"");
- Hardware.DebugUtil.WriteNumber(aINode->UID, 16);
- Hardware.DebugUtil.WriteSerialString("\" Size=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Size, 32);
- Hardware.DebugUtil.WriteSerialString("\" ATime=\"");
- Hardware.DebugUtil.WriteNumber(aINode->ATime, 32);
- Hardware.DebugUtil.WriteSerialString("\" CTime=\"");
- Hardware.DebugUtil.WriteNumber(aINode->CTime, 32);
- Hardware.DebugUtil.WriteSerialString("\" MTime=\"");
- Hardware.DebugUtil.WriteNumber(aINode->MTime, 32);
- Hardware.DebugUtil.WriteSerialString("\" DTime=\"");
- Hardware.DebugUtil.WriteNumber(aINode->DTime, 32);
- Hardware.DebugUtil.WriteSerialString("\" GID=\"");
- Hardware.DebugUtil.WriteNumber(aINode->GID, 16);
- Hardware.DebugUtil.WriteSerialString("\" LinksCount=\"");
- Hardware.DebugUtil.WriteNumber(aINode->LinksCount, 16);
- Hardware.DebugUtil.WriteSerialString("\" Blocks=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Blocks, 32);
- Hardware.DebugUtil.WriteSerialString("\" Flags=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Flags, 32);
- Hardware.DebugUtil.WriteSerialString("\" OSD1=\"");
- Hardware.DebugUtil.WriteNumber(aINode->OSD1, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block1=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block1, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block2=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block2, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block3=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block3, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block4=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block4, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block5=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block5, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block6=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block6, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block7=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block7, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block8=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block8, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block9=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block9, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block10=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block10, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block11=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block11, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block12=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block12, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block13=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block13, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block14=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block14, 32);
- Hardware.DebugUtil.WriteSerialString("\" Block15=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Block15, 32);
- Hardware.DebugUtil.WriteSerialString("\" Generation=\"");
- Hardware.DebugUtil.WriteNumber(aINode->Generation, 32);
- Hardware.DebugUtil.WriteSerialString("\" FileACL=\"");
- Hardware.DebugUtil.WriteNumber(aINode->FileACL, 32);
- Hardware.DebugUtil.WriteSerialString("\" DirACL=\"");
- Hardware.DebugUtil.WriteNumber(aINode->DirACL, 32);
- Hardware.DebugUtil.WriteSerialString("\" FAddr=\"");
- Hardware.DebugUtil.WriteNumber(aINode->FAddr, 32);
- Hardware.DebugUtil.WriteSerialString("\" OSD2_1=\"");
- Hardware.DebugUtil.WriteNumber(aINode->OSD2_1, 32);
- Hardware.DebugUtil.WriteSerialString("\" OSD2_2=\"");
- Hardware.DebugUtil.WriteNumber(aINode->OSD2_2, 32);
- Hardware.DebugUtil.WriteSerialString("\" OSD2_3=\"");
- Hardware.DebugUtil.WriteNumber(aINode->OSD2_3, 32);
- Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
- EndLogging();
- }
-
- internal static unsafe void SendExt2_DirectoryEntry(FileSystem.Ext2.DirectoryEntry* aEntryPtr) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("INodeNumber, 32);
- Hardware.DebugUtil.WriteSerialString("\" RecordLength=\"");
- Hardware.DebugUtil.WriteNumber(aEntryPtr->RecordLength, 16);
- Hardware.DebugUtil.WriteSerialString("\" NameLength=\"");
- Hardware.DebugUtil.WriteNumber(aEntryPtr->NameLength, 8);
- Hardware.DebugUtil.WriteSerialString("\" FileType=\"");
- Hardware.DebugUtil.WriteNumber(aEntryPtr->FileType, 8);
- Hardware.DebugUtil.WriteSerialString("\" Name=\"0x");
- byte* xNameByte = &aEntryPtr->FirstNameChar;
- for (int i = 0; i < aEntryPtr->NameLength; i++) {
- Hardware.DebugUtil.WriteNumber(xNameByte[i], 8, false);
- }
- Hardware.DebugUtil.WriteSerialString("\"/>\r\n");
- EndLogging();
- }
-
- internal static void SendByteStream(string aModule, string aDescription, byte[] aContents) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- }
-
- internal static unsafe void SendBytes(string aModule, string aDescription, byte* aContents, uint aIndex, uint aCount) {
- StartLogging();
- Hardware.DebugUtil.WriteSerialString("\r\n");
- }
- }
-}
\ No newline at end of file
diff --git a/source/Cosmos/Cosmos.Kernel/Old/TextScreen-Old.cs b/source/Cosmos/Cosmos.Kernel/TextScreen-Old.cs
similarity index 100%
rename from source/Cosmos/Cosmos.Kernel/Old/TextScreen-Old.cs
rename to source/Cosmos/Cosmos.Kernel/TextScreen-Old.cs
diff --git a/source/Cosmos/Cosmos.Shell.Console/Commands/DirCommand.cs b/source/Cosmos/Cosmos.Shell.Console/Commands/DirCommand.cs
index 03fab076b..f43a3496c 100644
--- a/source/Cosmos/Cosmos.Shell.Console/Commands/DirCommand.cs
+++ b/source/Cosmos/Cosmos.Shell.Console/Commands/DirCommand.cs
@@ -23,20 +23,20 @@ namespace Cosmos.Shell.Console.Commands {
var xDevice = Hardware.Device.Devices[i];
if (xDevice.Type == Cosmos.Hardware.Device.DeviceType.Storage) {
var xBlockDevice = (Hardware.BlockDevice)xDevice;
- Cosmos.Kernel.FileSystem.Ext2 xExt2 = new Cosmos.Kernel.FileSystem.Ext2(xBlockDevice);
+ //Cosmos.Kernel.FileSystem.Ext2 xExt2 = new Cosmos.Kernel.FileSystem.Ext2(xBlockDevice);
- if (!xExt2.Initialize()) {
- System.Console.WriteLine("Error while initializing Ext2 Filesystem!");
- } else {
- System.Console.WriteLine("ATA and Ext2 successfully initialized!");
- // System.Diagnostics.Debugger.Break();
- string[] files = xExt2.GetDirectoryEntries(new string[0]);
- if (files == null) {
- System.Console.WriteLine("Error while getting DirectoryEntries");
- }
- for (int f = 0; f < files.Length; f++)
- System.Console.WriteLine(files[f]);
- }
+ //if (!xExt2.Initialize()) {
+ // System.Console.WriteLine("Error while initializing Ext2 Filesystem!");
+ //} else {
+ // System.Console.WriteLine("ATA and Ext2 successfully initialized!");
+ // // System.Diagnostics.Debugger.Break();
+ // string[] files = xExt2.GetDirectoryEntries(new string[0]);
+ // if (files == null) {
+ // System.Console.WriteLine("Error while getting DirectoryEntries");
+ // }
+ // for (int f = 0; f < files.Length; f++)
+ // System.Console.WriteLine(files[f]);
+ //}
return;
}
System.Console.Write("Device Type: ");