X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fdrv%2Fvterm.c;h=2c6a0d2f8a79ce34cda825b1f8fc3a21250ed2be;hb=7b0611393a98399063aefaa87583b05fef13f6e3;hp=cb7c3122220ae93cb503803af7196c2e0bcfa326;hpb=e7a76b0d8a0cc6aa77966509780973a6f8216ef7;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/drv/vterm.c b/KernelLand/Kernel/drv/vterm.c index cb7c3122..2c6a0d2f 100644 --- a/KernelLand/Kernel/drv/vterm.c +++ b/KernelLand/Kernel/drv/vterm.c @@ -20,7 +20,6 @@ #define NUM_VTS 8 //#define DEFAULT_OUTPUT "BochsGA" #define DEFAULT_OUTPUT "Vesa" -#define FALLBACK_OUTPUT "x86_VGAText" #define DEFAULT_INPUT "Keyboard" #define DEFAULT_WIDTH 640 #define DEFAULT_HEIGHT 480 @@ -98,7 +97,7 @@ int VT_Install(char **Arguments) data[ val - arg ] = '\0'; val ++; } - Log_Debug("VTerm", "Argument '%s'", arg); + Log_Debug("VTerm", "Argument '%s'='%s'", opt, val); if( strcmp(opt, "Video") == 0 ) { if( !gsVT_OutputDevice ) @@ -126,9 +125,9 @@ int VT_Install(char **Arguments) // Apply Defaults if(!gsVT_OutputDevice) gsVT_OutputDevice = (char*)DEFAULT_OUTPUT; else if( Module_EnsureLoaded( gsVT_OutputDevice ) ) gsVT_OutputDevice = (char*)DEFAULT_OUTPUT; - if( Module_EnsureLoaded( gsVT_OutputDevice ) ) gsVT_OutputDevice = (char*)FALLBACK_OUTPUT; + //if( Module_EnsureLoaded( gsVT_OutputDevice ) ) gsVT_OutputDevice = (char*)FALLBACK_OUTPUT; if( Module_EnsureLoaded( gsVT_OutputDevice ) ) { - Log_Error("VTerm", "Fallback video '%s' is not avaliable, giving up", FALLBACK_OUTPUT); + Log_Error("VTerm", "Video device '%s' is not avaliable, giving up", gsVT_OutputDevice); return MODULE_ERR_MISC; } @@ -163,32 +162,26 @@ int VT_Install(char **Arguments) Log_Debug("VTerm", "Initialising nodes (and creating buffers)"); for( i = 0; i < NUM_VTS; i++ ) { - gVT_Terminals[i].Mode = TERM_MODE_TEXT; - gVT_Terminals[i].Flags = 0; // gVT_Terminals[i].Flags = VT_FLAG_HIDECSR; //HACK - Stop all those memcpy calls gVT_Terminals[i].CurColour = DEFAULT_COLOUR; - gVT_Terminals[i].WritePos = 0; - gVT_Terminals[i].AltWritePos = 0; - gVT_Terminals[i].ViewPos = 0; - gVT_Terminals[i].ScrollHeight = 0; + gVT_Terminals[i].Mode = PTYBUFFMT_TEXT; // Initialise VT_int_Resize( &gVT_Terminals[i], giVT_RealWidth, giVT_RealHeight ); - gVT_Terminals[i].Mode = PTYBUFFMT_TEXT; char name[] = {'v','t','0'+i,'\0'}; - gVT_Terminals[i].PTY = PTY_Create(name, &gVT_Terminals[i], - VT_PTYOutput, VT_PTYResize, VT_PTYModeset); - struct ptymode mode = { - .OutputMode = PTYBUFFMT_TEXT, - .InputMode = PTYIMODE_CANON|PTYIMODE_ECHO - }; struct ptydims dims = { .W = giVT_RealWidth / giVT_CharWidth, .H = giVT_RealHeight / giVT_CharHeight, .PW = giVT_RealWidth, .PH = giVT_RealHeight }; - PTY_SetAttrib(gVT_Terminals[i].PTY, &dims, &mode, 0); + struct ptymode mode = { + .OutputMode = PTYBUFFMT_TEXT, + .InputMode = PTYIMODE_CANON|PTYIMODE_ECHO + }; + gVT_Terminals[i].PTY = PTY_Create(name, &gVT_Terminals[i], + VT_PTYOutput, VT_PTYResize, VT_PTYModeset, + &dims, &mode); } // Add to DevFS