Fixes to Libc, Doxygen Comments and VTerm layout
[tpg/acess2.git] / Modules / BochsVBE / bochsvbe.c
index a55e702..2fe0110 100644 (file)
@@ -85,8 +85,8 @@ tDevFS_Driver gBGA_DriverStruct = {
 Uint   *gBGA_Framebuffer;\r
 t_bga_mode     gBGA_Modes[] = {\r
        {},\r
-       { 80,25, 32, MODEFLAG_TEXT, 80*25*8},   // 640 x 480\r
-       {100,37, 32, MODEFLAG_TEXT, 100*37*8},  // 800 x 600\r
+       { 80,25, 12, MODEFLAG_TEXT, 80*25*8},   // 640 x 480\r
+       {100,37, 12, MODEFLAG_TEXT, 100*37*8},  // 800 x 600\r
        {640,480,8, 0, 640*480},\r
        {640,480,32, 0, 640*480*4},\r
        {800,600,8, 0, 800*600},\r
@@ -176,8 +176,10 @@ Uint64 BGA_Write(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer)
                tVT_Char        *chars = buffer;\r
                 int    pitch = gBGA_Modes[giBGA_CurrentMode].width * giVT_CharWidth;\r
                Uint32  *dest;\r
+               off /= sizeof(tVT_Char);\r
                dest = (void*)gBGA_Framebuffer;\r
-               dest += off * giVT_CharWidth;\r
+               dest += (off / gBGA_Modes[giBGA_CurrentMode].width) * giVT_CharHeight * pitch;\r
+               dest += (off % gBGA_Modes[giBGA_CurrentMode].width) * giVT_CharWidth;\r
                len /= sizeof(tVT_Char);\r
                while(len--)\r
                {\r
@@ -400,9 +402,9 @@ int BGA_int_FindMode(tVideo_IOCtl_Mode *info)
 int BGA_int_ModeInfo(tVideo_IOCtl_Mode *info)\r
 {\r
        // Sanity Check\r
-       if( !MM_IsUser( (Uint)info, sizeof(tVideo_IOCtl_Mode) ) ) {\r
-               return -EINVAL;\r
-       }\r
+       //if( !MM_IsUser( (Uint)info, sizeof(tVideo_IOCtl_Mode) ) ) {\r
+       //      return -EINVAL;\r
+       //}\r
        \r
        if(info->id < 0 || info->id >= BGA_MODE_COUNT)  return -1;\r
        \r

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