diff --git a/DoorsOS.sln b/DoorsOS.sln
new file mode 100644
index 0000000..183a828
--- /dev/null
+++ b/DoorsOS.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.10.35013.160
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DoorsOS", "DoorsOS\DoorsOS.csproj", "{23F8A619-E296-40A1-AE8E-FAFDBFC504E2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {23F8A619-E296-40A1-AE8E-FAFDBFC504E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {23F8A619-E296-40A1-AE8E-FAFDBFC504E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {23F8A619-E296-40A1-AE8E-FAFDBFC504E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {23F8A619-E296-40A1-AE8E-FAFDBFC504E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {69D3248B-922C-4778-B3BE-CF9DBCF77477}
+ EndGlobalSection
+EndGlobal
diff --git a/DoorsOS/BinaryLoader.cs b/DoorsOS/BinaryLoader.cs
new file mode 100644
index 0000000..1c31051
--- /dev/null
+++ b/DoorsOS/BinaryLoader.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.IO;
+
+namespace DoorsOS
+{
+ internal class BinaryLoader
+ {
+ public static bool LoadGemsBin(string path)
+ {
+ try
+ {
+ if (path.EndsWith(".bin"))
+ {
+ byte[] bytes = File.ReadAllBytes(path);
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(bytes);
+ return true;
+ }
+ else
+ {
+ Console.WriteLine("Not a .bin file");
+ return false;
+ }
+ }
+ catch
+ {
+ Console.WriteLine("Generic error. (Too big?)");
+ return false;
+ }
+ }
+ }
+}
diff --git a/DoorsOS/DoorsOS.csproj b/DoorsOS/DoorsOS.csproj
new file mode 100644
index 0000000..242f868
--- /dev/null
+++ b/DoorsOS/DoorsOS.csproj
@@ -0,0 +1,28 @@
+
+
+
+ net6.0
+
+ cosmos
+ false
+ True
+
+
+
+ False
+ False
+ Pipe: Cosmos\Serial
+ Serial: COM1
+ VMware
+ VMware
+ Use VMware Player or Workstation to deploy and debug.
+ 192.168.0.8
+
+
+
+
+
+
+
+
+
diff --git a/DoorsOS/Kernel.cs b/DoorsOS/Kernel.cs
new file mode 100644
index 0000000..e643232
--- /dev/null
+++ b/DoorsOS/Kernel.cs
@@ -0,0 +1,708 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Sys = Cosmos.System;
+using System.IO;
+using static DoorsOS.Networking;
+using static DoorsOS.Wait;
+using cc = DoorsOS.KernelColors;
+using System.ComponentModel;
+using Cosmos.System.Graphics;
+using System.Drawing;
+using mouse = Cosmos.System.MouseManager;
+using System.Threading;
+using Cosmos.HAL.Network;
+using System.Diagnostics;
+using Cosmos.System.Network.IPv4;
+using System.Linq;
+using System.Data;
+using System.Reflection.Metadata.Ecma335;
+using System.Security.Cryptography.X509Certificates;
+using static DoorsOS.WDCL;
+using DoorsOS;
+
+namespace DoorsOS
+{
+ public class Kernel : Sys.Kernel
+ {
+ string versionSTR = "2024.6.24.0";
+
+ Sys.FileSystem.CosmosVFS fs;
+
+ public string current_directory = "0:\\";
+ string currDir = "";
+ public static string file;
+ public int rWI = 0;
+
+ protected override void BeforeRun()
+ {
+ fs = new Sys.FileSystem.CosmosVFS();
+ Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
+ Console.ForegroundColor = ConsoleColor.White;
+ Console.BackgroundColor = ConsoleColor.DarkRed;
+ Console.Clear();
+
+ }
+
+
+ public void hackyCarolFix()
+ {
+ Random rW = new Random(); //random Word
+ rWI = rW.Next(0, 12); //pick a word
+ }
+ public void dir()
+ {
+ try
+ {
+ string[] dirs = Directory.GetDirectories(current_directory);
+ string[] files = Directory.GetFiles(current_directory);
+ Console.WriteLine("--DIRS/FILES--");
+ foreach (var item in dirs)
+ {
+ Console.WriteLine("d> " + item);
+ }
+ foreach (var item in files)
+ {
+ Console.WriteLine("f> " + item);
+ }
+ Console.WriteLine("--------------");
+ }
+ catch
+ {
+ Console.WriteLine("You are in an invalid directory!");
+ Console.WriteLine("Try \" cd 0:\\\\ \"?");
+ }
+ }
+
+ public void mkdir(string dir2make)
+ {
+ try
+ {
+ fs.CreateDirectory(dir2make);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+ public void cd(string dirCD)
+ {
+ if (fs.IsValidDriveId(dirCD.Replace(":\\", "")) || fs.IsValidDriveId(dirCD.Replace(":", "")) || fs.IsValidDriveId(dirCD))
+ {
+ try
+ {
+ current_directory = dirCD;
+ }
+ catch
+ {
+ try
+ {
+ Console.WriteLine("!!! Error. Going to root NOW. !!!");
+ current_directory = "0:\\";
+ }
+ catch
+ {
+ Console.WriteLine("!!! Dir and root not found. !!!");
+ }
+ }
+ }
+ else
+ {
+ if (dirCD == "..")
+ {
+ try
+ {
+ string prevDirTemp = current_directory.ToString().Replace(currDir.ToString() + "\\", "\\");
+ Console.WriteLine(prevDirTemp.ToString());
+ current_directory = prevDirTemp.ToString();
+ currDir = fs.GetDirectory(prevDirTemp).mName.ToString();
+ }
+ catch
+ {
+ Console.WriteLine("!!! Directory not found. !!!");
+ }
+ }
+ else
+ {
+ currDir = dirCD.ToString();
+ if (fs.GetDirectory(current_directory + dirCD) != null)
+ {
+ try
+ {
+ current_directory = current_directory + dirCD + "\\";
+ }
+ catch
+ {
+ Console.WriteLine("!!! Directory not found. !!!");
+ }
+ }
+ else
+ {
+ Console.WriteLine("!!! Directory not found. !!!");
+ }
+ }
+ }
+ }
+
+ public void del(string fileOrDir)
+ {
+ try
+ {
+ fs.DeleteDirectory(fs.GetDirectory(fileOrDir));
+ }
+ catch (Exception e)
+ {
+ try
+ {
+ File.Delete(fileOrDir);
+ }
+ catch
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+ }
+
+ public string readFile(string dogFile)
+ {
+ try
+ {
+ var hello_file = fs.GetFile(current_directory + dogFile);
+ var hello_file_stream = hello_file.GetFileStream();
+
+ if (hello_file_stream.CanRead)
+ {
+ byte[] text_to_read = new byte[hello_file_stream.Length];
+ hello_file_stream.Read(text_to_read, 0, (int)hello_file_stream.Length);
+ return Encoding.Default.GetString(text_to_read);
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ return "";
+ }
+
+ public void listDisk()
+ {
+ foreach (var item in fs.GetVolumes())
+ {
+ Console.WriteLine(item);
+ }
+ }
+
+ public string writeLineToFile(string echoFile, string writeContents)
+ {
+ try
+ {
+ using (StreamWriter w = File.AppendText(current_directory + echoFile))
+ {
+ return writeContents;
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ return "";
+ }
+
+ Canvas canvas;
+ public void initGUI()
+ {
+ canvas = FullScreenCanvas.GetFullScreenCanvas();
+
+ canvas.Clear(Color.Blue);
+
+ mouse.ScreenWidth = Convert.ToUInt32(640);
+ mouse.ScreenHeight = Convert.ToUInt32(480);
+ }
+
+ public void clearGUI(System.Drawing.Color color)
+ {
+ canvas.Clear(color);
+ }
+
+ public void createCursor(System.Drawing.Color color)
+ {
+ while (true)
+ {
+ try
+ {
+ Pen pen = new Pen(color);
+ canvas.DrawRectangle(pen, mouse.X, mouse.Y, mouse.X + 20, mouse.Y - 10);
+ }
+ catch
+ {
+ Console.WriteLine("Error making cursor.");
+ }
+ }
+ }
+
+ public bool isClicked(int x1, int y1, int x2, int y2, Sys.MouseState state)
+ {
+ while (true)
+ {
+ //Example of state: Sys.MouseState.Left
+ if (mouse.MouseState == state && mouse.X < x1 && mouse.X > x2 && mouse.Y < y1 && mouse.Y > y2)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+
+
+ public void drawElement(string type, int x1, int y1, int x2, int y2, System.Drawing.Color color)
+ {
+ Pen pen = new Pen(color);
+ if (type == "line")
+ {
+ try
+ {
+ canvas.DrawLine(pen, x1, y1, x2, y2);
+ }
+ catch
+ {
+ Console.WriteLine("Error drawing line. Unknown error.");
+ }
+ }
+ else if (type == "rectangle")
+ {
+ try
+ {
+ canvas.DrawRectangle(pen, x1, y1, x2, y2);
+ }
+ catch
+ {
+ Console.WriteLine("Error rectangle line. Unknown error.");
+ }
+ }
+ else
+ {
+ Console.WriteLine("Error drawing. Unknown type.");
+ }
+ }
+
+ public void setRes(int width, int height, ColorDepth colordepth)
+ {
+ canvas.Mode = new Mode(width, height, ColorDepth.ColorDepth32); //COSMOS only supports 32bit color depth. This is why we must use it.
+ //Also, we can *try* higher resolutions, but COSMOS community recommends sticking with 800x600 and 640x480.
+ }
+
+ public void drawImageFromBase64(string base64file, int x, int y)
+ {
+ Bitmap bmp = new Bitmap(Convert.FromBase64String(base64file));
+
+ Image img = (Image)bmp;
+
+ canvas.DrawImage(img, x, y);
+ }
+
+ protected override void Run()
+ {
+ console.beep(0);
+ Console.Clear();
+ Console.WriteLine("Welcome to DoorsOS!");
+ //Console.WriteLine(@"Now I can code anywhere
+ //I go! Sweet!");
+ while (1 == 1)
+ {
+ Console.Write(current_directory + " $> ");
+ var cmd = Console.ReadLine();
+ var args = cmd.Split(' ');
+ //Console.Write("*RUSHELL DEBUG* Command typed: ");
+ //Console.WriteLine(cmd);
+ if (cmd == "clear")
+ {
+ Console.Clear();
+ }
+ else if (cmd == "lose")
+ {
+ initGUI();
+ drawElement("rectangle", 0, 0, 50, 50, Color.Red);
+
+ createCursor(Color.Green);
+ if (isClicked(0, 0, 50, 50, Sys.MouseState.Left))
+ {
+ clearGUI(Color.Blue);
+ }
+ }
+ else if (cmd == "reboot")
+ {
+ Console.Clear();
+ Console.WriteLine("System now rebooting...");
+ Cosmos.System.Power.Reboot();
+ }
+ else if (cmd.StartsWith("micro"))
+ {
+ var path = args[1];
+ Micro.startMicro(path);
+ }
+ else if (cmd == "shutdown")
+ {
+ Console.Clear();
+ Console.WriteLine("System now shutting down...");
+ Cosmos.System.Power.Shutdown();
+ }
+ else if (cmd == "time")
+ {
+ var time = Cosmos.HAL.RTC.Hour.ToString() + ":" + Cosmos.HAL.RTC.Minute.ToString() + ":" + Cosmos.HAL.RTC.Second.ToString();
+ Console.WriteLine(time);
+ }
+ else if (cmd == "date")
+ {
+ var time = Cosmos.HAL.RTC.Month.ToString() + "-" + Cosmos.HAL.RTC.DayOfTheMonth.ToString() + "-" + Cosmos.HAL.RTC.Year.ToString();
+ Console.WriteLine(time);
+ }
+ else if (cmd == "about")
+ {
+ long available_space = fs.GetAvailableFreeSpace("0:/");
+ string fs_type = fs.GetFileSystemType("0:/");
+ Console.WriteLine("DoorsOS Version: " + versionSTR);
+ try
+ {
+ Console.WriteLine("File System Type on main drive: " + fs_type);
+ Console.WriteLine("Available Free Space on main drive: " + available_space);
+ }
+ catch
+ {
+ Console.WriteLine("File System Type on main drive: NONE");
+ Console.WriteLine("Available Free Space on main drive: 0");
+ }
+ }
+ else if (cmd == "dir")
+ {
+ dir();
+ }
+ else if (cmd == "drives")
+ {
+ Console.WriteLine("Drives:");
+ Console.WriteLine("---");
+ for (int i = 0; i < 100; i++)
+ {
+ var possibleDrive = Cosmos.Common.StringHelper.GetNumberString(i) + ":\\";
+ if (fs.IsValidDriveId(possibleDrive)) //wow ok zoomer
+ {
+ try
+ {
+ Console.WriteLine(" Free space:" + fs.GetAvailableFreeSpace(possibleDrive));
+ Console.WriteLine(" Total space:" + fs.GetTotalFreeSpace(possibleDrive));
+ Console.WriteLine(" Drive ID: " + possibleDrive);
+ Console.WriteLine("---");
+ }
+ catch { }
+ }
+ }
+ }
+
+ else if (cmd.ToString().StartsWith("echo"))
+ {
+ var echoing = cmd.ToString().Remove(0, 5);
+ Console.WriteLine(echoing);
+ }
+ else if (cmd.ToString().StartsWith("execWdcl"))
+ {
+ try
+ {
+ WDCL.launchExe(File.ReadAllBytes(args[1]));
+ }
+ catch
+ {
+ Console.WriteLine("error!");
+ }
+ }
+ else if (cmd.ToString().StartsWith("execBin"))
+ {
+ try
+ {
+ BinaryLoader.LoadGemsBin(args[1]);
+ }
+ catch
+ {
+ Console.WriteLine("error!");
+ }
+ }
+ else if (cmd.ToString().StartsWith("cd"))
+ {
+ var dirCD = cmd.ToString().Remove(0, 3);
+ cd(dirCD);
+ }
+ else if (cmd.ToString().StartsWith("setvol"))
+ {
+ cd(args[1]);
+ }
+ else if (cmd.ToString().StartsWith("listvol"))
+ {
+ listDisk();
+ }
+ else if (cmd.ToString().StartsWith("del"))
+ {
+ del(args[1]);
+ }
+ else if (cmd.ToString().StartsWith("deldir"))
+ {
+ del(args[1]);
+ }
+ else if (cmd.ToString().StartsWith("2file"))
+ {
+ var writeContents = cmd.ToString().Remove(0, 6);
+ Console.Write("Filename> ");
+ var echoFile = Console.ReadLine();
+ writeLineToFile(echoFile, writeContents);
+ }
+ else if (cmd.ToString().StartsWith("mkdir"))
+ {
+ var makeDir = cmd.ToString().Remove(0, 6);
+ mkdir(makeDir);
+ }
+ else if (cmd.ToString().StartsWith("mkfile"))
+ {
+ var makeFile = cmd.ToString().Remove(0, 7);
+ try
+ {
+ File.Create(current_directory + makeFile);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+ else if (cmd.ToString() == "getMACAddr")
+ {
+ Console.WriteLine(Networking.GetMACAddress());
+ }
+ else if (cmd.ToString() == "netAvailable")
+ {
+ Console.WriteLine(Networking.isNetworkingAvailable().ToString());
+ }
+ else if (cmd.ToString() == "sOracle")
+ {
+ string oracle = "sOracle says:";
+ string[] oracleWords = { "has", "forgive", "god", "jesus", "santa", "oracle", "forgiven", "bad", "good", "naughty", "samuel", "toys", "excellent", "tech", "husband", "thou", "you", "programmer", "linux", "unix", "posix", "dinosaurs", "david", "femboys", "gays" };
+ Random rand = new Random(); //Random Number of Words
+ Random randWords = new Random(); //Random Number of Words
+ int numwords = rand.Next(1, 42);
+ for (int i = 0; i < numwords; i++) //repeat for each word
+ {
+ numwords = rand.Next(1, 42);
+ string randWordStr = oracleWords[randWords.Next(0, oracleWords.Length - 1)];
+ hackyCarolFix(); //hacky fix because for some reason the OS seems to only set the word once, but prints it multiple times.
+ oracle += " " + randWordStr; //add word
+ }
+ Console.WriteLine(oracle);
+ }
+ else if (cmd.ToString().StartsWith("color"))
+ {
+ try
+ {
+ var fg = args[1].ToString();
+ var bg = args[2].ToString();
+ if (fg == bg)
+ {
+ Console.WriteLine("Foreground and background can't be equal!");
+ }
+ else if (fg == "help")
+ {
+ Console.WriteLine(@"Colors:
+ Black
+ (Dark)Gray
+ (Dark)Blue
+ (Dark)Green
+ (Dark)Cyan
+ (Dark)Red
+ (Dark)Magenta
+ (Dark)Yellow
+ White");
+ }
+ else
+ {
+ Console.WriteLine("Will be available once we fix this.");
+ Console.WriteLine("(Not sure if it's me or Cosmos.)");
+ //Console.ForegroundColor = (ConsoleColor)cc.getColor(fg);
+ //Console.BackgroundColor = (ConsoleColor)cc.getColor(bg);
+ }
+
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e);
+ }
+ }
+ else if (cmd.ToString().StartsWith("dog"))
+ {
+ var dogGarnFile = cmd.ToString().Remove(0, 4);
+ Console.WriteLine(readFile(dogGarnFile));
+ }
+ else if (cmd.ToString().StartsWith("setMacAddress"))
+ {
+ byte[] macBuffer = new byte[1];
+ Cosmos.Common.Extensions.ByteConverter.SetUInt32(macBuffer, 0, 100);
+ int offset = 0;
+ MACAddress mac = new MACAddress(macBuffer, offset);
+ }
+ else if (cmd.ToString().StartsWith("setIPAddress"))
+ {
+ byte firstByte = Convert.ToByte(int.Parse(args[1]));
+ byte secondByte = Convert.ToByte(int.Parse(args[2]));
+ byte thirdByte = Convert.ToByte(int.Parse(args[3]));
+ byte fourthByte = Convert.ToByte(int.Parse(args[4]));
+ Address addr = new Address(firstByte, secondByte, thirdByte, fourthByte);
+ }
+ else if (cmd.ToString().StartsWith("samlang"))
+ {
+ var samlangFile = cmd.ToString().Remove(0, 8);
+ string samlangFileContents = "";
+ try
+ {
+ var hello_file = fs.GetFile(current_directory + samlangFile);
+ var hello_file_stream = hello_file.GetFileStream();
+
+ if (hello_file_stream.CanRead)
+ {
+ byte[] text_to_read = new byte[hello_file_stream.Length];
+ hello_file_stream.Read(text_to_read, 0, (int)hello_file_stream.Length);
+ samlangFileContents = Encoding.Default.GetString(text_to_read);
+ }
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+
+ foreach (var line in samlangFileContents.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
+ {
+ try
+ {
+ SamLangParser.parseSamLang(line);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+ }
+ else if (cmd == "math")
+ {
+ int ans = 0;
+ Console.WriteLine("(M)ultiply");
+ Console.WriteLine("(A)dd");
+ Console.WriteLine("(S)ubtract");
+ Console.WriteLine("(D)ivide");
+ Console.Write("MATH> ");
+ string mathOperation = Console.ReadLine().ToLower();
+ Console.Write("First number> ");
+ string FirstNumMath = Console.ReadLine();
+ Console.Write("Second number> ");
+ string SecondNumMath = Console.ReadLine();
+ int first = Convert.ToInt32(FirstNumMath);
+ int second = Convert.ToInt32(SecondNumMath);
+ if (mathOperation == "m")
+ {
+ ans = first * second;
+ Console.WriteLine(ans.ToString());
+ }
+ else if (mathOperation == "a")
+ {
+ ans = first + second;
+ Console.WriteLine(ans.ToString());
+ }
+ else if (mathOperation == "s")
+ {
+ ans = first - second;
+ Console.WriteLine(ans.ToString());
+ }
+ else if (mathOperation == "d")
+ {
+ ans = first / second;
+ Console.WriteLine(ans.ToString());
+ }
+ else
+ {
+ Console.WriteLine("Unknown operation!");
+ }
+ }
+ else if (cmd.StartsWith("cmds") || cmd.StartsWith("help"))
+ {
+ try
+ {
+ if (args[1] == "1")
+ {
+ Console.WriteLine("DoorsOS - Commands");
+ Console.WriteLine("---");
+ Console.WriteLine("about - about this copy of DoorsOS.");
+ Console.WriteLine("echo - echos back value you pass to it");
+ Console.WriteLine("2file - writes a specified value to a file.");
+ Console.WriteLine("mkfile - creates a file at specified directory");
+ Console.WriteLine("mkdir - creates the specified directory");
+ Console.WriteLine("del - deletes a file or directory.");
+ Console.WriteLine("cd - changes directory to passed directory");
+ Console.WriteLine("***MORE ON PAGE #2***");
+ }
+ else if (args[1] == "2")
+ {
+ Console.WriteLine("dir - list contents of directory");
+ Console.WriteLine("clear - clears screen");
+ Console.WriteLine("cmds/help - this.");
+ Console.WriteLine("dog - get contents of file.");
+ Console.WriteLine("samlang - run a file as samlang");
+ Console.WriteLine("math - calculates a math operation with 2 numbers.");
+ Console.WriteLine("getMACAddr - gets your MAC address.");
+ Console.WriteLine("netAvailable - check to see if networking is available.");
+ Console.WriteLine("***MORE ON PAGE #3***");
+ }
+ else if (args[1] == "3")
+ {
+ Console.WriteLine("shutdown - shuts down your pc.");
+ Console.WriteLine("reboot - reboots your pc.");
+ Console.WriteLine("date - gets date in (M)M/DD/YY format.");
+ Console.WriteLine("time - gets time in 24 hour format.");
+ //Console.WriteLine("color [FG] [BG] - sets foreground/background color of console.");
+ //Console.WriteLine("color help - lists colors.");
+ Console.WriteLine("micro - MIV alt.");
+ Console.WriteLine("setMACAddr - sets your MAC address.");
+ Console.WriteLine("setIPAddr - sets your IP address, example: setIPAddr 192 168 0 42");
+ Console.WriteLine("***MORE ON PAGE #4***");
+
+
+ }
+ else if (args[1].ToLower() == "4")
+ {
+ Console.WriteLine("sOracle - talks to you");
+ Console.WriteLine("execWdcl - executes DOS binaries (Buggy WIP! Only partial 1.x support!)");
+ Console.WriteLine("execBin - executes .bin binaries (WIP!)");
+ Console.WriteLine("drives - list disks"); //similar to the old listvol
+ }
+ else if (args[1].ToLower() == "5")
+ {
+ Console.WriteLine("Invalid page! Try 'cmds 1'");
+ }
+ else
+ {
+ Console.WriteLine("Invalid page! Try 'cmds 1'");
+ }
+ }
+ catch
+ {
+ Console.WriteLine("No page! Try 'cmds 1'");
+ }
+ }
+ else
+ {
+ Console.WriteLine("Command not found. (Pro tip: 'cmds 1' for commands!)");
+ }
+ }
+ }
+ private string[] GetDirFadr(string adr) // Get Directories From Address
+ {
+ var dirs = Directory.GetDirectories(adr);
+ return dirs;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/KernelColors.cs b/DoorsOS/KernelColors.cs
new file mode 100644
index 0000000..67017a1
--- /dev/null
+++ b/DoorsOS/KernelColors.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DoorsOS
+{
+ internal class KernelColors
+ {
+ //private copy for getColor
+ public static int Black = 0;
+ public static int DarkBlue = 1;
+ public static int DarkGreen = 2;
+ public static int DarkCyan = 3;
+ public static int DarkRed = 4;
+ public static int DarkMagenta = 5;
+ public static int DarkYellow = 6;
+ public static int Gray = 7;
+ public static int DarkGray = 8;
+ public static int Blue = 9;
+ public static int Green = 10;
+ public static int Cyan = 11;
+ public static int Red = 12;
+ public static int Magenta = 13;
+ public static int Yellow = 14;
+ public static int White = 15;
+ public struct colors
+ {
+ public static int Black = 0;
+ public static int DarkBlue = 1;
+ public static int DarkGreen = 2;
+ public static int DarkCyan = 3;
+ public static int DarkRed = 4;
+ public static int DarkMagenta = 5;
+ public static int DarkYellow = 6;
+ public static int Gray = 7;
+ public static int DarkGray = 8;
+ public static int Blue = 9;
+ public static int Green = 10;
+ public static int Cyan = 11;
+ public static int Red = 12;
+ public static int Magenta = 13;
+ public static int Yellow = 14;
+ public static int White = 15;
+ }
+
+ public static int getColor(string colorName)
+ {
+ try
+ {
+ Type classType = typeof(KernelColors);
+ object obj = Activator.CreateInstance(classType);
+ int color = (int)classType.GetField(colorName).GetValue(obj);
+ return color;
+ }
+ catch
+ {
+ return 1;
+ }
+ }
+ }
+}
diff --git a/DoorsOS/Micro.cs b/DoorsOS/Micro.cs
new file mode 100644
index 0000000..d80a455
--- /dev/null
+++ b/DoorsOS/Micro.cs
@@ -0,0 +1,116 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+using Sys = Cosmos.System;
+
+namespace DoorsOS
+{
+
+
+ public class Micro
+ {
+ static string contents = "";
+ static string path = "";
+ public static void welcome()
+ {
+ Console.Clear();
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.WriteLine("~ micro - GEMS Text Editor");
+ Console.WriteLine("~ A simple UI for 2file, inspired by MIV.");
+ Console.WriteLine("~ version 1.0");
+ Console.WriteLine("~ by Samuel Lord");
+ Console.WriteLine("~ License - MIT");
+ Console.WriteLine("~");
+ Console.WriteLine("~ use q to exit");
+ Console.WriteLine("~ use w save to file");
+ Console.WriteLine("~ use c to clear");
+ Console.WriteLine("~ type :$m to use commands");
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.WriteLine("~");
+ Console.Write("~ Press any key to continue...");
+ Console.ReadKey(true); //any key to continue
+ Console.Clear();
+ micro();
+
+
+ }
+
+ public static void startMicro(string pathb)
+ {
+ if (File.Exists(pathb))
+ {
+ microLoader(pathb);
+ welcome();
+ }
+ else
+ {
+ welcome();
+ }
+ }
+
+ public static void microLoader(string pathb)
+ {
+ //here we will open files and load them into the contents string.
+ try
+ {
+ var hello_text = File.ReadAllText(pathb);
+ contents = hello_text;
+ path = pathb;
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ public static String micro()
+ {
+ var cmdMode = false;
+ Console.Write("<**BEGIN READONLY**>");
+ Console.Write(contents);
+ Console.Write("<**END READONLY**>");
+ while (true)
+ {
+ if (cmdMode == true)
+ {
+ Console.Write("m>");
+ var cmd = Console.ReadLine();
+ if (cmd == "c")
+ {
+ contents = "";
+ }
+ else if (cmd == "q")
+ {
+ return null;
+ }
+ else if (cmd == "s")
+ {
+ File.WriteAllText(path, contents);
+ }
+ cmdMode = false;
+ }
+ var newline = Console.ReadLine();
+
+ if (newline == ":$m")
+ {
+ cmdMode = true;
+ }
+
+ if (cmdMode == false)
+ {
+ contents += "\n" + newline;
+ }
+ }
+ }
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/Networking.cs b/DoorsOS/Networking.cs
new file mode 100644
index 0000000..5d0fc70
--- /dev/null
+++ b/DoorsOS/Networking.cs
@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Text;
+using Cosmos.HAL;
+using Cosmos.HAL.Drivers;
+using Cosmos.HAL.Drivers.PCI.Network;
+using Cosmos.HAL.Network;
+
+namespace DoorsOS
+{
+ public class Networking
+ {
+ public static string mac;
+ public static PCIDevice dev;
+ private static PCIDevice dev2;
+ private static string dev3;
+ public static bool netAvail = false;
+ public static AMDPCNetII nic;
+ public static string recievedPackets;
+ public static bool isNetworkingAvailable()
+ {
+ dev = PCI.GetDevice(VendorID.AMD, DeviceID.PCNETII);
+ if (dev != null)
+ {
+ netAvail = true;
+ return true;
+ }
+ else
+ {
+ netAvail = false;
+ return false;
+ }
+ }
+
+ public static string GetMACAddress()
+ {
+ if (netAvail)
+ {
+ AMDPCNetII nic = new AMDPCNetII(dev);
+ mac = nic.MACAddress.ToString();
+ return nic.MACAddress.ToString();
+ }
+ else
+ {
+ return "Fail. (Are you sure you have an AMD PCnet-PCI II installed?)";
+ }
+ }
+
+ public static string getNetReady()
+ {
+ if (netAvail)
+ {
+ nic = new AMDPCNetII(dev);
+ mac = nic.MACAddress.ToString();
+ nic.Enable();
+ return "Ready";
+ }
+ else
+ {
+ return "Fail. (Are you sure you have an AMD PCnet-PCI II installed?)";
+ }
+ }
+
+ public static string sendBytes(byte[] packetBuffer)
+ {
+ if (nic.Ready)
+ {
+ if (nic.IsSendBufferFull())
+ {
+ return "Uh oh! The send buffer is full!";
+ }
+ else
+ {
+ var a = nic.QueueBytes(packetBuffer);
+ a.ToString();
+ return "Bytes buffered: " + a;
+ }
+ }
+ else
+ {
+ return "Fail.";
+ }
+ }
+
+ public static string recieveBytes(int offset, int max)
+ {
+ if (nic.Ready)
+ {
+ byte[] dataBytes1 = Encoding.ASCII.GetBytes("");
+ nic.ReceiveBytes(dataBytes1, offset, max);
+ var data = nic.DataReceived.ToString();
+ byte[] dataBytes2 = Encoding.ASCII.GetBytes(data);
+ return "Recieved as bytes: " + data;
+ }
+ else
+ {
+ return "Fail.";
+ }
+ }
+
+ public static string recievePackets(int offset, int max)
+ {
+ if (nic.Ready)
+ {
+ var dataPacket = nic.ReceivePacket();
+ return "Recieved as packet: " + dataPacket.ToString();
+ }
+ else
+ {
+ return "Fail.";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/SamLangParser.cs b/DoorsOS/SamLangParser.cs
new file mode 100644
index 0000000..872bbcd
--- /dev/null
+++ b/DoorsOS/SamLangParser.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace DoorsOS
+{
+ class SamLangParser
+ {
+ public static string nextVar = "";
+ public static bool skipBlankening = true;
+ public static int nextVarPos = -1;
+ public static string parseSamLang(string line)
+ {
+ var samlangArgs = line.Split(' ');
+ try
+ {
+ samlangArgs[nextVarPos] = nextVar;
+ }
+ catch
+ {
+ //do nothing.
+ }
+ var vars = new Dictionary();
+ if (line.ToString().StartsWith("print-nlb"))
+ {
+ var printingNLB = line.ToString().Remove(0, 11);
+ Console.Write(printingNLB);
+ return printingNLB;
+ }
+ else if (line.ToString().StartsWith("print"))
+ {
+ var printing = line.ToString().Remove(0, 6);
+ Console.WriteLine(printing);
+ return printing + "\n";
+ }
+ else if (line.ToString().StartsWith("str"))
+ {
+ var printing = line.ToString().Remove(0, 4);
+ return printing;
+ }
+ else if (line.ToString().StartsWith("beep"))
+ {
+ try
+ {
+ console.beep(int.Parse(samlangArgs[1]));
+ return "*BEEEEP*";
+ }
+ catch
+ {
+ console.beep(0);
+ return "*BEEP*";
+ }
+ }
+ else if (line.ToString().StartsWith("math+"))
+ {
+ var result = int.Parse(samlangArgs[1]) + int.Parse(samlangArgs[2]);
+ Console.WriteLine(result);
+ return result.ToString();
+ }
+ else if (line.ToString().StartsWith("math/"))
+ {
+ var result = int.Parse(samlangArgs[1]) / int.Parse(samlangArgs[2]);
+ Console.WriteLine(result);
+ return result.ToString();
+ }
+ else if (line.ToString().StartsWith("math*"))
+ {
+ var result = int.Parse(samlangArgs[1]) * int.Parse(samlangArgs[2]);
+ Console.WriteLine(result);
+ return result.ToString();
+ }
+ else if (line.ToString().StartsWith("math-"))
+ {
+ var result = int.Parse(samlangArgs[1]) / int.Parse(samlangArgs[2]);
+ Console.WriteLine(result);
+ return result.ToString();
+ }
+ else if (line.ToString().StartsWith("push_var"))
+ {
+ var varbl = line.Replace("push_var " + samlangArgs[1] + " ", "").ToString();
+ vars.Add(samlangArgs[1], parseSamLang(varbl));
+ return "Set variable!";
+ }
+ else if (line.ToString().StartsWith("set_next_arg_from_var"))
+ {
+ var varbl = vars[samlangArgs[1]];
+ nextVar = varbl.ToString();
+ nextVarPos = int.Parse(samlangArgs[2]);
+ skipBlankening = true;
+ return "next arg set";
+ }
+ else
+ {
+ Console.WriteLine("!!! ERROR - COMMAND NOT FOUND!!!");
+ return "E: CMD NOT FOUND!";
+ }
+ if (skipBlankening == false)
+ {
+ nextVar = "";
+ nextVarPos = -1;
+ return "";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/WDCL.cs b/DoorsOS/WDCL.cs
new file mode 100644
index 0000000..6d9702a
--- /dev/null
+++ b/DoorsOS/WDCL.cs
@@ -0,0 +1,99 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO;
+
+namespace DoorsOS
+{
+ internal class WDCL
+ {
+ public static void launchExeOld(byte bin)
+ {
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(bin);
+ }
+
+ public static IDictionary openFiles = new Dictionary();
+ public static void launchExe(byte[] bin)
+ {
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(bin);
+ while (true)
+ {
+ var callzz = BitConverter.ToString(memoryStream.GetBuffer());
+ twentyoneHandler(callzz);
+ }
+ }
+ static int ofi = 2;
+ public static string twentyoneHandler(string callz)
+ {
+ var fs = File.OpenWrite("0:\\root");
+ string[] callzArray = callz.Split(" ");
+ if (callz.Contains("00h"))
+ {
+ Cosmos.System.Power.Reboot();
+ return "0";
+ }
+ else if (callz.Contains("01h"))
+ {
+ string a = Console.ReadLine();
+ return a;
+ }
+ else if (callz.Contains("02h"))
+ {
+ string ostr = "";
+ for (var i = 0; i < callzArray.Length; i++)
+ {
+ if (callzArray[i] == "02h")
+ {
+ ostr += callzArray[i + 1];
+ Console.Write(callzArray[i + 1]);
+ }
+ }
+ return ostr;
+ }
+ else if (callz.Contains("09h"))
+ {
+ string str = "";
+ for (var i = 0; i < callzArray.Length; i++)
+ {
+ if (callzArray[i] == "09h")
+ {
+ str += callzArray[i + 1];
+ Console.Write(callzArray[i + 1]);
+ }
+ }
+ return str;
+ }
+ else if (callz.Contains("19h"))
+ {
+ return "0:\\";
+ }
+ else if (callz.Contains("0Fh"))
+ {
+ var c = callz.ToString();
+ var cs = c.Split("0fh");
+ fs = File.OpenWrite(cs[ofi]);
+ openFiles.Add(ofi, cs[ofi]);
+ ofi++;
+ return cs[ofi];
+ }
+ else if (callz.Contains("10h"))
+ {
+ var c = callz.ToString();
+ var cs = c.Split("0fh");
+ var towrite = c.Split("10h");
+ File.AppendAllText(openFiles[ofi], towrite.ToString());
+ ofi++;
+ return cs[ofi];
+ }
+ else
+ {
+ return "0";
+ }
+
+
+
+ }
+ }
+}
diff --git a/DoorsOS/Wait.cs b/DoorsOS/Wait.cs
new file mode 100644
index 0000000..4f8883f
--- /dev/null
+++ b/DoorsOS/Wait.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace DoorsOS
+{
+ public class Wait
+ {
+ public static void wait(uint ms)
+ {
+ Cosmos.HAL.Global.PIT.Wait(ms);
+ }
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/console.cs b/DoorsOS/console.cs
new file mode 100644
index 0000000..94fd2bb
--- /dev/null
+++ b/DoorsOS/console.cs
@@ -0,0 +1,43 @@
+using System;
+
+namespace DoorsOS
+{
+ public class console
+ {
+ internal static void log(string message)
+ {
+ Console.WriteLine(message);
+ }
+ internal static void error(string message)
+ {
+ Console.Error.WriteLine(message);
+ }
+
+ internal static void info(string message)
+ {
+ Console.WriteLine("INFO: " + message);
+ }
+
+ internal static void warn(string message)
+ {
+ Console.Error.WriteLine(message + Environment.NewLine);
+ }
+ internal static void cls()
+ {
+ Console.Clear();
+ }
+ internal static void beep(int time)
+ {
+ for (int i = 0; i < time - 1; i++)
+ {
+ Console.WriteLine('\a');
+ }
+ Console.WriteLine('\a');
+ }
+ internal static string getInputCoreKernel(string q)
+ {
+ Console.Write(q);
+ return Console.ReadLine();
+ }
+ }
+}
diff --git a/DoorsOS/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/DoorsOS/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..ed92695
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfo.cs b/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfo.cs
new file mode 100644
index 0000000..8e1fa6a
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfo.cs
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("DoorsOS")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyDescriptionAttribute("Use VMware Player or Workstation to deploy and debug.")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("DoorsOS")]
+[assembly: System.Reflection.AssemblyTitleAttribute("DoorsOS")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfoInputs.cache b/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..2c6160e
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/DoorsOS.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+f6ab3f000add081b2ba84e9f0d9254baeac83f0bb3474d510578b76a2ea4dcdd
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.GeneratedMSBuildEditorConfig.editorconfig b/DoorsOS/obj/Debug/net6.0/DoorsOS.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..293f570
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/DoorsOS.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,13 @@
+is_global = true
+build_property.TargetFramework = net6.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = DoorsOS
+build_property.ProjectDir = C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.assets.cache b/DoorsOS/obj/Debug/net6.0/DoorsOS.assets.cache
new file mode 100644
index 0000000..41fe09b
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/DoorsOS.assets.cache differ
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.AssemblyReference.cache b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..059be3d
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.AssemblyReference.cache differ
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.CoreCompileInputs.cache b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..ee492f6
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+78ee068a1e8eb8788cfab0dd7dc134d081a16fdafbb00ba55b098ac63146463f
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.FileListAbsolute.txt b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..6aa135e
--- /dev/null
+++ b/DoorsOS/obj/Debug/net6.0/DoorsOS.csproj.FileListAbsolute.txt
@@ -0,0 +1,12 @@
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\bin\Debug\net6.0\DoorsOS.deps.json
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\bin\Debug\net6.0\DoorsOS.dll
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\bin\Debug\net6.0\DoorsOS.pdb
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.csproj.AssemblyReference.cache
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.AssemblyInfoInputs.cache
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.AssemblyInfo.cs
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.csproj.CoreCompileInputs.cache
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.dll
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\refint\DoorsOS.dll
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\DoorsOS.pdb
+C:\Users\LINSUX\source\repos\DoorsOS\DoorsOS\obj\Debug\net6.0\ref\DoorsOS.dll
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.dll b/DoorsOS/obj/Debug/net6.0/DoorsOS.dll
new file mode 100644
index 0000000..c32ffff
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/DoorsOS.dll differ
diff --git a/DoorsOS/obj/Debug/net6.0/DoorsOS.pdb b/DoorsOS/obj/Debug/net6.0/DoorsOS.pdb
new file mode 100644
index 0000000..f74300a
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/DoorsOS.pdb differ
diff --git a/DoorsOS/obj/Debug/net6.0/ref/DoorsOS.dll b/DoorsOS/obj/Debug/net6.0/ref/DoorsOS.dll
new file mode 100644
index 0000000..faf2df1
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/ref/DoorsOS.dll differ
diff --git a/DoorsOS/obj/Debug/net6.0/refint/DoorsOS.dll b/DoorsOS/obj/Debug/net6.0/refint/DoorsOS.dll
new file mode 100644
index 0000000..faf2df1
Binary files /dev/null and b/DoorsOS/obj/Debug/net6.0/refint/DoorsOS.dll differ
diff --git a/DoorsOS/obj/DoorsOS.csproj.nuget.dgspec.json b/DoorsOS/obj/DoorsOS.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..e6735f9
--- /dev/null
+++ b/DoorsOS/obj/DoorsOS.csproj.nuget.dgspec.json
@@ -0,0 +1,92 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj",
+ "projectName": "DoorsOS",
+ "projectPath": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj",
+ "packagesPath": "C:\\Users\\LINSUX\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\LINSUX\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net6.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Users\\LINSUX\\AppData\\Roaming\\Cosmos User Kit\\packages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "dependencies": {
+ "Cosmos.Build": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ },
+ "Cosmos.Debug.Kernel": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ },
+ "Cosmos.System2": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.302\\RuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/obj/DoorsOS.csproj.nuget.g.props b/DoorsOS/obj/DoorsOS.csproj.nuget.g.props
new file mode 100644
index 0000000..955c829
--- /dev/null
+++ b/DoorsOS/obj/DoorsOS.csproj.nuget.g.props
@@ -0,0 +1,21 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\LINSUX\.nuget\packages\
+ PackageReference
+ 6.10.1
+
+
+
+
+
+
+
+
+ C:\Users\LINSUX\.nuget\packages\cosmos.build\0.1.0-localbuild20221121055958
+
+
\ No newline at end of file
diff --git a/DoorsOS/obj/DoorsOS.csproj.nuget.g.targets b/DoorsOS/obj/DoorsOS.csproj.nuget.g.targets
new file mode 100644
index 0000000..6000c35
--- /dev/null
+++ b/DoorsOS/obj/DoorsOS.csproj.nuget.g.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DoorsOS/obj/project.assets.json b/DoorsOS/obj/project.assets.json
new file mode 100644
index 0000000..490f933
--- /dev/null
+++ b/DoorsOS/obj/project.assets.json
@@ -0,0 +1,622 @@
+{
+ "version": 3,
+ "targets": {
+ "net6.0": {
+ "Cosmos.Build/0.1.0-localbuild20221121055958": {
+ "type": "package",
+ "build": {
+ "build/Cosmos.Build.props": {},
+ "build/Cosmos.Build.targets": {}
+ }
+ },
+ "Cosmos.Common/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "dependencies": {
+ "Cosmos.Debug.Kernel": "0.1.0-localbuild20221121060004"
+ },
+ "compile": {
+ "lib/net6.0/Cosmos.Common.dll": {}
+ },
+ "runtime": {
+ "lib/net6.0/Cosmos.Common.dll": {}
+ }
+ },
+ "Cosmos.Core/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "dependencies": {
+ "Cosmos.Debug.Kernel": "0.1.0-localbuild20221121060004",
+ "IL2CPU.API": "0.1.0-localbuild20221121060004"
+ },
+ "compile": {
+ "lib/net6.0/Cosmos.Core.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Cosmos.Core.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Cosmos.Debug.Kernel/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard2.0/Cosmos.Debug.Kernel.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/netstandard2.0/Cosmos.Debug.Kernel.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Cosmos.HAL2/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "dependencies": {
+ "Cosmos.Common": "0.1.0-localbuild20221121060004",
+ "Cosmos.Core": "0.1.0-localbuild20221121060004",
+ "Cosmos.Debug.Kernel": "0.1.0-localbuild20221121060004",
+ "IL2CPU.API": "0.1.0-localbuild20221121060004"
+ },
+ "compile": {
+ "lib/net6.0/Cosmos.HAL2.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Cosmos.HAL2.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Cosmos.System2/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "dependencies": {
+ "Cosmos.Common": "0.1.0-localbuild20221121060004",
+ "Cosmos.Debug.Kernel": "0.1.0-localbuild20221121060004",
+ "Cosmos.HAL2": "0.1.0-localbuild20221121060004",
+ "IL2CPU.API": "0.1.0-localbuild20221121060004"
+ },
+ "compile": {
+ "lib/net6.0/Cosmos.System2.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Cosmos.System2.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "IL2CPU.API/0.1.0-localbuild20221121060004": {
+ "type": "package",
+ "compile": {
+ "lib/netstandard2.0/IL2CPU.API.dll": {}
+ },
+ "runtime": {
+ "lib/netstandard2.0/IL2CPU.API.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Cosmos.Build/0.1.0-localbuild20221121055958": {
+ "sha512": "mj39J7rWhTZPJdSrdKVBQt7HN/JeJwK/rslL3s91Y6skr1RvNcLzyiM074ZJdN4Wjz0N4GAZJOeZnX3NWNQRmg==",
+ "type": "package",
+ "path": "cosmos.build/0.1.0-localbuild20221121055958",
+ "hasTools": true,
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "build/Cosmos.Build.props",
+ "build/Cosmos.Build.targets",
+ "cosmos.build.0.1.0-localbuild20221121055958.nupkg.sha512",
+ "cosmos.build.nuspec",
+ "runtime.json",
+ "tools/cygwin/win/GPL Readme.txt",
+ "tools/cygwin/win/cygiconv-2.dll",
+ "tools/cygwin/win/cygintl-3.dll",
+ "tools/cygwin/win/cygwin1.dll",
+ "tools/cygwin/win/ld.exe",
+ "tools/cygwin/win/objdump.bat",
+ "tools/cygwin/win/objdump.exe",
+ "tools/cygwin/win/objdump.sh",
+ "tools/grub2/boot/grub/i386-pc/915resolution.mod",
+ "tools/grub2/boot/grub/i386-pc/acpi.mod",
+ "tools/grub2/boot/grub/i386-pc/adler32.mod",
+ "tools/grub2/boot/grub/i386-pc/affs.mod",
+ "tools/grub2/boot/grub/i386-pc/afs.mod",
+ "tools/grub2/boot/grub/i386-pc/ahci.mod",
+ "tools/grub2/boot/grub/i386-pc/all_video.mod",
+ "tools/grub2/boot/grub/i386-pc/aout.mod",
+ "tools/grub2/boot/grub/i386-pc/archelp.mod",
+ "tools/grub2/boot/grub/i386-pc/at_keyboard.mod",
+ "tools/grub2/boot/grub/i386-pc/ata.mod",
+ "tools/grub2/boot/grub/i386-pc/backtrace.mod",
+ "tools/grub2/boot/grub/i386-pc/bfs.mod",
+ "tools/grub2/boot/grub/i386-pc/biosdisk.mod",
+ "tools/grub2/boot/grub/i386-pc/bitmap.mod",
+ "tools/grub2/boot/grub/i386-pc/bitmap_scale.mod",
+ "tools/grub2/boot/grub/i386-pc/blocklist.mod",
+ "tools/grub2/boot/grub/i386-pc/boot.mod",
+ "tools/grub2/boot/grub/i386-pc/bsd.mod",
+ "tools/grub2/boot/grub/i386-pc/btrfs.mod",
+ "tools/grub2/boot/grub/i386-pc/bufio.mod",
+ "tools/grub2/boot/grub/i386-pc/cat.mod",
+ "tools/grub2/boot/grub/i386-pc/cbfs.mod",
+ "tools/grub2/boot/grub/i386-pc/cbls.mod",
+ "tools/grub2/boot/grub/i386-pc/cbmemc.mod",
+ "tools/grub2/boot/grub/i386-pc/cbtable.mod",
+ "tools/grub2/boot/grub/i386-pc/cbtime.mod",
+ "tools/grub2/boot/grub/i386-pc/chain.mod",
+ "tools/grub2/boot/grub/i386-pc/cmdline_cat_test.mod",
+ "tools/grub2/boot/grub/i386-pc/cmosdump.mod",
+ "tools/grub2/boot/grub/i386-pc/cmostest.mod",
+ "tools/grub2/boot/grub/i386-pc/cmp.mod",
+ "tools/grub2/boot/grub/i386-pc/command.lst",
+ "tools/grub2/boot/grub/i386-pc/configfile.mod",
+ "tools/grub2/boot/grub/i386-pc/cpio.mod",
+ "tools/grub2/boot/grub/i386-pc/cpio_be.mod",
+ "tools/grub2/boot/grub/i386-pc/cpuid.mod",
+ "tools/grub2/boot/grub/i386-pc/crc64.mod",
+ "tools/grub2/boot/grub/i386-pc/crypto.lst",
+ "tools/grub2/boot/grub/i386-pc/crypto.mod",
+ "tools/grub2/boot/grub/i386-pc/cryptodisk.mod",
+ "tools/grub2/boot/grub/i386-pc/cs5536.mod",
+ "tools/grub2/boot/grub/i386-pc/date.mod",
+ "tools/grub2/boot/grub/i386-pc/datehook.mod",
+ "tools/grub2/boot/grub/i386-pc/datetime.mod",
+ "tools/grub2/boot/grub/i386-pc/disk.mod",
+ "tools/grub2/boot/grub/i386-pc/diskfilter.mod",
+ "tools/grub2/boot/grub/i386-pc/div_test.mod",
+ "tools/grub2/boot/grub/i386-pc/dm_nv.mod",
+ "tools/grub2/boot/grub/i386-pc/drivemap.mod",
+ "tools/grub2/boot/grub/i386-pc/echo.mod",
+ "tools/grub2/boot/grub/i386-pc/efiemu.mod",
+ "tools/grub2/boot/grub/i386-pc/efiemu32.o",
+ "tools/grub2/boot/grub/i386-pc/efiemu64.o",
+ "tools/grub2/boot/grub/i386-pc/ehci.mod",
+ "tools/grub2/boot/grub/i386-pc/elf.mod",
+ "tools/grub2/boot/grub/i386-pc/eltorito.img",
+ "tools/grub2/boot/grub/i386-pc/eval.mod",
+ "tools/grub2/boot/grub/i386-pc/exfat.mod",
+ "tools/grub2/boot/grub/i386-pc/exfctest.mod",
+ "tools/grub2/boot/grub/i386-pc/ext2.mod",
+ "tools/grub2/boot/grub/i386-pc/extcmd.mod",
+ "tools/grub2/boot/grub/i386-pc/fat.mod",
+ "tools/grub2/boot/grub/i386-pc/file.mod",
+ "tools/grub2/boot/grub/i386-pc/font.mod",
+ "tools/grub2/boot/grub/i386-pc/freedos.mod",
+ "tools/grub2/boot/grub/i386-pc/fs.lst",
+ "tools/grub2/boot/grub/i386-pc/fshelp.mod",
+ "tools/grub2/boot/grub/i386-pc/functional_test.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_arcfour.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_blowfish.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_camellia.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_cast5.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_crc.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_des.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_dsa.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_idea.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_md4.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_md5.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_rfc2268.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_rijndael.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_rmd160.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_rsa.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_seed.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_serpent.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_sha1.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_sha256.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_sha512.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_tiger.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_twofish.mod",
+ "tools/grub2/boot/grub/i386-pc/gcry_whirlpool.mod",
+ "tools/grub2/boot/grub/i386-pc/gdb.mod",
+ "tools/grub2/boot/grub/i386-pc/geli.mod",
+ "tools/grub2/boot/grub/i386-pc/gettext.mod",
+ "tools/grub2/boot/grub/i386-pc/gfxmenu.mod",
+ "tools/grub2/boot/grub/i386-pc/gfxterm.mod",
+ "tools/grub2/boot/grub/i386-pc/gfxterm_background.mod",
+ "tools/grub2/boot/grub/i386-pc/gfxterm_menu.mod",
+ "tools/grub2/boot/grub/i386-pc/gptsync.mod",
+ "tools/grub2/boot/grub/i386-pc/gzio.mod",
+ "tools/grub2/boot/grub/i386-pc/halt.mod",
+ "tools/grub2/boot/grub/i386-pc/hashsum.mod",
+ "tools/grub2/boot/grub/i386-pc/hdparm.mod",
+ "tools/grub2/boot/grub/i386-pc/hello.mod",
+ "tools/grub2/boot/grub/i386-pc/help.mod",
+ "tools/grub2/boot/grub/i386-pc/hexdump.mod",
+ "tools/grub2/boot/grub/i386-pc/hfs.mod",
+ "tools/grub2/boot/grub/i386-pc/hfsplus.mod",
+ "tools/grub2/boot/grub/i386-pc/hfspluscomp.mod",
+ "tools/grub2/boot/grub/i386-pc/http.mod",
+ "tools/grub2/boot/grub/i386-pc/hwmatch.mod",
+ "tools/grub2/boot/grub/i386-pc/iorw.mod",
+ "tools/grub2/boot/grub/i386-pc/iso9660.mod",
+ "tools/grub2/boot/grub/i386-pc/jfs.mod",
+ "tools/grub2/boot/grub/i386-pc/jpeg.mod",
+ "tools/grub2/boot/grub/i386-pc/keylayouts.mod",
+ "tools/grub2/boot/grub/i386-pc/keystatus.mod",
+ "tools/grub2/boot/grub/i386-pc/ldm.mod",
+ "tools/grub2/boot/grub/i386-pc/legacy_password_test.mod",
+ "tools/grub2/boot/grub/i386-pc/legacycfg.mod",
+ "tools/grub2/boot/grub/i386-pc/linux.mod",
+ "tools/grub2/boot/grub/i386-pc/linux16.mod",
+ "tools/grub2/boot/grub/i386-pc/loadenv.mod",
+ "tools/grub2/boot/grub/i386-pc/loopback.mod",
+ "tools/grub2/boot/grub/i386-pc/ls.mod",
+ "tools/grub2/boot/grub/i386-pc/lsacpi.mod",
+ "tools/grub2/boot/grub/i386-pc/lsapm.mod",
+ "tools/grub2/boot/grub/i386-pc/lsmmap.mod",
+ "tools/grub2/boot/grub/i386-pc/lspci.mod",
+ "tools/grub2/boot/grub/i386-pc/luks.mod",
+ "tools/grub2/boot/grub/i386-pc/lvm.mod",
+ "tools/grub2/boot/grub/i386-pc/lzopio.mod",
+ "tools/grub2/boot/grub/i386-pc/macbless.mod",
+ "tools/grub2/boot/grub/i386-pc/macho.mod",
+ "tools/grub2/boot/grub/i386-pc/mda_text.mod",
+ "tools/grub2/boot/grub/i386-pc/mdraid09.mod",
+ "tools/grub2/boot/grub/i386-pc/mdraid09_be.mod",
+ "tools/grub2/boot/grub/i386-pc/mdraid1x.mod",
+ "tools/grub2/boot/grub/i386-pc/memdisk.mod",
+ "tools/grub2/boot/grub/i386-pc/memrw.mod",
+ "tools/grub2/boot/grub/i386-pc/minicmd.mod",
+ "tools/grub2/boot/grub/i386-pc/minix.mod",
+ "tools/grub2/boot/grub/i386-pc/minix2.mod",
+ "tools/grub2/boot/grub/i386-pc/minix2_be.mod",
+ "tools/grub2/boot/grub/i386-pc/minix3.mod",
+ "tools/grub2/boot/grub/i386-pc/minix3_be.mod",
+ "tools/grub2/boot/grub/i386-pc/minix_be.mod",
+ "tools/grub2/boot/grub/i386-pc/mmap.mod",
+ "tools/grub2/boot/grub/i386-pc/moddep.lst",
+ "tools/grub2/boot/grub/i386-pc/modinfo.sh",
+ "tools/grub2/boot/grub/i386-pc/morse.mod",
+ "tools/grub2/boot/grub/i386-pc/mpi.mod",
+ "tools/grub2/boot/grub/i386-pc/msdospart.mod",
+ "tools/grub2/boot/grub/i386-pc/multiboot.mod",
+ "tools/grub2/boot/grub/i386-pc/multiboot2.mod",
+ "tools/grub2/boot/grub/i386-pc/nativedisk.mod",
+ "tools/grub2/boot/grub/i386-pc/net.mod",
+ "tools/grub2/boot/grub/i386-pc/newc.mod",
+ "tools/grub2/boot/grub/i386-pc/nilfs2.mod",
+ "tools/grub2/boot/grub/i386-pc/normal.mod",
+ "tools/grub2/boot/grub/i386-pc/ntfs.mod",
+ "tools/grub2/boot/grub/i386-pc/ntfscomp.mod",
+ "tools/grub2/boot/grub/i386-pc/ntldr.mod",
+ "tools/grub2/boot/grub/i386-pc/odc.mod",
+ "tools/grub2/boot/grub/i386-pc/offsetio.mod",
+ "tools/grub2/boot/grub/i386-pc/ohci.mod",
+ "tools/grub2/boot/grub/i386-pc/part_acorn.mod",
+ "tools/grub2/boot/grub/i386-pc/part_amiga.mod",
+ "tools/grub2/boot/grub/i386-pc/part_apple.mod",
+ "tools/grub2/boot/grub/i386-pc/part_bsd.mod",
+ "tools/grub2/boot/grub/i386-pc/part_dfly.mod",
+ "tools/grub2/boot/grub/i386-pc/part_dvh.mod",
+ "tools/grub2/boot/grub/i386-pc/part_gpt.mod",
+ "tools/grub2/boot/grub/i386-pc/part_msdos.mod",
+ "tools/grub2/boot/grub/i386-pc/part_plan.mod",
+ "tools/grub2/boot/grub/i386-pc/part_sun.mod",
+ "tools/grub2/boot/grub/i386-pc/part_sunpc.mod",
+ "tools/grub2/boot/grub/i386-pc/partmap.lst",
+ "tools/grub2/boot/grub/i386-pc/parttool.lst",
+ "tools/grub2/boot/grub/i386-pc/parttool.mod",
+ "tools/grub2/boot/grub/i386-pc/password.mod",
+ "tools/grub2/boot/grub/i386-pc/password_pbkdf2.mod",
+ "tools/grub2/boot/grub/i386-pc/pata.mod",
+ "tools/grub2/boot/grub/i386-pc/pbkdf2.mod",
+ "tools/grub2/boot/grub/i386-pc/pbkdf2_test.mod",
+ "tools/grub2/boot/grub/i386-pc/pci.mod",
+ "tools/grub2/boot/grub/i386-pc/pcidump.mod",
+ "tools/grub2/boot/grub/i386-pc/plan9.mod",
+ "tools/grub2/boot/grub/i386-pc/play.mod",
+ "tools/grub2/boot/grub/i386-pc/png.mod",
+ "tools/grub2/boot/grub/i386-pc/priority_queue.mod",
+ "tools/grub2/boot/grub/i386-pc/probe.mod",
+ "tools/grub2/boot/grub/i386-pc/procfs.mod",
+ "tools/grub2/boot/grub/i386-pc/progress.mod",
+ "tools/grub2/boot/grub/i386-pc/pxe.mod",
+ "tools/grub2/boot/grub/i386-pc/pxechain.mod",
+ "tools/grub2/boot/grub/i386-pc/raid5rec.mod",
+ "tools/grub2/boot/grub/i386-pc/raid6rec.mod",
+ "tools/grub2/boot/grub/i386-pc/read.mod",
+ "tools/grub2/boot/grub/i386-pc/reboot.mod",
+ "tools/grub2/boot/grub/i386-pc/regexp.mod",
+ "tools/grub2/boot/grub/i386-pc/reiserfs.mod",
+ "tools/grub2/boot/grub/i386-pc/relocator.mod",
+ "tools/grub2/boot/grub/i386-pc/romfs.mod",
+ "tools/grub2/boot/grub/i386-pc/scsi.mod",
+ "tools/grub2/boot/grub/i386-pc/search.mod",
+ "tools/grub2/boot/grub/i386-pc/search_fs_file.mod",
+ "tools/grub2/boot/grub/i386-pc/search_fs_uuid.mod",
+ "tools/grub2/boot/grub/i386-pc/search_label.mod",
+ "tools/grub2/boot/grub/i386-pc/sendkey.mod",
+ "tools/grub2/boot/grub/i386-pc/serial.mod",
+ "tools/grub2/boot/grub/i386-pc/setjmp.mod",
+ "tools/grub2/boot/grub/i386-pc/setjmp_test.mod",
+ "tools/grub2/boot/grub/i386-pc/setpci.mod",
+ "tools/grub2/boot/grub/i386-pc/sfs.mod",
+ "tools/grub2/boot/grub/i386-pc/signature_test.mod",
+ "tools/grub2/boot/grub/i386-pc/sleep.mod",
+ "tools/grub2/boot/grub/i386-pc/sleep_test.mod",
+ "tools/grub2/boot/grub/i386-pc/spkmodem.mod",
+ "tools/grub2/boot/grub/i386-pc/squash4.mod",
+ "tools/grub2/boot/grub/i386-pc/syslinuxcfg.mod",
+ "tools/grub2/boot/grub/i386-pc/tar.mod",
+ "tools/grub2/boot/grub/i386-pc/terminal.lst",
+ "tools/grub2/boot/grub/i386-pc/terminal.mod",
+ "tools/grub2/boot/grub/i386-pc/terminfo.mod",
+ "tools/grub2/boot/grub/i386-pc/test.mod",
+ "tools/grub2/boot/grub/i386-pc/test_blockarg.mod",
+ "tools/grub2/boot/grub/i386-pc/testload.mod",
+ "tools/grub2/boot/grub/i386-pc/testspeed.mod",
+ "tools/grub2/boot/grub/i386-pc/tftp.mod",
+ "tools/grub2/boot/grub/i386-pc/tga.mod",
+ "tools/grub2/boot/grub/i386-pc/time.mod",
+ "tools/grub2/boot/grub/i386-pc/tr.mod",
+ "tools/grub2/boot/grub/i386-pc/trig.mod",
+ "tools/grub2/boot/grub/i386-pc/true.mod",
+ "tools/grub2/boot/grub/i386-pc/truecrypt.mod",
+ "tools/grub2/boot/grub/i386-pc/udf.mod",
+ "tools/grub2/boot/grub/i386-pc/ufs1.mod",
+ "tools/grub2/boot/grub/i386-pc/ufs1_be.mod",
+ "tools/grub2/boot/grub/i386-pc/ufs2.mod",
+ "tools/grub2/boot/grub/i386-pc/uhci.mod",
+ "tools/grub2/boot/grub/i386-pc/usb.mod",
+ "tools/grub2/boot/grub/i386-pc/usb_keyboard.mod",
+ "tools/grub2/boot/grub/i386-pc/usbms.mod",
+ "tools/grub2/boot/grub/i386-pc/usbserial_common.mod",
+ "tools/grub2/boot/grub/i386-pc/usbserial_ftdi.mod",
+ "tools/grub2/boot/grub/i386-pc/usbserial_pl2303.mod",
+ "tools/grub2/boot/grub/i386-pc/usbserial_usbdebug.mod",
+ "tools/grub2/boot/grub/i386-pc/usbtest.mod",
+ "tools/grub2/boot/grub/i386-pc/vbe.mod",
+ "tools/grub2/boot/grub/i386-pc/verify.mod",
+ "tools/grub2/boot/grub/i386-pc/vga.mod",
+ "tools/grub2/boot/grub/i386-pc/vga_text.mod",
+ "tools/grub2/boot/grub/i386-pc/video.lst",
+ "tools/grub2/boot/grub/i386-pc/video.mod",
+ "tools/grub2/boot/grub/i386-pc/video_bochs.mod",
+ "tools/grub2/boot/grub/i386-pc/video_cirrus.mod",
+ "tools/grub2/boot/grub/i386-pc/video_colors.mod",
+ "tools/grub2/boot/grub/i386-pc/video_fb.mod",
+ "tools/grub2/boot/grub/i386-pc/videoinfo.mod",
+ "tools/grub2/boot/grub/i386-pc/videotest.mod",
+ "tools/grub2/boot/grub/i386-pc/videotest_checksum.mod",
+ "tools/grub2/boot/grub/i386-pc/xfs.mod",
+ "tools/grub2/boot/grub/i386-pc/xnu.mod",
+ "tools/grub2/boot/grub/i386-pc/xnu_uuid.mod",
+ "tools/grub2/boot/grub/i386-pc/xnu_uuid_test.mod",
+ "tools/grub2/boot/grub/i386-pc/xzio.mod",
+ "tools/grub2/boot/grub/i386-pc/zfs.mod",
+ "tools/grub2/boot/grub/i386-pc/zfscrypt.mod",
+ "tools/grub2/boot/grub/i386-pc/zfsinfo.mod",
+ "tools/mkisofs/win/mkisofs.exe",
+ "tools/net48/Cosmos.Build.Common.dll",
+ "tools/net48/Cosmos.Build.Common.pdb",
+ "tools/net48/Cosmos.Build.Tasks.dll",
+ "tools/net48/Cosmos.Build.Tasks.pdb",
+ "tools/net48/Cosmos.Debug.Common.dll",
+ "tools/net48/Cosmos.Debug.Common.pdb",
+ "tools/net48/Cosmos.Debug.Hosts.dll",
+ "tools/net48/Cosmos.Debug.Hosts.pdb",
+ "tools/net48/Dapper.StrongName.dll",
+ "tools/net48/DapperExtensions.StrongName.dll",
+ "tools/net48/DapperExtensions.StrongName.pdb",
+ "tools/net48/HyperVServer/Cosmos.Debug.HyperVServer.deps.json",
+ "tools/net48/HyperVServer/Cosmos.Debug.HyperVServer.dll",
+ "tools/net48/HyperVServer/Cosmos.Debug.HyperVServer.exe",
+ "tools/net48/HyperVServer/Cosmos.Debug.HyperVServer.pdb",
+ "tools/net48/HyperVServer/Cosmos.Debug.HyperVServer.runtimeconfig.json",
+ "tools/net48/HyperVServer/System.Management.Automation.dll",
+ "tools/net48/HyperVServer/scripts/CreateVm.ps1",
+ "tools/net48/HyperVServer/scripts/RemoveVM.ps1",
+ "tools/net48/HyperVServer/scripts/StartVm.ps1",
+ "tools/net48/HyperVServer/scripts/StopVm.ps1",
+ "tools/net48/IL2CPU.Debug.Symbols.Net48.dll",
+ "tools/net48/IL2CPU.Debug.Symbols.Net48.pdb",
+ "tools/net48/Microsoft.Data.Sqlite.dll",
+ "tools/net48/Microsoft.DiaSymReader.dll",
+ "tools/net48/Microsoft.Win32.Registry.dll",
+ "tools/net48/SQLitePCLRaw.batteries_v2.dll",
+ "tools/net48/SQLitePCLRaw.core.dll",
+ "tools/net48/SQLitePCLRaw.provider.e_sqlite3.dll",
+ "tools/net48/System.Buffers.dll",
+ "tools/net48/System.Collections.Immutable.dll",
+ "tools/net48/System.ComponentModel.Annotations.dll",
+ "tools/net48/System.Data.SqlClient.dll",
+ "tools/net48/System.IO.Ports.dll",
+ "tools/net48/System.Memory.dll",
+ "tools/net48/System.Numerics.Vectors.dll",
+ "tools/net48/System.Reflection.Metadata.dll",
+ "tools/net48/System.Runtime.CompilerServices.Unsafe.dll",
+ "tools/net48/System.Security.AccessControl.dll",
+ "tools/net48/System.Security.Principal.Windows.dll",
+ "tools/net48/e_sqlite3.dll",
+ "tools/net48/runtimes/win-arm/native/e_sqlite3.dll",
+ "tools/net48/runtimes/win-x64/native/e_sqlite3.dll",
+ "tools/net48/runtimes/win-x86/native/e_sqlite3.dll",
+ "tools/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32",
+ "tools/syslinux/bios/com32/lib/libcom32.c32",
+ "tools/syslinux/bios/com32/mboot/mboot.c32",
+ "tools/syslinux/bios/core/isolinux.bin",
+ "tools/syslinux/bios/core/pxelinux.0",
+ "tools/syslinux/bios/core/pxelinux.bin",
+ "tools/syslinux/win/syslinux.exe",
+ "tools/unix/objdump.sh",
+ "tools/yasm/win/LICENSE.txt",
+ "tools/yasm/win/yasm.exe"
+ ]
+ },
+ "Cosmos.Common/0.1.0-localbuild20221121060004": {
+ "sha512": "YIPuNNaehxq2Hgzo8q24Rs36F9PVtU9mOQ/qb5OU5eGr/d2bbgSQGZFkBh7HOMRqhtWQvaUlEKjJbInOpZkx7A==",
+ "type": "package",
+ "path": "cosmos.common/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "cosmos.common.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "cosmos.common.nuspec",
+ "lib/net6.0/Cosmos.Common.dll"
+ ]
+ },
+ "Cosmos.Core/0.1.0-localbuild20221121060004": {
+ "sha512": "xjn58k6ZzuoV+0pMRd1M8Q0nVOBL/bJ6hp/j5w6Sk5Cx0ZiJYRfaTbc0dqQZoSzX9EUj6+5JDHZmZyuKOWGgZg==",
+ "type": "package",
+ "path": "cosmos.core/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "cosmos.core.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "cosmos.core.nuspec",
+ "lib/net6.0/Cosmos.Core.dll",
+ "lib/net6.0/Cosmos.Core.xml"
+ ]
+ },
+ "Cosmos.Debug.Kernel/0.1.0-localbuild20221121060004": {
+ "sha512": "Dgbi2cQgplUwtGkRVTrqxWyFVz/lQHW5QIRUpOCLuOAuwLiMZGU1+ULwMJmmspHuq+8pcmMS9KAbopcNs8Fueg==",
+ "type": "package",
+ "path": "cosmos.debug.kernel/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "cosmos.debug.kernel.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "cosmos.debug.kernel.nuspec",
+ "lib/netstandard2.0/Cosmos.Debug.Kernel.dll",
+ "lib/netstandard2.0/Cosmos.Debug.Kernel.xml"
+ ]
+ },
+ "Cosmos.HAL2/0.1.0-localbuild20221121060004": {
+ "sha512": "4xD9K+lUKQUD+XpFb3LcPHLt8Si8bWK4+bRdpdKOKRwYNWyfdVExKTfxt9WIhh4R/aETyQ31VuyudVAh4wjE8A==",
+ "type": "package",
+ "path": "cosmos.hal2/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "cosmos.hal2.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "cosmos.hal2.nuspec",
+ "lib/net6.0/Cosmos.HAL2.dll",
+ "lib/net6.0/Cosmos.HAL2.xml"
+ ]
+ },
+ "Cosmos.System2/0.1.0-localbuild20221121060004": {
+ "sha512": "Xolcbn5UxV/mkfFgpt96zyJ/QW7F6HsEdgMEfF9VSxakZSMsS+9LHS0tObkXNVbrvB2mOL8QCblgLTHkRXghUQ==",
+ "type": "package",
+ "path": "cosmos.system2/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "LICENSE.txt",
+ "cosmos.system2.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "cosmos.system2.nuspec",
+ "lib/net6.0/Cosmos.System2.dll",
+ "lib/net6.0/Cosmos.System2.xml"
+ ]
+ },
+ "IL2CPU.API/0.1.0-localbuild20221121060004": {
+ "sha512": "5qwu24gFRI8hMkZStF77KlOmpdzHGFESVkR/WVxrAmtPKfBsSHXOQhpv0K6kZlTnJ6CNyz2ZGyAea+t0N6RbKg==",
+ "type": "package",
+ "path": "il2cpu.api/0.1.0-localbuild20221121060004",
+ "files": [
+ ".nupkg.metadata",
+ "il2cpu.api.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "il2cpu.api.nuspec",
+ "lib/netstandard2.0/IL2CPU.API.dll"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net6.0": [
+ "Cosmos.Build >= 0.0.0-*",
+ "Cosmos.Debug.Kernel >= 0.0.0-*",
+ "Cosmos.System2 >= 0.0.0-*"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\LINSUX\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj",
+ "projectName": "DoorsOS",
+ "projectPath": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj",
+ "packagesPath": "C:\\Users\\LINSUX\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\LINSUX\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net6.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Users\\LINSUX\\AppData\\Roaming\\Cosmos User Kit\\packages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "dependencies": {
+ "Cosmos.Build": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ },
+ "Cosmos.Debug.Kernel": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ },
+ "Cosmos.System2": {
+ "target": "Package",
+ "version": "[0.0.0-*, )",
+ "noWarn": [
+ "NU1604"
+ ]
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.302\\RuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/DoorsOS/obj/project.nuget.cache b/DoorsOS/obj/project.nuget.cache
new file mode 100644
index 0000000..9204add
--- /dev/null
+++ b/DoorsOS/obj/project.nuget.cache
@@ -0,0 +1,16 @@
+{
+ "version": 2,
+ "dgSpecHash": "0rp4gb6ZLxs=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\LINSUX\\source\\repos\\DoorsOS\\DoorsOS\\DoorsOS.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.build\\0.1.0-localbuild20221121055958\\cosmos.build.0.1.0-localbuild20221121055958.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.common\\0.1.0-localbuild20221121060004\\cosmos.common.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.core\\0.1.0-localbuild20221121060004\\cosmos.core.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.debug.kernel\\0.1.0-localbuild20221121060004\\cosmos.debug.kernel.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.hal2\\0.1.0-localbuild20221121060004\\cosmos.hal2.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\cosmos.system2\\0.1.0-localbuild20221121060004\\cosmos.system2.0.1.0-localbuild20221121060004.nupkg.sha512",
+ "C:\\Users\\LINSUX\\.nuget\\packages\\il2cpu.api\\0.1.0-localbuild20221121060004\\il2cpu.api.0.1.0-localbuild20221121060004.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..17cf4e1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+# Welcome to DoorsOS
+
+DoorsOS is the open source hobby operating system that uses COSMOS at it's core.
+
+Because it's based on GEMS NT, this allows us (Sneed Group) to continue the work of GEMS NT together, and along with all of you of course!
\ No newline at end of file