#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
// === 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
};
NULL, "VTerm",
{
.Flags = VFS_FFLAG_DIRECTORY,
+ .Size = NUM_VTS,
.Inode = -1,
.NumACLs = 0,
.ReadDir = VT_ReadDir,
{
if(Pos < 0) return NULL;
if(Pos >= NUM_VTS) return NULL;
- return gVT_Terminals[Pos].Name;
+ return strdup( gVT_Terminals[Pos].Name );
}
/**
case VT_MODE_TEXT8:
while(pos < Length)
{
- while(term->InputRead == term->InputWrite) Proc_Yield();
+ while(term->InputRead == term->InputWrite) Threads_Yield();
while(term->InputRead != term->InputWrite)
{
- LOG("WriteUTF8(%p, 0x%x)", Buffer+pos, term->InputBuffer[term->InputRead]);
pos += WriteUTF8(Buffer+pos, term->InputBuffer[term->InputRead]);
term->InputRead ++;
term->InputRead %= MAX_INPUT_CHARS;
case VT_MODE_TEXT32:
while(pos < Length)
{
- while(term->InputRead == term->InputWrite) Proc_Yield();
+ while(term->InputRead == term->InputWrite) Threads_Yield();
while(term->InputRead != term->InputWrite)
{
((Uint32*)Buffer)[pos] = term->InputBuffer[term->InputRead];
void VT_int_ClearLine(tVTerm *Term, int Num)
{
int i;
- ENTER("pTerm iNum", Term, Num);
- for( i = Term->Width; i++; )
+ //ENTER("pTerm iNum", Term, Num);
+ for( i = Term->Width; i--; )
{
Term->Text[ Num*Term->Width + i ].Ch = 0;
Term->Text[ Num*Term->Width + i ].Colour = Term->CurColour;
}
- LEAVE('-');
+ //LEAVE('-');
}
/**
switch(Ch)
{
- case 0: return; // Ignore NULL byte
+ case '\0': return; // Ignore NULL byte
case '\n':
Term->WritePos += Term->Width;
case '\r':
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);
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;
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: