Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Sep 1998 05:30:19 -0700 (PDT)
From:      "Jordan K. Hubbard" <jkh@FreeBSD.ORG>
To:        sos@FreeBSD.ORG
Cc:        current@FreeBSD.ORG
Subject:   Flickering syscons
Message-ID:  <199809171230.FAA03061@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

As you know, the SC_BAD_FLICKER option appears to have been added in
order to turn off an optimization(?) which causes flickering on certain
screens, like my Libretto for example. :-)

I and many others believe that anything which causes a potential pessimization
should be turned OFF by default, rather than on, so that POLA is obeyed
for those who would otherwise be rather puzzled and annoyed by bad behavior
being a new default.

What say you and Kazu to these diffs..

Index: i386/conf/LINT
===================================================================
RCS file: /home/ncvs/src/sys/i386/conf/LINT,v
retrieving revision 1.466
diff -u -r1.466 LINT
--- LINT	1998/09/15 18:16:36	1.466
+++ LINT	1998/09/17 12:25:01
@@ -801,8 +801,9 @@
 makeoptions	"STD8X16FONT"="cp850"
 options		SC_HISTORY_SIZE=200	# number of history buffer lines
 options		SC_DISABLE_REBOOT	# disable reboot key sequence
-# If the screen flickers badly when the mouse pointer is moved, try this.
-options		SC_BAD_FLICKER
+# Some screens flickers badly when the mouse pointer is moved if this is on,
+# for others it's a speedup (so try it at your own risk).
+options		SC_DO_FLICKER
 # To include support for VESA video modes
 # Dont use together with SMP!!
 options		VESA			# needs VM86 defined too!!
Index: i386/conf/options.i386
===================================================================
RCS file: /home/ncvs/src/sys/i386/conf/options.i386,v
retrieving revision 1.87
diff -u -r1.87 options.i386
--- options.i386	1998/09/15 18:16:37	1.87
+++ options.i386	1998/09/17 12:25:12
@@ -75,7 +75,7 @@
 SC_HISTORY_SIZE		opt_syscons.h
 SC_DISABLE_REBOOT	opt_syscons.h
 SC_MOUSE_CHAR		opt_syscons.h
-SC_BAD_FLICKER		opt_syscons.h
+SC_DO_FLICKER		opt_syscons.h
 
 VESA			opt_vesa.h
 
Index: i386/isa/videoio.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/videoio.c,v
retrieving revision 1.1
diff -u -r1.1 videoio.c
--- videoio.c	1998/09/15 18:16:38	1.1
+++ videoio.c	1998/09/17 12:17:08
@@ -984,24 +984,24 @@
     outb(ATC, 0x20);				/* enable palette */
 
 #if SLOW_VGA
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x01);
 #endif
     outb(TSIDX, 0x02); outb(TSREG, 0x04);
     outb(TSIDX, 0x04); outb(TSREG, 0x07);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x03);
 #endif
     outb(GDCIDX, 0x04); outb(GDCREG, 0x02);
     outb(GDCIDX, 0x05); outb(GDCREG, 0x00);
     outb(GDCIDX, 0x06); outb(GDCREG, 0x04);
 #else
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0100);
 #endif
     outw(TSIDX, 0x0402);
     outw(TSIDX, 0x0704);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0300);
 #endif
     outw(GDCIDX, 0x0204);
@@ -1026,12 +1026,12 @@
     outb(ATC, 0x20);				/* enable palette */
 
 #if SLOW_VGA
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x01);
 #endif
     outb(TSIDX, 0x02); outb(TSREG, buf[0]);
     outb(TSIDX, 0x04); outb(TSREG, buf[1]);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x03);
 #endif
     outb(GDCIDX, 0x04); outb(GDCREG, buf[2]);
@@ -1042,12 +1042,12 @@
 	outb(GDCIDX, 0x06); outb(GDCREG,(buf[4] & 0x03) | 0x0c);
     }
 #else
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0100);
 #endif
     outw(TSIDX, 0x0002 | (buf[0] << 8));
     outw(TSIDX, 0x0004 | (buf[1] << 8));
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0300);
 #endif
     outw(GDCIDX, 0x0004 | (buf[2] << 8));
Index: pc98/conf/options.pc98
===================================================================
RCS file: /home/ncvs/src/sys/pc98/conf/options.pc98,v
retrieving revision 1.65
diff -u -r1.65 options.pc98
--- options.pc98	1998/09/09 14:39:20	1.65
+++ options.pc98	1998/09/17 12:25:17
@@ -79,7 +79,7 @@
 SC_HISTORY_SIZE		opt_syscons.h
 SC_DISABLE_REBOOT	opt_syscons.h
 SC_MOUSE_CHAR		opt_syscons.h
-SC_BAD_FLICKER		opt_syscons.h
+SC_DO_FLICKER		opt_syscons.h
 LINE30			opt_syscons.h
 
 PSM_HOOKAPM		opt_psm.h
Index: pc98/pc98/syscons.c
===================================================================
RCS file: /home/ncvs/src/sys/pc98/pc98/syscons.c,v
retrieving revision 1.101
diff -u -r1.101 syscons.c
--- syscons.c	1998/09/14 11:37:58	1.101
+++ syscons.c	1998/09/17 12:26:13
@@ -5701,24 +5701,24 @@
     outb(ATC, 0x20);            		/* enable palette */
 
 #if SLOW_VGA
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x01);
 #endif
     outb(TSIDX, 0x02); outb(TSREG, 0x04);
     outb(TSIDX, 0x04); outb(TSREG, 0x07);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x03);
 #endif
     outb(GDCIDX, 0x04); outb(GDCREG, 0x02);
     outb(GDCIDX, 0x05); outb(GDCREG, 0x00);
     outb(GDCIDX, 0x06); outb(GDCREG, 0x04);
 #else
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0100);
 #endif
     outw(TSIDX, 0x0402);
     outw(TSIDX, 0x0704);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0300);
 #endif
     outw(GDCIDX, 0x0204);
@@ -5741,12 +5741,12 @@
     outb(ATC, 0x20);            		/* enable palette */
 
 #if SLOW_VGA
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x01);
 #endif
     outb(TSIDX, 0x02); outb(TSREG, buf[0]);
     outb(TSIDX, 0x04); outb(TSREG, buf[1]);
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outb(TSIDX, 0x00); outb(TSREG, 0x03);
 #endif
     outb(GDCIDX, 0x04); outb(GDCREG, buf[2]);
@@ -5757,12 +5757,12 @@
 	outb(GDCIDX, 0x06); outb(GDCREG,(buf[4] & 0x03) | 0x0c);
     }
 #else
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0100);
 #endif
     outw(TSIDX, 0x0002 | (buf[0] << 8));
     outw(TSIDX, 0x0004 | (buf[1] << 8));
-#ifndef SC_BAD_FLICKER
+#ifdef SC_DO_FLICKER
     outw(TSIDX, 0x0300);
 #endif
     outw(GDCIDX, 0x0004 | (buf[2] << 8));

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809171230.FAA03061>