Kernel/VTerm - Fixed mistype in warning
[tpg/acess2.git] / KernelLand / Kernel / drv / vterm.c
index 0489d41..7d30511 100644 (file)
@@ -40,6 +40,9 @@ tVFS_Node     *VT_FindDir(tVFS_Node *Node, const char *Name);
 size_t VT_Read(tVFS_Node *Node, off_t Offset, size_t Length, void *Buffer);
 size_t VT_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer);
  int   VT_Terminal_IOCtl(tVFS_Node *Node, int Id, void *Data);
+void   VT_Terminal_Reference(tVFS_Node *Node);
+void   VT_Terminal_Close(tVFS_Node *Node);
+//void VT_SetTerminal(int Term);
 
 // === CONSTANTS ===
 
@@ -164,7 +167,9 @@ int VT_Install(char **Arguments)
        VT_InitOutput();
        VT_InitInput();
        
+       
        // Create Nodes
+       Log_Debug("VTerm", "Initialising nodes (and creating buffers)");
        for( i = 0; i < NUM_VTS; i++ )
        {
                gVT_Terminals[i].Mode = TERM_MODE_TEXT;
@@ -191,10 +196,12 @@ int VT_Install(char **Arguments)
 //             Semaphore_Init(&gVT_Terminals[i].InputSemaphore, 0, MAX_INPUT_CHARS8, "VTerm", gVT_Terminals[i].Name);
        }
        
+       Log_Debug("VTerm", "Registering with DevFS");
        // Add to DevFS
        DevFS_AddDevice( &gVT_DrvInfo );
        
        // Set kernel output to VT0
+       Log_Debug("VTerm", "Setting kernel output to VT#0");
        Debug_SetKTerminal("/Devices/VTerm/0");
        
        return MODULE_ERR_OK;
@@ -223,7 +230,7 @@ void VT_SetResolution(int Width, int Height)
        if( Width != mode.width || Height != mode.height )
        {
                Log_Warning("VTerm",
-                       "Selected resolution (%ix%i is not supported) by the device, using (%ix%i)",
+                       "Selected resolution (%ix%i) is not supported by the device, using (%ix%i)",
                        giVT_RealWidth, giVT_RealHeight,
                        mode.width, mode.height
                        );
@@ -703,6 +710,16 @@ int VT_Terminal_IOCtl(tVFS_Node *Node, int Id, void *Data)
        return -1;
 }
 
+void VT_Terminal_Reference(tVFS_Node *Node)
+{
+       // Append PID to list
+}
+
+void VT_Terminal_Close(tVFS_Node *Node)
+{
+       // Remove PID from list
+}
+
 /**
  * \fn void VT_SetTerminal(int ID)
  * \brief Set the current terminal
@@ -741,6 +758,8 @@ void VT_SetTerminal(int ID)
        giVT_CurrentTerminal = ID;
        gpVT_CurTerm = &gVT_Terminals[ID];
        
+       LOG("Attempting VT_SetMode");
+       
        if( gpVT_CurTerm->Mode == TERM_MODE_TEXT )
        {
                VT_SetMode( VIDEO_BUFFMT_TEXT );
@@ -752,7 +771,9 @@ void VT_SetTerminal(int ID)
                        VFS_IOCtl(giVT_OutputDevHandle, VIDEO_IOCTL_SETCURSORBITMAP, gpVT_CurTerm->VideoCursor);
                VT_SetMode( VIDEO_BUFFMT_FRAMEBUFFER );
        }
-       
+
+       LOG("Mode set");        
+
        if(gpVT_CurTerm->Buffer)
        {
                // TODO: Handle non equal sized
@@ -762,9 +783,11 @@ void VT_SetTerminal(int ID)
                        gpVT_CurTerm->Width*gpVT_CurTerm->Height*sizeof(Uint32),
                        gpVT_CurTerm->Buffer
                        );
+               LOG("Updated screen contents");
        }
        
        VT_int_UpdateCursor(gpVT_CurTerm, 1);
        // Update the screen
        VT_int_UpdateScreen(gpVT_CurTerm, 1);
+       LOG("done");
 }

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