コード例 #1
0
 public void getAllDirectories()
 {
     foreach (var directory in VFS.GetDirectoryListing(currentDirectory))
     {
         Console.WriteLine("\tName\tType");
         Console.WriteLine($"\t{directory.mName}\t{directory.mEntryType}");
     }
 }
コード例 #2
0
        protected override void BeforeRun()
        {
            try
            {
                VGADriverII.Initialize(VGAMode.Text90x60);
                Console.WriteLine("Hold shift for boot options...");
                for (int i = 0; i < 1000000; i++)
                {
                    if (true)
                    {
                    }
                }
                Console.Clear();
                if (Sys.KeyboardManager.ShiftPressed)
                {
                    while (true)
                    {
                        Console.WriteLine("VesaOS Boot Menu");
                        Console.WriteLine("1) Boot normally");
                        Console.WriteLine("2) Safe mode");
                        Console.WriteLine("3) Safe mode with networking");
                        Console.WriteLine("4) Safe mode with filesystem");
                        Console.WriteLine();
                        Console.Write("Select one: ");
                        ConsoleKeyInfo kcki = Console.ReadKey();
                        string         k    = kcki.KeyChar.ToString();
                        if (k == "1")
                        {
                            break;
                        }
                        if (k == "2")
                        {
                            BootMode = 1;
                            break;
                        }
                        if (k == "3")
                        {
                            BootMode = 2;
                            break;
                        }
                        if (k == "4")
                        {
                            BootMode = 3;
                            break;
                        }
                    }
                }
                mDebugger.Send("VesaOS is starting!");
                //ProcessMemory = Cosmos.Core.Memory.Heap.Alloc(((Cosmos.Core.CPU.GetAmountOfRAM() * 1024) * 1024) / 2);
                //ProcessMemorySize = (int)(Cosmos.Core.CPU.GetAmountOfRAM() * 1024 * 1024 / 2);
                pidstack.Add(0);
                Terminal.BackColor = ConsoleColor.DarkGreen;
                Terminal.ClearSlow(ConsoleColor.DarkGreen);
                Terminal.SetCursorPos(39, 30);
                Terminal.Write("VesaOS");

                /*Console.WriteLine("VesaOSPE is starting...");
                 * Console.WriteLine("Initializing ramdisk...");
                 * ramdisk = new VirtualPartition();
                 * BootFinished?.Invoke();*/
                //Console.WriteLine("Initializing filesystem...");
                if (BootMode == 0 || BootMode == 3)
                {
                    mDebugger.Send("Filesystem init");
                    Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
                    Terminal.ClearSlow(ConsoleColor.DarkGreen);
                    Terminal.SetCursorPos(39, 30);
                    Terminal.Write("VesaOS");
                    mDebugger.Send("Checking drive 0 is accessible...");
                    try
                    {
                        fs.GetDirectoryListing(@"0:\");
                    }
                    catch (Exception)
                    {
                        mDebugger.Send("WARNING: Could not access drive 0!");
                    }
                    mDebugger.Send("Reading registry...");
                    //config = new Core.Registry.IniFile("0:\\config.ini");
                }
                if (BootMode == 0)
                {
                    if (true) //config.GetBoolean("Boot", "NetworkEnabled")
                    {
                        mDebugger.Send("Initializing network...");
                        VesaOS.System.Network.NTPClient.Init();
                    }
                }
                if (BootMode == 2)
                {
                    VesaOS.System.Network.NTPClient.Init();
                }
                if (BootMode == 0 || BootMode == 3)
                {
                    if (!true) //config.GetBoolean("Setup", "SetupCompleted")
                    {
                        /*System.Graphics.WindowManager.Init();
                         * System.Graphics.Window OOBE = new Apps.VesaOOBE();
                         * System.Graphics.WindowManager.ShowWindow(OOBE);
                         * while (true) { System.Graphics.WindowManager.Run(); }*/
                        Terminal.BackColor = ConsoleColor.Black;
                        Terminal.ClearSlow(ConsoleColor.Black);
                        Apps.VesaOOBEText.UserAccountSetup();
                    }
                }
                mDebugger.Send("Initializing shell...");
                Terminal.InitHistory();
                //Console.WriteLine("Starting services...");
                //StartService("ukms");
                //Console.WriteLine("Boot finished.");
                pidstack.Add(1);
                Terminal.BackColor = ConsoleColor.Black;
                Terminal.ClearSlow(ConsoleColor.Black);

                /*Console.Write("Username: "******"Password: "******"Username: "******"Password: ");
                 *  psk = Console.ReadLine();
                 * }*/
            }
            catch (Exception e)
            {
                Crash(e);
            }
        }
コード例 #3
0
        protected override void BeforeRun()
        {
            try
            {
                mDebugger.Send("VesaOS is starting!");
                pidstack.Add(0);
                VGADriverII.Initialize(VGAMode.Text90x60);
                Terminal.BackColor = ConsoleColor.DarkGreen;
                Terminal.ClearSlow(ConsoleColor.DarkGreen);
                Terminal.SetCursorPos(39, 30);
                Terminal.Write("VesaOS");

                /*Console.WriteLine("VesaOSPE is starting...");
                 * Console.WriteLine("Initializing ramdisk...");
                 * ramdisk = new VirtualPartition();
                 * BootFinished?.Invoke();*/
                //Console.WriteLine("Initializing filesystem...");
                mDebugger.Send("Filesystem init");
                Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
                Terminal.ClearSlow(ConsoleColor.DarkGreen);
                Terminal.SetCursorPos(39, 30);
                Terminal.Write("VesaOS");
                mDebugger.Send("Checking drive 0 is accessible...");
                try
                {
                    fs.GetDirectoryListing(@"0:\");
                }
                catch (Exception)
                {
                    mDebugger.Send("WARNING: Could not access drive 0!");
                }
                mDebugger.Send("Reading registry...");
                config = new Core.Registry.IniFile("0:\\config.ini");
                if (config.GetBoolean("Boot", "NetworkEnabled"))
                {
                    mDebugger.Send("Initializing network...");
                    VesaOS.System.Network.NTPClient.Init();
                }
                if (!config.GetBoolean("Setup", "SetupCompleted"))
                {
                    /*System.Graphics.WindowManager.Init();
                     * System.Graphics.Window OOBE = new Apps.VesaOOBE();
                     * System.Graphics.WindowManager.ShowWindow(OOBE);
                     * while (true) { System.Graphics.WindowManager.Run(); }*/
                    Terminal.BackColor = ConsoleColor.Black;
                    Terminal.ClearSlow(ConsoleColor.Black);
                    Apps.VesaOOBEText.UserAccountSetup();
                }
                mDebugger.Send("Initializing shell...");
                Terminal.InitHistory();
                //Console.WriteLine("Starting services...");
                //StartService("ukms");
                //Console.WriteLine("Boot finished.");
                pidstack.Add(1);
                Terminal.BackColor = ConsoleColor.Black;
                Terminal.ClearSlow(ConsoleColor.Black);

                /*Console.Write("Username: "******"Password: "******"Username: "******"Password: ");
                 *  psk = Console.ReadLine();
                 * }*/
            }
            catch (Exception e)
            {
                Crash(e);
            }
        }