Esempio n. 1
0
static void kchar_putchar(wchar_t ch)
{
    if (ascii_check(ch))
        *kchar.addr = ch;
    else
        *kchar.addr = '?';
}
Esempio n. 2
0
void putchar(const wchar_t ch)
{
	if (ascii_check(ch))
		*((char *) MSIM_VIDEORAM_ADDRESS) = ch;
	else
		*((char *) MSIM_VIDEORAM_ADDRESS) = U_SPECIAL;
}
Esempio n. 3
0
/** Display a character
 *
 * @param ch	Character to display
 */
void putchar(const wchar_t ch)
{
	if (ch == '\n')
		scons_sendb('\r');

	if (ascii_check(ch))
		scons_sendb((uint8_t) ch);
	else
		scons_sendb(U_SPECIAL);
}
Esempio n. 4
0
static void ns16550_putchar(outdev_t *dev, wchar_t ch)
{
	ns16550_instance_t *instance = (ns16550_instance_t *) dev->data;
	
	if ((!instance->parea.mapped) || (console_override)) {
		if (ascii_check(ch))
			ns16550_sendb(instance->ns16550, (uint8_t) ch);
		else
			ns16550_sendb(instance->ns16550, U_SPECIAL);
	}
}
Esempio n. 5
0
/** Draw the character at the specified position.
 *
 * @param field Character field.
 * @param col   Horizontal screen position.
 * @param row   Vertical screen position.
 *
 */
static void draw_char(charfield_t *field, sysarg_t col, sysarg_t row)
{
	uint8_t glyph;
	
	if (ascii_check(field->ch))
		glyph = field->ch;
	else
		glyph = '?';
	
	uint8_t attr = attrs_attr(field->attrs);
	
	ega.addr[FB_POS(col, row)] = glyph;
	ega.addr[FB_POS(col, row) + 1] = attr;
}
Esempio n. 6
0
/** Draw the character at the specified position in viewport.
 *
 * @param vp     Viewport.
 * @param col    Screen position relative to viewport.
 * @param row    Screen position relative to viewport.
 *
 */
static void draw_vp_char(fbvp_t *vp, sysarg_t col, sysarg_t row)
{
	sysarg_t x = vp->x + col;
	sysarg_t y = vp->y + row;
	
	charfield_t *field = screenbuffer_field_at(vp->backbuf, col, row);
	
	uint8_t glyph;
	
	if (ascii_check(field->ch))
		glyph = field->ch;
	else
		glyph = '?';
	
	uint8_t attr = attrs_attr(field->attrs);
	
	ega.addr[FB_POS(x, y)] = glyph;
	ega.addr[FB_POS(x, y) + 1] = attr;
}