public static void Main()
        {
            ApplicationRuntime.Init();
            MessageManager.OnDispatchError   = OnDispatchError;
            MessageManager.OnMessageReceived = MessageReceived;

            fb = CreateFrameBuffer();
            if (fb == null)
            {
                Console.WriteLine("No Framebuffer found");
                ApplicationRuntime.Exit(0);
            }
            sur = new FramebufferSurface(fb);
            gfx = new GraphicsAdapter(sur);
            gfx.SetSource(0x00115F9F);
            gfx.Rectangle(0, 0, sur.Width, sur.Height);
            gfx.Fill();

            SysCalls.RegisterService(SysCallTarget.Tmp_DisplayServer_CreateWindow);
            SysCalls.RegisterService(SysCallTarget.Tmp_DisplayServer_FlushWindow);
            SysCalls.SetServiceStatus(ServiceStatus.Ready);

            Console.WriteLine("DisplayServer ready");

            while (true)
            {
                SysCalls.ThreadSleep(0);
            }
        }
Beispiel #2
0
        public static unsafe void Main()
        {
            ApplicationRuntime.Init();

            MessageManager.OnMessageReceived = MessageReceived;

            var targetProcID = SysCalls.GetProcessIDForCommand(SysCallTarget.GetProcessByName);

            GetProcessByNameBuffer = SysCalls.RequestMessageBuffer(4096, targetProcID);

            SysCalls.RegisterService(SysCallTarget.HostCommunication_CreateProcess);
            SysCalls.RegisterService(SysCallTarget.TmpDebug);

            SysCalls.SetServiceStatus(ServiceStatus.Ready);

            try
            {
                SetupDrivers();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            while (true)
            {
                //Serial.Write(port, (byte)'M');
                SysCalls.ThreadSleep(0);
            }
        }
Beispiel #3
0
        public static unsafe void Main()
        {
            ApplicationRuntime.Init();

            Files     = new List <VfsFile>();
            OpenFiles = new List <OpenFile>();

            KeyBoardFifo = new VfsFile {
                Path = "/dev/keyboard", Buffer = new FifoFile()
            };
            Files.Add(KeyBoardFifo);
            Files.Add(new VfsFile {
                Path = "/dev/screen", Buffer = new FifoFile()
            });

            MessageManager.OnMessageReceived = MessageReceived;
            MessageManager.OnDispatchError   = OnDispatchError;

            SysCalls.RegisterService(SysCallTarget.OpenFile);
            SysCalls.RegisterService(SysCallTarget.CreateFifo);
            SysCalls.RegisterService(SysCallTarget.ReadFile);
            SysCalls.RegisterService(SysCallTarget.WriteFile);

            SysCalls.RegisterInterrupt(33);

            SysCalls.SetServiceStatus(ServiceStatus.Ready);

            while (true)
            {
                SysCalls.ThreadSleep(0);
            }
        }
Beispiel #4
0
        public static void Main()
        {
            ApplicationRuntime.Init();

            Service.Setup();

            MessageManager.OnMessageReceived = MessageReceived;
            MessageManager.OnDispatchError   = OnDispatchError;

            SysCalls.RegisterService(SysCallTarget.OpenFile);
            SysCalls.RegisterService(SysCallTarget.CreateFifo);
            SysCalls.RegisterService(SysCallTarget.ReadFile);
            SysCalls.RegisterService(SysCallTarget.WriteFile);
            SysCalls.RegisterService(SysCallTarget.GetFileLength);
            SysCalls.RegisterService(SysCallTarget.FStat);
            SysCalls.RegisterService(SysCallTarget.CreateStandartInputOutput);
            SysCalls.RegisterService(SysCallTarget.SetStandartInputOutput);

            var targetProcID = SysCalls.GetProcessIDForCommand(SysCallTarget.GetProcessByName);

            GetProcessByNameBuffer = SysCalls.RequestMessageBuffer(4096, targetProcID);

            SysCalls.RegisterService(SysCallTarget.HostCommunication_CreateProcess); // TODO: Obsolete? Consider rename TmpDebug to HostCommunication_CreateProcess
            SysCalls.RegisterService(SysCallTarget.TmpDebug);

            try
            {
                InitHAL.SetupDrivers();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            SysCalls.RegisterInterrupt(33);

            SysCalls.SetServiceStatus(ServiceStatus.Ready);

            while (true)
            {
                SysCalls.ThreadSleep(0);
            }
        }