コード例 #1
0
ファイル: vidconsole.c プロジェクト: dcui/FreeBSD-9.3_kernel
/* Clear display from current position to end of screen */
void
CD(void)
{

    get_pos(&curx, &cury);
    if (curx > 0) {
	v86.ctl = 0;
	v86.addr = 0x10;
	v86.eax = 0x0600;
	v86.ebx = (bg_c << 4) + fg_c;
	v86.ecx = (cury << 8) + curx;
	v86.edx = (cury << 8) + 79;
	v86int();
	if (++cury > 24) {
	    end_term();
	    return;
	}
    }
    v86.ctl = 0;
    v86.addr = 0x10;
    v86.eax = 0x0600;
    v86.ebx = (bg_c << 4) + fg_c;
    v86.ecx = (cury << 8) + 0;
    v86.edx = (24 << 8) + 79;
    v86int();
    end_term();
}
コード例 #2
0
ファイル: product_boundary.hpp プロジェクト: albertasd/ctl
	//end constructor
	const_product_boundary_iterator( const Boundary1& b1, 
					 const Boundary2& b2, 
					 const Product & p, const bool b): 
		face1(), face2(),
		end1( b1.end( p.first)),
		end2( b2.end( p.second)),
		sign( 0){ end_term(); }
コード例 #3
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Exit attribute mode (reset fore/back-ground colors to defaults) */
void
ME(void)
{
	fg_c=7;
	bg_c=0;
	end_term();
}
コード例 #4
0
ファイル: vidconsole.c プロジェクト: 2asoft/freebsd
static int
vidc_init(int arg)
{
    int		i, hw_cursor;

    if (vidc_started && arg == 0)
	return (0);
    vidc_started = 1;
    Crtat = (unsigned short *)PTOV(0xA0000);
    while ((inb(0x60) & 0x04) == 0)
	;
    outb(0x62, 0xe0);
    while ((inb(0x60) & 0x01) == 0)
	;
    hw_cursor = inb(0x62);
    hw_cursor |= (inb(0x62) << 8);
    inb(0x62);
    inb(0x62);
    inb(0x62);
    crtat = Crtat + hw_cursor;
#ifdef TERM_EMU
    /* Init terminal emulator */
    end_term();
    get_pos();
    curs_move(curx, cury);
    fg_c = DEFAULT_FGCOLOR;
    bg_c = DEFAULT_BGCOLOR;
#endif
    for (i = 0; i < 10 && vidc_ischar(); i++)
	(void)vidc_getchar();
    return (0);	/* XXX reinit? */
}
コード例 #5
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Absolute cursor move to args[0] rows and args[1] columns
 * (the coordinates are 1-based).
 */
void
CM(void)
{
    if(args[0]>0) args[0]--;
    if(args[1]>0) args[1]--;
    curs_move(args[1],args[0]);
    end_term();
}
コード例 #6
0
ファイル: vidconsole.c プロジェクト: 2asoft/freebsd
/* Clear display from current position to end of screen */
void
CD(void)
{
    int pos;

    get_pos();
    for (pos = 0; crtat + pos <= Crtat + col * row; pos++) {
	*(crtat + pos) = ' ';
	*(crtat + pos + 0x1000) = at2pc98(fg_c, bg_c);
    }
    end_term();
}
コード例 #7
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Clear display from current position to end of screen */
void
CD(void)
{
    get_pos();
    v86.ctl = 0;
    v86.addr = 0x10;
    v86.eax = 0x0600;
    v86.ebx = (bg_c<<4)+fg_c;
    v86.ecx = v86.edx;
    v86.edx = 0x184f;
    v86int();
    curx=0;
    curs_move(curx,cury);
    end_term();
}
コード例 #8
0
ファイル: product_boundary.hpp プロジェクト: albertasd/ctl
	void next_term(){
		//\partial(\sigma) \times \tau 
		if( face1 != end1){
			face.cell().first = face1->cell();
			face.cell().second = cellptr->second;
			face.coefficient( face1->coefficient()); 
			++face1;
		} else if ( face2 != end2){
			face.cell().first = cellptr->first;
			face.cell().second = face2->cell();
			face.coefficient( face2->coefficient()); 
			face *= sign;
			++face2;
		} else {
			end_term();
		}
	}
コード例 #9
0
ファイル: vidconsole.c プロジェクト: dcui/FreeBSD-9.3_kernel
/* Gracefully exit ESC-sequence processing in case of misunderstanding */
void
bail_out(int c)
{
    char buf[16], *ch;
    int i;

    if (esc) {
	vidc_rawputchar('\033');
	if (esc != '\033')
	    vidc_rawputchar(esc);
	for (i = 0; i <= argc; ++i) {
	    sprintf(buf, "%d", args[i]);
	    ch = buf;
	    while (*ch)
		vidc_rawputchar(*ch++);
	}
    }
    vidc_rawputchar(c);
    end_term();
}
コード例 #10
0
ファイル: vidconsole.c プロジェクト: dcui/FreeBSD-9.3_kernel
static int
vidc_init(int arg)
{
    int		i;

    if (vidc_started && arg == 0)
	return (0);
    vidc_started = 1;
#ifdef TERM_EMU
    /* Init terminal emulator */
    end_term();
    get_pos(&curx, &cury);
    curs_move(&curx, &cury, curx, cury);
    fg_c = DEFAULT_FGCOLOR;
    bg_c = DEFAULT_BGCOLOR;
#endif
    for (i = 0; i < 10 && vidc_ischar(); i++)
	(void)vidc_getchar();
    return (0);	/* XXX reinit? */
}
コード例 #11
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Gracefully exit ESC-sequence processing in case of misunderstanding */
void
bail_out(int c)
{
	char buf[6],*ch;

	if(esc) vidc_rawputchar('\033');
	if(br) vidc_rawputchar('[');
	if(argc>-1) {
		sprintf(buf,"%d",args[0]);
		ch=buf;
		while(*ch) vidc_rawputchar(*ch++);
		
		if(argc>0) {
			vidc_rawputchar(';');
			sprintf(buf,"%d",args[1]);
			ch=buf;
			while(*ch) vidc_rawputchar(*ch++);
		}
	}
	vidc_rawputchar(c);
	end_term();
}
コード例 #12
0
ファイル: vidconsole.c プロジェクト: dcui/FreeBSD-9.3_kernel
/* Emulate basic capabilities of cons25 terminal */
void
vidc_term_emu(int c)
{
    static int ansi_col[] = {
	0, 4, 2, 6, 1, 5, 3, 7,
    };
    int t;
    int i;

    switch (esc) {
    case 0:
	switch (c) {
	case '\033':
	    esc = c;
	    break;
	default:
	    vidc_rawputchar(c);
	    break;
	}
	break;

    case '\033':
	switch (c) {
	case '[':
	    esc = c;
	    args[0] = 0;
	    argc = -1;
	    break;
	default:
	    bail_out(c);
	    break;
	}
	break;

    case '[':
	switch (c) {
	case ';':
	    if (argc < 0)	/* XXX */
		argc = 0;
	    else if (argc + 1 >= MAXARGS)
		bail_out(c);
	    else
		args[++argc] = 0;
	    break;
	case 'H':
	    if (argc < 0)
		HO();
	    else if (argc == 1)
		CM();
	    else
		bail_out(c);
	    break;
	case 'J':
	    if (argc < 0)
		CD();
	    else
		bail_out(c);
	    break;
	case 'm':
	    if (argc < 0) {
		fg_c = DEFAULT_FGCOLOR;
		bg_c = DEFAULT_BGCOLOR;
	    }
	    for (i = 0; i <= argc; ++i) {
		switch (args[i]) {
		case 0:		/* back to normal */
		    fg_c = DEFAULT_FGCOLOR;
		    bg_c = DEFAULT_BGCOLOR;
		    break;
		case 1:		/* bold */
		    fg_c |= 0x8;
		    break;
		case 4:		/* underline */
		case 5:		/* blink */
		    bg_c |= 0x8;
		    break;
		case 7:		/* reverse */
		    t = fg_c;
		    fg_c = bg_c;
		    bg_c = t;
		    break;
		case 30: case 31: case 32: case 33:
		case 34: case 35: case 36: case 37:
		    fg_c = ansi_col[args[i] - 30];
		    break;
		case 39:	/* normal */
		    fg_c = DEFAULT_FGCOLOR;
		    break;
		case 40: case 41: case 42: case 43:
		case 44: case 45: case 46: case 47:
		    bg_c = ansi_col[args[i] - 40];
		    break;
		case 49:	/* normal */
		    bg_c = DEFAULT_BGCOLOR;
		    break;
		}
	    }
	    end_term();
	    break;
	default:
	    if (isdigit(c))
		get_arg(c);
	    else
		bail_out(c);
	    break;
	}
	break;

    default:
	bail_out(c);
	break;
    }
}
コード例 #13
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Set foreground color */
void
AF(void)
{
	fg_c=args[0];
	end_term();
}
コード例 #14
0
ファイル: vidconsole.c プロジェクト: UnitedMarsupials/kame
/* Set background color */
void
AB(void){
	bg_c=args[0];
	end_term();
}