AcessNative - Fixing Fixing Fixing
[tpg/acess2.git] / AcessNative / acesskernel_src / main.c
index 09e09dc..363fea1 100644 (file)
@@ -6,10 +6,56 @@
  */
 #include <stdio.h>
 #include <stdlib.h>
-#include <SDL/SDL.h>
 
+// === 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);
+
+// === GLOBALS ===
+const char     *gsAcessDir = "../Usermode/Output/i386";
+
+// === CODE ===
 int main(int argc, char *argv[])
 {
+       // 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", "");
+
+       Debug_SetKTerminal("/Devices/VTerm/8");
+       
+       // Start syscall server
+       // - Blocks
+       SyscallServer();
+       
        return 0;
 }
 
+void AcessNative_Exit(void)
+{
+       // TODO: Close client applications too
+       exit(0);
+}

UCC git Repository :: git.ucc.asn.au