Exemplo n.º 1
0
static void ansicon_write_char(int x, int y, uint8_t ch,
			       const struct term_state *st)
{
    uint8_t attribute = ansicon_attribute(st);
    ansicon_set_cursor(x, y, false);

    firmware->o_ops->write_char(ch, attribute);
}
Exemplo n.º 2
0
/* Erase a region of the screen */
static void ansicon_erase(const struct term_state *st,
			  int x0, int y0, int x1, int y1)
{
    uint8_t attribute = ansicon_attribute(st);

    if (firmware->o_ops->erase)
	firmware->o_ops->erase(x0, y0, x1, y1, attribute);
}
Exemplo n.º 3
0
static void ansicon_scroll_up(const struct term_state *st)
{
    uint8_t rows, cols, attribute;

    cols = ti.cols - 1;
    rows = ti.rows - 1;
    attribute = ansicon_attribute(st);

    firmware->o_ops->scroll_up(cols, rows, attribute);
}
Exemplo n.º 4
0
static void ansicon_scroll_up(const struct term_state *st)
{
  static com32sys_t ireg;

  ireg.eax.w[0] = 0x0601;
  ireg.ebx.b[1] = ansicon_attribute(st);
  ireg.ecx.w[0] = 0;
  ireg.edx.b[1] = ti.rows-1;
  ireg.edx.b[0] = ti.cols-1;
  __intcall(0x10, &ireg, NULL); /* Scroll */
}
Exemplo n.º 5
0
/* Erase a region of the screen */
static void ansicon_erase(const struct term_state *st,
			  int x0, int y0, int x1, int y1)
{
  static com32sys_t ireg;

  ireg.eax.w[0] = 0x0600;	/* Clear window */
  ireg.ebx.b[1] = ansicon_attribute(st);
  ireg.ecx.b[0] = x0;
  ireg.ecx.b[1] = y0;
  ireg.edx.b[0] = x1;
  ireg.edx.b[1] = y1;
  __intcall(0x10, &ireg, NULL);
}
Exemplo n.º 6
0
static void ansicon_write_char(int x, int y, uint8_t ch,
			       const struct term_state *st)
{
  static com32sys_t ireg;

  ansicon_set_cursor(x, y, 0);

  ireg.eax.b[1] = 0x09;
  ireg.eax.b[0] = ch;
  ireg.ebx.b[1] = BIOS_PAGE;
  ireg.ebx.b[0] = ansicon_attribute(st);
  ireg.ecx.w[0] = 1;
  __intcall(0x10, &ireg, NULL);
}