X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fvterm.c;h=87f71edea340387052d29ade81b501b27ba182ee;hb=5fc81fa5e050f48374a6aff5636f3e60313dfc78;hp=afd53ffc26d0fc8cc0974d8aaa585c59b04ac5ff;hpb=3c777e58e6baba6760f43b8fdde4daf62081048b;p=tpg%2Facess2.git diff --git a/Kernel/drv/vterm.c b/Kernel/drv/vterm.c index afd53ffc..87f71ede 100644 --- a/Kernel/drv/vterm.c +++ b/Kernel/drv/vterm.c @@ -16,14 +16,15 @@ #define MAX_INPUT_CHARS32 64 #define MAX_INPUT_CHARS8 (MAX_INPUT_CHARS32*4) #define VT_SCROLLBACK 1 // 2 Screens of text -#define DEFAULT_OUTPUT "VGA" -//#define DEFAULT_OUTPUT "BochsGA" +//#define DEFAULT_OUTPUT "VGA" +#define DEFAULT_OUTPUT "BochsGA" #define DEFAULT_INPUT "PS2Keyboard" #define DEFAULT_WIDTH 80 #define DEFAULT_HEIGHT 25 #define DEFAULT_COLOUR (VT_COL_BLACK|(0xAAA<<16)) #define VT_FLAG_HIDECSR 0x01 +#define VT_FLAG_HASFB 0x10 //!< Set if the VTerm has requested the Framebuffer enum eVT_InModes { VT_INMODE_TEXT8, // UTF-8 Text Mode (VT100 Emulation) @@ -184,7 +185,7 @@ int VT_Install(char **Arguments) DevFS_AddDevice( &gVT_DrvInfo ); // Set kernel output to VT0 - //Debug_SetKTerminal("/Devices/VTerm/0"); + Debug_SetKTerminal("/Devices/VTerm/0"); return 0; } @@ -196,7 +197,7 @@ int VT_Install(char **Arguments) void VT_InitOutput() { giVT_OutputDevHandle = VFS_Open(gsVT_OutputDevice, VFS_OPENFLAG_WRITE); - LOG("giVT_OutputDevHandle = %x\n", giVT_OutputDevHandle); + Log("giVT_OutputDevHandle = %x\n", giVT_OutputDevHandle); VT_SetTerminal( 0 ); } @@ -493,6 +494,10 @@ void VT_KBCallBack(Uint32 Codepoint) case KEY_F10: VT_SetTerminal(9); return; case KEY_F11: VT_SetTerminal(10); return; case KEY_F12: VT_SetTerminal(11); return; + case KEY_PGUP: + break; + case KEY_PGDOWN: + break; } } @@ -891,7 +896,7 @@ void VT_int_ChangeMode(tVTerm *Term, int NewMode) Uint8 *VT_Font_GetChar(Uint32 Codepoint); // === GLOBALS === -int giVT_CharWidth = FONT_WIDTH; +int giVT_CharWidth = FONT_WIDTH+1; int giVT_CharHeight = FONT_HEIGHT; // === CODE === @@ -904,13 +909,14 @@ void VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint3 Uint8 *font; Uint32 *buf = Buffer; int x, y; + font = VT_Font_GetChar(Codepoint); for(y = 0; y < FONT_HEIGHT; y ++) { for(x = 0; x < FONT_WIDTH; x ++) { - if(*font & (1 << (FONT_WIDTH-x))) + if(*font & (1 << (FONT_WIDTH-x-1))) buf[x] = FGC; else buf[x] = BGC;