summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-25 20:17:53 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-25 20:17:53 +0100
commit3b3b36dcc6542e203475fe1d50ed89799e3f3fc6 (patch)
tree3d1e4cfba79343e2b5ef8db58c58271009a44937
parentd968190d1ba48638c1481be0d367ee3cea82ae55 (diff)
Kernel: implement some tickets, improved stuff.
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
-rw-r--r--Private/KernelKit/Framebuffer.hpp22
-rw-r--r--Private/ObjectKit/ObjectKit.hxx3
-rw-r--r--Private/Source/Framebuffer.cxx32
-rw-r--r--Private/Source/KernelHeap.cxx10
-rw-r--r--Public/Developer/.gitkeep (renamed from Public/SDK/.gitkeep)0
-rw-r--r--Public/Developer/System.Core/.gitkeep (renamed from Public/SDK/System.Core/.gitkeep)0
-rw-r--r--Public/Developer/System.Core/AMD64/HCoreAssemblyRoutines.s (renamed from Public/SDK/System.Core/AMD64/HCoreAssemblyRoutines.s)0
-rw-r--r--Public/Developer/System.Core/ARM64/.gitkeep (renamed from Public/SDK/System.Core/ARM64/.gitkeep)0
-rw-r--r--Public/Developer/System.Core/Headers/Containers/ODF.hxx (renamed from Public/SDK/System.Core/Headers/FormatManager/ODF.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Containers/XIFF.hxx (renamed from Public/SDK/System.Core/Headers/FormatManager/XIFF.hxx)15
-rw-r--r--Public/Developer/System.Core/Headers/Defines.hxx (renamed from Public/SDK/System.Core/Headers/Defines.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/File.hxx (renamed from Public/SDK/System.Core/Headers/File.hxx)2
-rw-r--r--Public/Developer/System.Core/Headers/Heap.hxx (renamed from Public/SDK/System.Core/Headers/Heap.hxx)13
-rw-r--r--Public/Developer/System.Core/Headers/Hint.hxx (renamed from Public/SDK/System.Core/Headers/Hint.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Thread.hxx (renamed from Public/SDK/System.Core/Headers/Thread.hxx)8
-rw-r--r--Public/Developer/System.Core/Headers/Window/Dialog.hxx (renamed from Public/SDK/System.Core/Headers/UIManager/Dialog.hxx)1
-rw-r--r--Public/Developer/System.Core/Headers/Window/Image.hxx (renamed from Public/SDK/System.Core/Headers/UIManager/Image.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Window/Menu.hxx (renamed from Public/SDK/System.Core/Headers/UIManager/Menu.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Window/Rsrc.hxx (renamed from Public/SDK/System.Core/Headers/UIManager/Rsrc.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Window/TrueType.hxx (renamed from Public/SDK/System.Core/Headers/UIManager/TrueType.hxx)0
-rw-r--r--Public/Developer/System.Core/Headers/Window/Window.hxx38
-rw-r--r--Public/Developer/System.Core/Makefile (renamed from Public/SDK/System.Core/Makefile)2
-rw-r--r--Public/Developer/System.Core/RISCV/.gitkeep (renamed from Public/SDK/System.Core/RISCV/.gitkeep)0
-rw-r--r--Public/Developer/System.Core/ReadMe.md (renamed from Public/SDK/System.Core/ReadMe.md)0
-rw-r--r--Public/Developer/System.Core/Sources/Heap.cxx (renamed from Public/SDK/System.Core/Sources/Heap.cxx)0
-rw-r--r--Public/Developer/System.Core/Sources/LibEntrypoint.cxx (renamed from Public/SDK/System.Core/Sources/LibEntrypoint.cxx)0
-rw-r--r--Public/Developer/System.Core/Sources/New+Delete.cxx (renamed from Public/SDK/System.Core/Sources/New+Delete.cxx)13
-rw-r--r--Public/Developer/System.Core/compile_flags.txt (renamed from Public/SDK/System.Core/compile_flags.txt)0
-rw-r--r--Public/Documentation/BUG_LIST.TXT1
-rw-r--r--Public/Documentation/Specs.md (renamed from Public/Documentation/SPECIFICATION.TXT)10
-rw-r--r--Public/Documentation/Todo.md (renamed from Public/Documentation/TODO_LIST.TXT)8
-rw-r--r--Public/Documentation/compile_flags.txt5
-rw-r--r--Public/Documentation/kernel-design.drawio (renamed from Public/Documentation/DESIGN.DRAWIO)0
-rw-r--r--Public/SDK/System.Core/Headers/UIManager/Window.hxx8
34 files changed, 133 insertions, 58 deletions
diff --git a/Private/KernelKit/Framebuffer.hpp b/Private/KernelKit/Framebuffer.hpp
index daf95ed0..0dfeacef 100644
--- a/Private/KernelKit/Framebuffer.hpp
+++ b/Private/KernelKit/Framebuffer.hpp
@@ -28,7 +28,8 @@ class FramebufferContext final {
class Framebuffer final {
public:
- explicit Framebuffer(Ref<FramebufferContext *> &addr) : m_FrameBufferAddr(addr) {}
+ explicit Framebuffer(Ref<FramebufferContext *> &addr)
+ : m_FrameBufferAddr(addr) {}
~Framebuffer() {}
Framebuffer &operator=(const Framebuffer &) = delete;
@@ -37,12 +38,29 @@ class Framebuffer final {
volatile UIntPtr *operator[](const UIntPtr &pos);
operator bool();
-
+
const FramebufferColorKind &Color(
const FramebufferColorKind &colour = FramebufferColorKind::INVALID);
Ref<FramebufferContext *> &Leak();
+ /// @brief Draws a rectangle inside the fb.
+ /// @param width
+ /// @param height
+ /// @param x
+ /// @param y
+ /// @param color
+ /// @return
+ Framebuffer &DrawRect(SizeT width, SizeT height, SizeT x, SizeT y,
+ UInt32 color);
+
+ /// @brief Puts a pixel on the screen.
+ /// @param x where in X
+ /// @param y where in Y
+ /// @param color the color of it.
+ /// @return
+ Framebuffer &PutPixel(SizeT x, SizeT y, UInt32 color);
+
private:
Ref<FramebufferContext *> m_FrameBufferAddr;
FramebufferColorKind m_Colour;
diff --git a/Private/ObjectKit/ObjectKit.hxx b/Private/ObjectKit/ObjectKit.hxx
index 904e23cb..744f8a61 100644
--- a/Private/ObjectKit/ObjectKit.hxx
+++ b/Private/ObjectKit/ObjectKit.hxx
@@ -9,8 +9,7 @@
#include <NewKit/Defines.hpp>
#include <CFKit/GUIDWrapper.hpp>
-#define kObjectGlobalNamespaceSystem "HCORE_ROOT\\"
-#define kObjectGlobalNamespaceUser "HCORE_USER_ROOT\\"
+#define kObjectGlobalNamespace ":\\"
enum {
kObjectTypeProcess,
diff --git a/Private/Source/Framebuffer.cxx b/Private/Source/Framebuffer.cxx
index 6ea2fa5b..9c964a3c 100644
--- a/Private/Source/Framebuffer.cxx
+++ b/Private/Source/Framebuffer.cxx
@@ -33,13 +33,14 @@ volatile UIntPtr *Framebuffer::operator[](const UIntPtr &pos) {
/// @brief Boolean operator.
Framebuffer::operator bool() {
- return m_FrameBufferAddr.Leak()->m_Base != 0 && m_Colour != FramebufferColorKind::INVALID &&
- m_FrameBufferAddr.Leak()->m_Base != kBadPtr;
+ return m_FrameBufferAddr.Leak()->m_Base != 0 &&
+ m_Colour != FramebufferColorKind::INVALID &&
+ m_FrameBufferAddr.Leak()->m_Base != kBadPtr;
}
/// @brief Set color kind of framebuffer.
-/// @param colour
-/// @return
+/// @param colour
+/// @return
const FramebufferColorKind &Framebuffer::Color(
const FramebufferColorKind &colour) {
if (m_Colour != FramebufferColorKind::INVALID &&
@@ -50,8 +51,29 @@ const FramebufferColorKind &Framebuffer::Color(
return m_Colour;
}
-/// @brief Leak fraembuffer context.
+/// @brief Leak framebuffer context.
/// @return The reference of the framebuffer context.
Ref<FramebufferContext *> &Framebuffer::Leak() {
return this->m_FrameBufferAddr;
}
+
+Framebuffer &Framebuffer::DrawRect(SizeT width, SizeT height, SizeT x, SizeT y,
+ UInt32 color) {
+ for (HCore::SizeT i = x; i < width + x; ++i) {
+ for (HCore::SizeT u = y; u < height + y; ++u) {
+ *(((volatile HCore::UInt32 *)(m_FrameBufferAddr.Leak()->m_Base +
+ 4 * m_FrameBufferAddr.Leak()->m_Bpp * i +
+ 4 * u))) = color;
+ }
+ }
+
+ return *this;
+}
+
+Framebuffer &Framebuffer::PutPixel(SizeT x, SizeT y, UInt32 color) {
+ *(((volatile HCore::UInt32 *)(m_FrameBufferAddr.Leak()->m_Base +
+ 4 * m_FrameBufferAddr.Leak()->m_Bpp * x +
+ 4 * y))) = color;
+
+ return *this;
+} \ No newline at end of file
diff --git a/Private/Source/KernelHeap.cxx b/Private/Source/KernelHeap.cxx
index a38156f4..39648102 100644
--- a/Private/Source/KernelHeap.cxx
+++ b/Private/Source/KernelHeap.cxx
@@ -75,8 +75,9 @@ Int32 ke_delete_ke_heap(VoidPtr heapPtr) {
if (virtualAddress->hCRC32 != 0) {
if (virtualAddress->hCRC32 !=
ke_calculate_crc32((Char *)virtualAddress->hAddress,
- virtualAddress->hSizeAddress))
+ virtualAddress->hSizeAddress)) {
ke_stop(RUNTIME_CHECK_POINTER);
+ }
}
virtualAddress->hSizeAddress = 0UL;
@@ -112,8 +113,8 @@ Boolean ke_is_valid_heap(VoidPtr heapPtr) {
}
/// @brief Protect the heap pointer with a CRC32.
-/// @param heapPtr
-/// @return
+/// @param heapPtr
+/// @return
Boolean ke_protect_ke_heap(VoidPtr heapPtr) {
if (heapPtr) {
Detail::HeapInformationBlockPtr virtualAddress =
@@ -121,7 +122,8 @@ Boolean ke_protect_ke_heap(VoidPtr heapPtr) {
(UIntPtr)heapPtr - sizeof(Detail::HeapInformationBlock));
if (virtualAddress->hPresent && virtualAddress->hMagic == kHeapMagic) {
- virtualAddress->hCRC32 = ke_calculate_crc32((Char*)heapPtr, virtualAddress->hSizeAddress);
+ virtualAddress->hCRC32 =
+ ke_calculate_crc32((Char *)heapPtr, virtualAddress->hSizeAddress);
return true;
}
}
diff --git a/Public/SDK/.gitkeep b/Public/Developer/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/SDK/.gitkeep
+++ b/Public/Developer/.gitkeep
diff --git a/Public/SDK/System.Core/.gitkeep b/Public/Developer/System.Core/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/SDK/System.Core/.gitkeep
+++ b/Public/Developer/System.Core/.gitkeep
diff --git a/Public/SDK/System.Core/AMD64/HCoreAssemblyRoutines.s b/Public/Developer/System.Core/AMD64/HCoreAssemblyRoutines.s
index a61d6d1f..a61d6d1f 100644
--- a/Public/SDK/System.Core/AMD64/HCoreAssemblyRoutines.s
+++ b/Public/Developer/System.Core/AMD64/HCoreAssemblyRoutines.s
diff --git a/Public/SDK/System.Core/ARM64/.gitkeep b/Public/Developer/System.Core/ARM64/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/SDK/System.Core/ARM64/.gitkeep
+++ b/Public/Developer/System.Core/ARM64/.gitkeep
diff --git a/Public/SDK/System.Core/Headers/FormatManager/ODF.hxx b/Public/Developer/System.Core/Headers/Containers/ODF.hxx
index 266726bf..266726bf 100644
--- a/Public/SDK/System.Core/Headers/FormatManager/ODF.hxx
+++ b/Public/Developer/System.Core/Headers/Containers/ODF.hxx
diff --git a/Public/SDK/System.Core/Headers/FormatManager/XIFF.hxx b/Public/Developer/System.Core/Headers/Containers/XIFF.hxx
index 2531abce..11d286e9 100644
--- a/Public/SDK/System.Core/Headers/FormatManager/XIFF.hxx
+++ b/Public/Developer/System.Core/Headers/Containers/XIFF.hxx
@@ -16,6 +16,7 @@
/// @brief four-character code for XIFF.
#define kFourCCLength_XIFF 4
+#define kXIFFNameLength 255
#define kXIFFContainerVideo "XVFF"
#define kXIFFContainerAudio "XAFF"
@@ -39,4 +40,18 @@ struct PACKED XiffHeader final {
typedef struct XiffHeader XiffHeader;
+/// @brief XIFF metadata header, either located in forks or in file directly.
+/// @author Amlal EL Mahrouss
+struct ML_PACKED XiffMetadataHeader final {
+ ByteType f_Name[kXIFFNameLength];
+ DWordType f_Flags;
+ DWordType f_Type;
+ QWordType f_Offset;
+ SizeType f_Size;
+};
+
+#define kXIFFStringMetadata4CC "strp"
+#define kXIFFFontMetadata4CC "font"
+#define kXIFFResourceMetadata4CC "resx"
+
#endif // ifndef __XIFF__
diff --git a/Public/SDK/System.Core/Headers/Defines.hxx b/Public/Developer/System.Core/Headers/Defines.hxx
index 867dac76..867dac76 100644
--- a/Public/SDK/System.Core/Headers/Defines.hxx
+++ b/Public/Developer/System.Core/Headers/Defines.hxx
diff --git a/Public/SDK/System.Core/Headers/File.hxx b/Public/Developer/System.Core/Headers/File.hxx
index 60c37cc6..06c2a22e 100644
--- a/Public/SDK/System.Core/Headers/File.hxx
+++ b/Public/Developer/System.Core/Headers/File.hxx
@@ -16,6 +16,7 @@ class DirectoryInterface;
typedef IntPtrType SymlinkType;
typedef IntPtrType FileType;
typedef IntPtrType DirectoryType;
+typedef IntPtrType FSRef;
enum {
kErrorNoSuchPath = -44,
@@ -26,6 +27,7 @@ enum {
};
/// @brief System file interface
+
class FileInterface final {
public:
explicit FileInterface(const char *path) {
diff --git a/Public/SDK/System.Core/Headers/Heap.hxx b/Public/Developer/System.Core/Headers/Heap.hxx
index 06f5d38e..c134ca4e 100644
--- a/Public/SDK/System.Core/Headers/Heap.hxx
+++ b/Public/Developer/System.Core/Headers/Heap.hxx
@@ -62,16 +62,3 @@ class HeapException : public SystemException {
};
} // namespace System
-
-#define kAllocationTypes 2
-
-enum HcAllocationKind {
- kStandardAllocation = 0xC,
- kArrayAllocation = 0xD,
-};
-
-CA_EXTERN_C PtrVoidType HcAllocateProcessHeap(ObjectPtr refObj, QWordType sz,
- DWordType flags);
-CA_EXTERN_C BooleanType HcProcessHeapExists(ObjectPtr refObj, PtrVoidType ptr);
-CA_EXTERN_C QWordType HcProcessHeapSize(ObjectPtr refObj, PtrVoidType ptr);
-CA_EXTERN_C VoidType HcFreeProcessHeap(ObjectPtr refObj, PtrVoidType ptr); \ No newline at end of file
diff --git a/Public/SDK/System.Core/Headers/Hint.hxx b/Public/Developer/System.Core/Headers/Hint.hxx
index 86faf455..86faf455 100644
--- a/Public/SDK/System.Core/Headers/Hint.hxx
+++ b/Public/Developer/System.Core/Headers/Hint.hxx
diff --git a/Public/SDK/System.Core/Headers/Thread.hxx b/Public/Developer/System.Core/Headers/Thread.hxx
index 7b586cd1..df803860 100644
--- a/Public/SDK/System.Core/Headers/Thread.hxx
+++ b/Public/Developer/System.Core/Headers/Thread.hxx
@@ -13,15 +13,11 @@
#include <System.Core/Headers/Defines.hxx>
-namespace System {
/// @brief Thread Information Block, which holds information about the running
/// thread.
-typedef PtrVoidType PtrThread;
+typedef QWordType ThreadRef;
/// @brief Main application thread.
-CA_EXTERN_C PtrThread kMainThread;
-
-class ThreadInterface;
-} // namespace System
+CA_EXTERN_C ThreadRef kMainThread;
#endif // __THREAD_API__
diff --git a/Public/SDK/System.Core/Headers/UIManager/Dialog.hxx b/Public/Developer/System.Core/Headers/Window/Dialog.hxx
index 2a02b434..3e445532 100644
--- a/Public/SDK/System.Core/Headers/UIManager/Dialog.hxx
+++ b/Public/Developer/System.Core/Headers/Window/Dialog.hxx
@@ -6,3 +6,4 @@
#pragma once
+#include <System.Core/Headers/Window/Window.hxx>
diff --git a/Public/SDK/System.Core/Headers/UIManager/Image.hxx b/Public/Developer/System.Core/Headers/Window/Image.hxx
index 2a02b434..2a02b434 100644
--- a/Public/SDK/System.Core/Headers/UIManager/Image.hxx
+++ b/Public/Developer/System.Core/Headers/Window/Image.hxx
diff --git a/Public/SDK/System.Core/Headers/UIManager/Menu.hxx b/Public/Developer/System.Core/Headers/Window/Menu.hxx
index 2a02b434..2a02b434 100644
--- a/Public/SDK/System.Core/Headers/UIManager/Menu.hxx
+++ b/Public/Developer/System.Core/Headers/Window/Menu.hxx
diff --git a/Public/SDK/System.Core/Headers/UIManager/Rsrc.hxx b/Public/Developer/System.Core/Headers/Window/Rsrc.hxx
index 2a02b434..2a02b434 100644
--- a/Public/SDK/System.Core/Headers/UIManager/Rsrc.hxx
+++ b/Public/Developer/System.Core/Headers/Window/Rsrc.hxx
diff --git a/Public/SDK/System.Core/Headers/UIManager/TrueType.hxx b/Public/Developer/System.Core/Headers/Window/TrueType.hxx
index 62ed1255..62ed1255 100644
--- a/Public/SDK/System.Core/Headers/UIManager/TrueType.hxx
+++ b/Public/Developer/System.Core/Headers/Window/TrueType.hxx
diff --git a/Public/Developer/System.Core/Headers/Window/Window.hxx b/Public/Developer/System.Core/Headers/Window/Window.hxx
new file mode 100644
index 00000000..1a8c6cf6
--- /dev/null
+++ b/Public/Developer/System.Core/Headers/Window/Window.hxx
@@ -0,0 +1,38 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+#pragma once
+
+#include <System.Core/Headers/Defines.hxx>
+
+/// @file Window.hxx
+/// @brief Tracker window manager.
+/// @author Amlal El Mahrouss.
+
+typedef float PositionType;
+
+/// @brief A point, can represent the size, position of a window.
+typedef struct _Point {
+ PositionType X, Y;
+} Point;
+
+/// @brief Tracker Graphics port.
+typedef struct _GraphicsPort {
+ WordType windowPort;
+ WordType windowKind;
+ BooleanType windowVisible;
+ BooleanType windowMaximized;
+ BooleanType windowMinimized;
+ BooleanType windowMoving;
+ BooleanType windowDisableClose;
+ BooleanType windowDisableMinimize;
+ Point windowPosition;
+ Point windowSize;
+ BooleanType windowInvalidate;
+ DWordType windowClearColor;
+ WordType menuPort;
+ WordType parentPort;
+} GraphicsPort;
diff --git a/Public/SDK/System.Core/Makefile b/Public/Developer/System.Core/Makefile
index 13fdf960..28ce0bea 100644
--- a/Public/SDK/System.Core/Makefile
+++ b/Public/Developer/System.Core/Makefile
@@ -5,7 +5,7 @@
CC=x86_64-w64-mingw32-g++
CCFLAGS=-shared -ffreestanding -nostdlib -fno-rtti -fno-exceptions -std=c++20 -Xlinker --subsystem=17
-OUTPUT=System.Core.dll
+OUTPUT=System.Core.lib
.PHONY: build-core-amd64
build-core-amd64:
diff --git a/Public/SDK/System.Core/RISCV/.gitkeep b/Public/Developer/System.Core/RISCV/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/SDK/System.Core/RISCV/.gitkeep
+++ b/Public/Developer/System.Core/RISCV/.gitkeep
diff --git a/Public/SDK/System.Core/ReadMe.md b/Public/Developer/System.Core/ReadMe.md
index 3867dd3d..3867dd3d 100644
--- a/Public/SDK/System.Core/ReadMe.md
+++ b/Public/Developer/System.Core/ReadMe.md
diff --git a/Public/SDK/System.Core/Sources/Heap.cxx b/Public/Developer/System.Core/Sources/Heap.cxx
index 18106f41..18106f41 100644
--- a/Public/SDK/System.Core/Sources/Heap.cxx
+++ b/Public/Developer/System.Core/Sources/Heap.cxx
diff --git a/Public/SDK/System.Core/Sources/LibEntrypoint.cxx b/Public/Developer/System.Core/Sources/LibEntrypoint.cxx
index b874ef55..b874ef55 100644
--- a/Public/SDK/System.Core/Sources/LibEntrypoint.cxx
+++ b/Public/Developer/System.Core/Sources/LibEntrypoint.cxx
diff --git a/Public/SDK/System.Core/Sources/New+Delete.cxx b/Public/Developer/System.Core/Sources/New+Delete.cxx
index 678aacce..98674a73 100644
--- a/Public/SDK/System.Core/Sources/New+Delete.cxx
+++ b/Public/Developer/System.Core/Sources/New+Delete.cxx
@@ -7,6 +7,19 @@
#include <System.Core/Headers/Heap.hxx>
#include <System.Core/Headers/Heap.hxx>
+#define kAllocationTypes 2
+
+enum HcAllocationKind {
+ kStandardAllocation = 0xC,
+ kArrayAllocation = 0xD,
+};
+
+CA_EXTERN_C PtrVoidType HcAllocateProcessHeap(ObjectPtr refObj, QWordType sz,
+ DWordType flags);
+CA_EXTERN_C BooleanType HcProcessHeapExists(ObjectPtr refObj, PtrVoidType ptr);
+CA_EXTERN_C QWordType HcProcessHeapSize(ObjectPtr refObj, PtrVoidType ptr);
+CA_EXTERN_C VoidType HcFreeProcessHeap(ObjectPtr refObj, PtrVoidType ptr);
+
typedef SizeType size_t;
void* operator new[](size_t sz) {
diff --git a/Public/SDK/System.Core/compile_flags.txt b/Public/Developer/System.Core/compile_flags.txt
index 6e721e73..6e721e73 100644
--- a/Public/SDK/System.Core/compile_flags.txt
+++ b/Public/Developer/System.Core/compile_flags.txt
diff --git a/Public/Documentation/BUG_LIST.TXT b/Public/Documentation/BUG_LIST.TXT
deleted file mode 100644
index 6075a6ac..00000000
--- a/Public/Documentation/BUG_LIST.TXT
+++ /dev/null
@@ -1 +0,0 @@
-- PS/2 Mouse doesn't raise interrupt on qemu q35, pc machines. [WontFix] \ No newline at end of file
diff --git a/Public/Documentation/SPECIFICATION.TXT b/Public/Documentation/Specs.md
index ce6c9893..1d1e2d3a 100644
--- a/Public/Documentation/SPECIFICATION.TXT
+++ b/Public/Documentation/Specs.md
@@ -1,5 +1,5 @@
===================================
-0: General Information
+# 0: General Information
===================================
- ABI and Format: PEF/PE32+.
@@ -7,7 +7,7 @@
- Language: C++/(Assembly (AMD64, X64000, X86S, ARM64))
===================================
-1: The NewKernel
+# 1: The NewKernel
===================================
- Drive/Device Abstraction.
@@ -25,7 +25,7 @@
- Permission Selectors.
===================================
-2: The Filesystem
+# 2: The Filesystem
===================================
- Catalog based with forks.
@@ -34,7 +34,7 @@
- UNIX path style.
==================================
-3: Common naming conventions:
+# 3: Common naming conventions:
==================================
- Kernel -> ke_init_x
@@ -42,7 +42,7 @@
- Hal -> hal_foo_bar
===================================
-4: The NewBoot
+# 4: The NewBoot
===================================
- Capable of booting from a network drive.
diff --git a/Public/Documentation/TODO_LIST.TXT b/Public/Documentation/Todo.md
index b7fc4926..1e625233 100644
--- a/Public/Documentation/TODO_LIST.TXT
+++ b/Public/Documentation/Todo.md
@@ -12,14 +12,10 @@
- Context switch x87/SSE/AVX registers [ X ]
- Framebuffer [ X ]
- AHCI support [ ]
-- HCore API and HCore Forms. [ ]
-- Make installer form class [ ]
+- Make installer [ ]
Status:
-NewBoot.exe: Working.
+NewBoot.exe: Need to boot from EPM partition.
NewKernel.exe: New Filesystem in progress.
-Prioritize:
-NewBoot.exe: Protocol and API.
-NewKernel.exe: Complying to specs.
diff --git a/Public/Documentation/compile_flags.txt b/Public/Documentation/compile_flags.txt
deleted file mode 100644
index 21296223..00000000
--- a/Public/Documentation/compile_flags.txt
+++ /dev/null
@@ -1,5 +0,0 @@
--nostdlib
--ffreestanding
--std=c++20
--I./SDK/
--I../Private
diff --git a/Public/Documentation/DESIGN.DRAWIO b/Public/Documentation/kernel-design.drawio
index 759a7df9..759a7df9 100644
--- a/Public/Documentation/DESIGN.DRAWIO
+++ b/Public/Documentation/kernel-design.drawio
diff --git a/Public/SDK/System.Core/Headers/UIManager/Window.hxx b/Public/SDK/System.Core/Headers/UIManager/Window.hxx
deleted file mode 100644
index 2a02b434..00000000
--- a/Public/SDK/System.Core/Headers/UIManager/Window.hxx
+++ /dev/null
@@ -1,8 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-