Lots of work on the AcessNative kernel
[tpg/acess2.git] / AcessNative / acesskernel_src / main.c
index 1dcf61a..7de6bf9 100644 (file)
@@ -4,85 +4,50 @@
  *
  * Kernel Main
  */
-#include <acess.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <sys/time.h>
 
-int main(int argc, char *argv[])
-{
-       return 0;
-}
-
-void LogF(const char *Fmt, ...)
-{
-       va_list args;
-       va_start(args, Fmt);
-       vprintf(Fmt, args);
-       va_end(args);
-}
-
-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, ...)
-{
-       va_list args;
-       printf("Warning: ");
-       va_start(args, Fmt);
-       vprintf(Fmt, args);
-       va_end(args);
-       printf("\n");
-}
-
-void Panic(const char *Format, ...)
-{
-       va_list args;
-       printf("Panic: ");
-       va_start(args, Format);
-       vprintf(Format, args);
-       va_end(args);
-       printf("\n");
-       exit(-1);
-}
-
-void Debug_SetKTerminal(const char *Path)
-{
-       // Ignored, kernel debug goes to stdout
-}
+// === 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);
 
-void *Heap_Allocate(int Count, const char *File, int Line)
-{
-       return malloc(Count);
-}
-
-tPAddr MM_GetPhysAddr(tVAddr VAddr)
-{
-       return VAddr;   // HACK!
-}
-
-Uint MM_GetFlags(tVAddr VAddr)
+// === CODE ===
+int main(int argc, char *argv[])
 {
+       // Parse command line settings
+       
+       // Start UI subsystem
+       UI_Initialise(640, 480);
+       
+       // Initialise VFS
+       VFS_Init();
+       // - Start IO Drivers
+       Video_Install(NULL);
+       NativeKeyboard_Install(NULL);
+       // - Start VTerm
+       {
+               char    *args[] = {
+                       "Video=NativeVideo",
+                       "Input=NativeKeyboard",
+                       NULL
+                       };
+               VT_Install(args);
+       }
+       
+       // Start syscall server
+       for( ;; )
+       {
+               UI_Redraw();
+       }
+       
        return 0;
 }
 
-int Modules_InitialiseBuiltin(const char *Name)
+void AcessNative_Exit(void)
 {
-       return 0;       // Ignored
+       // TODO: Close client applications too
+       exit(0);
 }
-
-Sint64 now(void)
-{
-       struct timeval tv;
-       struct timezone tz;
-       gettimeofday(&tv, &tz);
-       return tv.tv_sec * 1000 + tv.tv_usec/1000;
-}
-

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