Lines Matching +full:cp437 +full:- +full:8 +full:x16
1 /*-
3 * Copyright (c) 1997 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
111 for (p.tp_row = r->tr_begin.tp_row; in term_image_display()
112 p.tp_row < r->tr_end.tp_row; p.tp_row++) { in term_image_display()
113 for (p.tp_col = r->tr_begin.tp_col; in term_image_display()
114 p.tp_col < r->tr_end.tp_col; p.tp_col++) { in term_image_display()
115 idx = p.tp_col + p.tp_row * state->tg_tp.tp_col; in term_image_display()
116 if (idx >= state->tg_tp.tp_col * state->tg_tp.tp_row) in term_image_display()
135 vga_set_crtc(VGA_REG_BASE, VGA_CRTC_CURSOR_LOC_HIGH, addr >> 8); in vidc_text_set_cursor()
151 addr = (vga_get_crtc(VGA_REG_BASE, VGA_CRTC_CURSOR_LOC_HIGH) << 8) + in vidc_text_get_cursor()
171 if (p->tp_col == TEXT_COLS) in vidc_text_cursor()
172 col = p->tp_col - 1; in vidc_text_cursor()
174 col = p->tp_col; in vidc_text_cursor()
176 if (p->tp_row == TEXT_ROWS) in vidc_text_cursor()
177 row = p->tp_row - 1; in vidc_text_cursor()
179 row = p->tp_row; in vidc_text_cursor()
185 * Binary searchable table for Unicode to CP437 conversion.
270 { 0x25ac, 0x16, 0x00 }, { 0x25b2, 0x1e, 0x00 },
287 max = (sizeof(cp437table) / sizeof(struct unicp437)) - 1; in vga_get_cp437()
296 max = mid - 1; in vga_get_cp437()
301 return (c - cp437table[mid].unicode_base + in vga_get_cp437()
320 idx = p->tp_col + p->tp_row * state->tg_tp.tp_col; in vidc_text_printchar()
322 fg = teken_256to16(px->a.ta_fgcolor); in vidc_text_printchar()
323 bg = teken_256to16(px->a.ta_bgcolor); in vidc_text_printchar()
324 if (px->a.ta_format & TF_BOLD) in vidc_text_printchar()
326 if (px->a.ta_format & TF_BLINK) in vidc_text_printchar()
329 if (px->a.ta_format & TF_REVERSE) { in vidc_text_printchar()
337 addr[idx].ch = vga_get_cp437(px->c); in vidc_text_printchar()
348 idx = p->tp_col + p->tp_row * state->tg_tp.tp_col; in vidc_text_putchar()
349 if (idx >= state->tg_tp.tp_col * state->tg_tp.tp_row) in vidc_text_putchar()
368 for (p.tp_row = r->tr_begin.tp_row; p.tp_row < r->tr_end.tp_row; in vidc_text_fill()
370 for (p.tp_col = r->tr_begin.tp_col; in vidc_text_fill()
371 p.tp_col < r->tr_end.tp_col; p.tp_col++) in vidc_text_fill()
381 int nrow, ncol, x, y; /* Has to be signed - >= 0 comparison */ in vidc_text_copy()
390 nrow = r->tr_end.tp_row - r->tr_begin.tp_row; in vidc_text_copy()
391 ncol = r->tr_end.tp_col - r->tr_begin.tp_col; in vidc_text_copy()
395 if (p->tp_row < r->tr_begin.tp_row) { in vidc_text_copy()
398 d.tp_row = p->tp_row + y; in vidc_text_copy()
399 s.tp_row = r->tr_begin.tp_row + y; in vidc_text_copy()
400 drow = d.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
401 srow = s.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
403 d.tp_col = p->tp_col + x; in vidc_text_copy()
404 s.tp_col = r->tr_begin.tp_col + x; in vidc_text_copy()
417 if (p->tp_col < r->tr_begin.tp_col) { in vidc_text_copy()
419 for (y = nrow - 1; y >= 0; y--) { in vidc_text_copy()
420 d.tp_row = p->tp_row + y; in vidc_text_copy()
421 s.tp_row = r->tr_begin.tp_row + y; in vidc_text_copy()
422 drow = d.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
423 srow = s.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
425 d.tp_col = p->tp_col + x; in vidc_text_copy()
426 s.tp_col = r->tr_begin.tp_col + x; in vidc_text_copy()
439 for (y = nrow - 1; y >= 0; y--) { in vidc_text_copy()
440 d.tp_row = p->tp_row + y; in vidc_text_copy()
441 s.tp_row = r->tr_begin.tp_row + y; in vidc_text_copy()
442 drow = d.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
443 srow = s.tp_row * state->tg_tp.tp_col; in vidc_text_copy()
444 for (x = ncol - 1; x >= 0; x--) { in vidc_text_copy()
445 d.tp_col = p->tp_col + x; in vidc_text_copy()
446 s.tp_col = r->tr_begin.tp_col + x; in vidc_text_copy()
482 state->tg_cursor_visible = true; in vidc_text_param()
485 state->tg_cursor_visible = false; in vidc_text_param()
513 cp->c_flags |= C_PRESENTIN; in vidc_probe()
517 cp->c_flags |= C_PRESENTOUT; in vidc_probe()
589 "number from range [0-15].\n"); in vidc_set_colors()
598 if (strcmp(ev->ev_name, "teken.fg_color") == 0) { in vidc_set_colors()
600 if (ap->ta_fgcolor == val) in vidc_set_colors()
604 if (strcmp(ev->ev_name, "teken.bg_color") == 0) { in vidc_set_colors()
606 if (ap->ta_bgcolor == val) in vidc_set_colors()
617 env_setenv(ev->ev_name, flags | EV_NOHOOK, evalue, NULL, NULL); in vidc_set_colors()
642 roff = ffs(gfx_state.tg_fb.fb_mask_red) - 1; in vidc_load_palette()
643 goff = ffs(gfx_state.tg_fb.fb_mask_green) - 1; in vidc_load_palette()
644 boff = ffs(gfx_state.tg_fb.fb_mask_blue) - 1; in vidc_load_palette()
671 teken_color_t fg = a->ta_fgcolor; in cons_draw_frame()
679 gfx_state.tg_fb.fb_height - gfx_state.tg_origin.tp_row - 1, in cons_draw_frame()
683 gfx_state.tg_fb.fb_height - gfx_state.tg_origin.tp_row - 1, 1); in cons_draw_frame()
685 gfx_state.tg_fb.fb_width - gfx_state.tg_origin.tp_col - 1, in cons_draw_frame()
694 * Binary searchable table for CP437 to Unicode conversion.
705 { 8, 0x25D8, 0 }, { 9, 0x25CB, 0 }, { 10, 0x25D9, 0 },
761 max = (sizeof(cp437unitable) / sizeof(struct cp437uni)) - 1; in vga_cp437_to_uni()
766 max = mid - 1; in vga_cp437_to_uni()
771 return (c - cp437unitable[mid].cp437_base + in vga_cp437_to_uni()
799 /* Sync-reset the sequencer registers */ in vidc_install_font()
824 /* Sync-reset ended, and allow the sequencer to operate */ in vidc_install_font()
839 * hardware -- A0000h-BFFFFh (128K region) in vidc_install_font()
844 * This assumes 8x16 characters, which yield the traditional 80x25 in vidc_install_font()
849 f_offset = s * 8 * 1024; in vidc_install_font()
861 /* Sync-reset the sequencer registers */ in vidc_install_font()
865 /* Sync-reset ended, and allow the sequencer to operate */ in vidc_install_font()
897 gfx_state.tg_origin.tp_row = (gfx_state.tg_fb.fb_height - in cons_update_mode()
899 gfx_state.tg_origin.tp_col = (gfx_state.tg_fb.fb_width - in cons_update_mode()
919 /* Trigger loading of 8x16 font. */ in cons_update_mode()
922 8 * gfx_state.tg_fb.fb_width); in cons_update_mode()
944 roff = ffs(gfx_state.tg_fb.fb_mask_red) - 1; in cons_update_mode()
945 goff = ffs(gfx_state.tg_fb.fb_mask_green) - 1; in cons_update_mode()
946 boff = ffs(gfx_state.tg_fb.fb_mask_blue) - 1; in cons_update_mode()
994 gfx_state.tg_functions->tf_param(&gfx_state, TP_SHOWCURSOR, 1); in cons_update_mode()
1004 char env[8]; in vidc_init()
1085 v86.addr = 0x16; in vidc_getchar()
1111 return (-1); in vidc_getchar()
1114 return (-1); in vidc_getchar()
1130 v86.addr = 0x16; in vidc_ischar()
1173 * 60 nS :-(.
1180 while (--i >= 0) in delay1ms()
1199 while (--retry >= 0) { in probe_keyboard()
1208 for (wait = PROBE_MAXWAIT; wait > 0; --wait) { in probe_keyboard()
1226 for (wait = PROBE_MAXWAIT; wait > 0; --wait) { in probe_keyboard()