X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fvterm.c;h=b1d5181ae573640f4a44a2d2def2c81f52743921;hb=9d3800f60f2212432e550a4e003ae65b498a4d36;hp=fef93d88fa9357cf2ada96910a30bc9c1ca79c94;hpb=aa09c2350becd947a7e51fd0bdac945f4aa42d2a;p=tpg%2Facess2.git diff --git a/Kernel/drv/vterm.c b/Kernel/drv/vterm.c index fef93d88..b1d5181a 100644 --- a/Kernel/drv/vterm.c +++ b/Kernel/drv/vterm.c @@ -15,7 +15,7 @@ #define DEFAULT_INPUT "/Devices/PS2Keyboard" #define DEFAULT_WIDTH 80 #define DEFAULT_HEIGHT 25 -#define DEFAULT_COLOUR (VT_COL_BLACK|(VT_COL_WHITE<<16)) +#define DEFAULT_COLOUR (VT_COL_BLACK|(0xAAA<<16)) #define VT_FLAG_HIDECSR 0x01 @@ -62,7 +62,7 @@ void VT_int_UpdateScreen( tVTerm *Term, int UpdateAll ); // === CONSTANTS === const Uint16 caVT100Colours[] = { - VT_COL_BLACK, 0x700, 0x070, 0x770, 0x007, 0x707, 0x077, VT_COL_LTGREY, + VT_COL_BLACK, 0x700, 0x070, 0x770, 0x007, 0x707, 0x077, 0xAAA, VT_COL_GREY, 0xF00, 0x0F0, 0xFF0, 0x00F, 0xF0F, 0x0FF, VT_COL_WHITE }; @@ -72,6 +72,7 @@ tDevFS_Driver gVT_DrvInfo = { NULL, "VTerm", { .Flags = VFS_FFLAG_DIRECTORY, + .Size = NUM_VTS, .Inode = -1, .NumACLs = 0, .ReadDir = VT_ReadDir, @@ -194,7 +195,7 @@ char *VT_ReadDir(tVFS_Node *Node, int Pos) { if(Pos < 0) return NULL; if(Pos >= NUM_VTS) return NULL; - return gVT_Terminals[Pos].Name; + return strdup( gVT_Terminals[Pos].Name ); } /** @@ -471,9 +472,8 @@ void VT_int_PutChar(tVTerm *Term, Uint32 Ch) switch(Ch) { - case 0: return; // Ignore NULL byte + case '\0': return; // Ignore NULL byte case '\n': - LOG("%i += %i", Term->WritePos, Term->Width); Term->WritePos += Term->Width; case '\r': Term->WritePos -= Term->WritePos % Term->Width; @@ -481,7 +481,7 @@ void VT_int_PutChar(tVTerm *Term, Uint32 Ch) case '\t': do { - Term->Text[ Term->WritePos ].Ch = '\t'; + Term->Text[ Term->WritePos ].Ch = '\0'; Term->Text[ Term->WritePos ].Colour = Term->CurColour; Term->WritePos ++; } while(Term->WritePos & 7); @@ -493,7 +493,7 @@ void VT_int_PutChar(tVTerm *Term, Uint32 Ch) Term->WritePos --; // Singe Character - if(Term->Text[ Term->WritePos ].Ch != '\t') { + if(Term->Text[ Term->WritePos ].Ch != '\0') { Term->Text[ Term->WritePos ].Ch = 0; Term->Text[ Term->WritePos ].Colour = Term->CurColour; break; @@ -504,7 +504,7 @@ void VT_int_PutChar(tVTerm *Term, Uint32 Ch) Term->Text[ Term->WritePos ].Ch = 0; Term->Text[ Term->WritePos ].Colour = Term->CurColour; Term->WritePos --; - } while(Term->WritePos && i-- && Term->Text[ Term->WritePos ].Ch == '\t'); + } while(Term->WritePos && i-- && Term->Text[ Term->WritePos ].Ch == '\0'); break; default: @@ -601,10 +601,15 @@ int VT_Font_GetHeight(Uint32 Codepoint) return FONT_HEIGHT; } +/** + * \fn void VT_Font_Render(Uint32 Codepoint, void *Buffer, Uint32 BGC, Uint32 FGC) + * \brief Render a font character + */ void VT_Font_Render(Uint32 Codepoint, void *Buffer, Uint32 BGC, Uint32 FGC) { -// Uint8 *font; - + //Uint8 *font; + //Uint32 *buf = Buffer; + //font = VT_Font_GetChar(Codepoint); } /**