diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-01-17 02:46:24 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-01-17 02:46:24 +0000 |
commit | e7a2c34d202f17702427d1cc4288cf0505c7c025 (patch) | |
tree | 9df4d163b94e5c09adb2d39a1fa3f62b02aa004b /sys/arch/i386 | |
parent | f1f46243321cb5208b5ebaa79a7aeb78c47a45a2 (diff) |
Remove `pcdisp_special', which was actually a gross hack. Instead, move the
`pcdisp' check in write_char() beyond the 0x20-0x7f character value scope.
This change should fix most problems when intermixing DEC character- and
IBMPC character-based apps in the PCVT console.
Diffstat (limited to 'sys/arch/i386')
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_out.c | 13 | ||||
-rw-r--r-- | sys/arch/i386/isa/pcvt/pcvt_vtf.c | 6 |
2 files changed, 7 insertions, 12 deletions
diff --git a/sys/arch/i386/isa/pcvt/pcvt_out.c b/sys/arch/i386/isa/pcvt/pcvt_out.c index 499c169b11f..052bd21211d 100644 --- a/sys/arch/i386/isa/pcvt/pcvt_out.c +++ b/sys/arch/i386/isa/pcvt/pcvt_out.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pcvt_out.c,v 1.16 1999/11/25 20:24:22 aaron Exp $ */ +/* $OpenBSD: pcvt_out.c,v 1.17 2000/01/17 02:46:23 aaron Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -89,11 +89,6 @@ static __inline void write_char (svsp, attrib, ch) struct video_state *svsp; u_short attrib, ch; { - if (pcdisp && pcdisp_special == 0) { - *video = attrib | ch; - return; - } - if ((ch >= 0x20) && (ch <= 0x7f)) { /* use GL if ch >= 0x20 */ if(!svsp->ss) /* single shift G2/G3 -> GL ? */ *video = attrib | svsp->GL[ch-0x20]; @@ -103,6 +98,11 @@ u_short attrib, ch; } } else { + if (pcdisp) { + *video = attrib | ch; + return; + } + svsp->ss = 0; if(ch >= 0x80) { /* display controls C1 */ @@ -993,7 +993,6 @@ vt_coldinit(void) do_initialization = 0; /* reset init necessary flag */ pcdisp = 1; /* turn on traditional pc colors/font */ - pcdisp_special = 0; /* get the equipment byte from the RTC chip */ diff --git a/sys/arch/i386/isa/pcvt/pcvt_vtf.c b/sys/arch/i386/isa/pcvt/pcvt_vtf.c index 68d70781957..52d2eafa473 100644 --- a/sys/arch/i386/isa/pcvt/pcvt_vtf.c +++ b/sys/arch/i386/isa/pcvt/pcvt_vtf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pcvt_vtf.c,v 1.11 1999/11/27 21:39:29 aaron Exp $ */ +/* $OpenBSD: pcvt_vtf.c,v 1.12 2000/01/17 02:46:23 aaron Exp $ */ /* * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch. @@ -1049,7 +1049,6 @@ vt_designate(struct video_state *svsp) case 'B': /* USASCII */ #ifdef HAVECSD_ASCII ctp = csd_ascii; - pcdisp_special = 0; #endif break; @@ -1113,7 +1112,6 @@ vt_designate(struct video_state *svsp) case '0': /* special graphics */ #ifdef HAVECSD_SPECIAL ctp = csd_special; - pcdisp_special = 1; #endif break; @@ -1144,7 +1142,6 @@ vt_designate(struct video_state *svsp) case '<': /* DEC Supplemental */ #ifdef HAVECSD_SUPPLEMENTAL ctp = csd_supplemental; - pcdisp_special = 1; #endif break; @@ -1157,7 +1154,6 @@ vt_designate(struct video_state *svsp) case '>': /* DEC Technical */ #ifdef HAVECSD_TECHNICAL ctp = csd_technical; - pcdisp_special = 1; #endif break; |