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); } }
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); } }