diff options
author | Kazutaka YOKOTA <yokota@FreeBSD.org> | 1997-10-26 07:36:13 +0000 |
---|---|---|
committer | Kazutaka YOKOTA <yokota@FreeBSD.org> | 1997-10-26 07:36:13 +0000 |
commit | 4372a2b476ee0591666c43fedf3c3f11e9cee83e (patch) | |
tree | 546a7ac640c7ab55a2f650e3607c85d84721f762 /sys/isa/syscons.c | |
parent | 02f2e93b60c2b91feac8f45c4c889a5a8e40d8a2 (diff) | |
download | src-4372a2b476ee0591666c43fedf3c3f11e9cee83e.tar.gz src-4372a2b476ee0591666c43fedf3c3f11e9cee83e.zip |
- 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
Notes
Notes:
svn path=/head/; revision=30726
Diffstat (limited to 'sys/isa/syscons.c')
-rw-r--r-- | sys/isa/syscons.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c index 273bb017fae4..cdca4870694b 100644 --- a/sys/isa/syscons.c +++ b/sys/isa/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 */ |