summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1997-10-26 07:36:13 +0000
committeryokota <yokota@FreeBSD.org>1997-10-26 07:36:13 +0000
commit4be61c03044e2421c4e3c82650ef951097917997 (patch)
treeeaef8a30c26266c5a2d7a8c1c49f900077dc3859 /sys/dev/syscons
parent72e6a767474540e8fe55e418eb271c467e8f8144 (diff)
downloadFreeBSD-src-4be61c03044e2421c4e3c82650ef951097917997.zip
FreeBSD-src-4be61c03044e2421c4e3c82650ef951097917997.tar.gz
- Slightly change the way the border color register is updated so that
flicker won't occur when set_border() is called. - Properly restore the border color when switching virtual consoles. Pointed out by: tony@dell.com OKed by: sos
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/syscons.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 273bb01..cdca487 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.234 1997/10/01 20:46:27 sos Exp $
+ * $Id: syscons.c,v 1.235 1997/10/23 03:23:49 yokota Exp $
*/
#include "sc.h"
@@ -2063,6 +2063,7 @@ exchange_scr(void)
if (old_scp->status & KBD_RAW_MODE || new_scp->status & KBD_RAW_MODE ||
old_scp->status & KBD_CODE_MODE || new_scp->status & KBD_CODE_MODE)
shfts = ctls = alts = agrs = metas = 0;
+ set_border(new_scp->border);
update_leds(new_scp->status);
delayed_next_scr = FALSE;
mark_all(new_scp);
@@ -3664,9 +3665,7 @@ set_border(u_char color)
case KD_EGA:
case KD_VGA:
inb(crtc_addr + 6); /* reset flip-flop */
- outb(ATC, 0x11); outb(ATC, color);
- inb(crtc_addr + 6); /* reset flip-flop */
- outb(ATC, 0x20); /* enable Palette */
+ outb(ATC, 0x31); outb(ATC, color);
break;
case KD_CGA:
outb(crtc_addr + 5, color & 0x0f); /* color select register */
OpenPOWER on IntegriCloud