*
* Kernel Main
*/
-#include <acess.h>
#include <stdio.h>
#include <stdlib.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);
+
+// === 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;
}
-void LogF(const char *Fmt, ...)
+void AcessNative_Exit(void)
{
- 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 *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)
-{
- return 0;
+ // TODO: Close client applications too
+ exit(0);
}