X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Facesskernel_src%2Fmain.c;h=363fea1f7946c6bba67682b69920a72cd611f656;hb=717454930aa0e255517c68c837927deac49bd78e;hp=45e6aa02a603b7ce2788907ed5102bcc67c42809;hpb=b5a1402b18d2f8cb360bf2fc524609b374bac8ec;p=tpg%2Facess2.git diff --git a/AcessNative/acesskernel_src/main.c b/AcessNative/acesskernel_src/main.c index 45e6aa02..363fea1f 100644 --- a/AcessNative/acesskernel_src/main.c +++ b/AcessNative/acesskernel_src/main.c @@ -6,47 +6,56 @@ */ #include #include -#include -int main(int argc, char *argv[]) -{ - return 0; -} +// === IMPORTS === +extern int UI_Initialise(int Width, int Height); +extern int VFS_Init(void); +extern int Video_Install(char **Arguments); +extern int NativeKeyboard_Install(char **Arguments); +extern int VT_Install(char **Arguments); +extern int VFS_Mount(const char *Device, const char *MountPoint, const char *Filesystem, const char *Options); +extern int SyscallServer(void); -void LogF(const char *Fmt, ...) -{ - va_list args; - va_start(args, Fmt); - vprintf(Fmt, args); - va_end(args); -} +// === GLOBALS === +const char *gsAcessDir = "../Usermode/Output/i386"; -void Log(const char *Fmt, ...) -{ - va_list args; - printf("Log: "); - va_start(args, Fmt); - vprintf(Fmt, args); - va_end(args); - printf("\n"); -} - -void Warning(const char *Fmt, ...) +// === CODE === +int main(int argc, char *argv[]) { - va_list args; - printf("Warning: "); - va_start(args, Fmt); - vprintf(Fmt, args); - va_end(args); - printf("\n"); -} + // Parse command line settings + + // Start UI subsystem + UI_Initialise(800, 480); + + // Initialise VFS + VFS_Init(); + // - Start IO Drivers + Video_Install(NULL); + NativeKeyboard_Install(NULL); + NativeFS_Install(NULL); + // - Start VTerm + { + char *args[] = { + "Video=NativeVideo", + "Input=NativeKeyboard", + NULL + }; + VT_Install(args); + } + + VFS_Mount(gsAcessDir, "/Acess", "nativefs", ""); -int CheckMem(void *Mem, int Count) -{ - return 1; + Debug_SetKTerminal("/Devices/VTerm/8"); + + // Start syscall server + // - Blocks + SyscallServer(); + + return 0; } -int CheckString(const char *String) +void AcessNative_Exit(void) { - return 1; + // TODO: Close client applications too + exit(0); }