From owner-freebsd-hackers Tue Oct 3 12:03:13 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id MAA16075 for hackers-outgoing; Tue, 3 Oct 1995 12:03:13 -0700 Received: from frya.zgik.zaporizhzhe.ua (ZGIK-1-ELIS-14.4K.zgik.zaporizhzhe.ua [193.124.62.253]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id MAA16050 for ; Tue, 3 Oct 1995 12:02:30 -0700 Received: from zgik.UUCP by frya.zgik.zaporizhzhe.ua with UUCP id UAA03236; (8.6.11/vak/1.8e) Tue, 3 Oct 1995 20:58:32 +0200 Received: by relay1.bcs.zaporizhzhe.ua (uumail v1.5/ache) id AA17082; Tue, 3 Oct 1995 20:35:38 +0200 Received: from bcs1.bcs.zaporizhzhe.ua (bcs1.bcs.zaporizhzhe.ua [193.124.62.29]) by bcs.zaporizhzhe.ua (8.6.11/8.6.9) with SMTP id UAA17079 for ; Tue, 3 Oct 1995 20:35:36 +0200 Received: by bcs1.bcs.zaporizhzhe.ua id AA13232 (5.65c8/IDA-1.4.4 for hackers@freebsd.org); Tue, 3 Oct 1995 20:33:53 +0200 From: Sergey Shkonda Message-Id: <199510031833.AA13232@bcs1.bcs.zaporizhzhe.ua> Subject: Third patch to syscons To: hackers@freebsd.org Date: Tue, 3 Oct 1995 20:33:41 +0200 (UKR) X-Mailer: ELM [version 2.4 PL0] Content-Type: text Content-Length: 1951 Sender: owner-hackers@freebsd.org Precedence: bulk ESC[ 11m sequence now supported: selects the first alternate font; lets ASCII characters less than 32 be displayed as ROM characters -- Serg | Relcom: (Sergey Shkonda) | serg@bcs1.bcs.zaporizhzhe.ua *** syscons.c Tue Oct 3 20:30:21 1995 --- syscons.c Tue Oct 3 20:30:28 1995 *************** *** 1656,1663 **** case 10: scp->term.SCOfont = 0; break; case 12: ! scp->term.SCOfont = 0x80; break; case 30: case 31: /* set fg color */ case 32: case 33: case 34: --- 1656,1666 ---- case 10: scp->term.SCOfont = 0; break; + case 11: + scp->term.SCOfont = 1; + break; case 12: ! scp->term.SCOfont = 2; break; case 30: case 31: /* set fg color */ case 32: case 33: case 34: *************** *** 1868,1877 **** len--; } else if (PRINTABLE(*ptr)) { /* Print only printables */ ! int cnt = len <= (scp->xsize-scp->xpos) ? len : (scp->xsize-scp->xpos); ! u_short cur_attr = scp->term.cur_attr; ! u_char SCOfont = scp->term.SCOfont; ! u_short *cursor_pos = scp->cursor_pos; do { *cursor_pos++ = ( (scr_map[*ptr++] ^ SCOfont) | cur_attr ); cnt--; --- 1871,1885 ---- len--; } else if (PRINTABLE(*ptr)) { /* Print only printables */ ! int cnt; ! u_short cur_attr; ! u_char SCOfont; ! u_short *cursor_pos; ! print_rom: ! cnt = len <= (scp->xsize-scp->xpos) ? len : (scp->xsize-scp->xpos); ! cur_attr = scp->term.cur_attr; ! SCOfont = (scp->term.SCOfont == 2)? 0x80 : 0x00; ! cursor_pos = scp->cursor_pos; do { *cursor_pos++ = ( (scr_map[*ptr++] ^ SCOfont) | cur_attr ); cnt--; *************** *** 1938,1943 **** --- 1946,1954 ---- scp->term.esc = 1; scp->term.num_param = 0; break; + default: + if ( scp->term.SCOfont == 1 ) + goto print_rom; } ptr++; len--; }