opnsense-src/sys/dev/syscons
Bruce Evans 1b986d6aea Improve drawing of the vga planar mode mouse image a little. Unobfuscate
the method a lot.

Reduce the AND mask to the complement of the cursor's frame, so that area
inside the frame is not drawn first in black and then in lightwhite.  The
AND-OR method is only directly suitable for the text mouse image, since
it doesn't go to the hardware there.  Planar mode Mouse cursor drawing
takes 10-20 usec on my Haswell system (approx. 100 graphics accesses
at 130 nsec each), so the transient was not visible.

The method used the fancy read mode 1 and its color compare and color
don't care registers with value 0 in them so that all colors matched.
All that this did was make byte reads of frame buffer memory return 0xff,
so that the x86 case could obfuscate read+write as "and".  The read must
be done for its side effect on the graphics controller but is not used,
except it must return 0xff to avoid affecting the write when the write
is obfuscated as a read-modify-write "and".  Perhaps that was a good
optimization for 8088 CPUs where each extra instruction byte took as
long as a byte memory access.

Just use read+write after removing the fancy read mode.  Remove x86
ifdefs that did the "and".  After removing the "and" in the non-x86
part of the ifdefs, fix 4 of 6 cases where the shift was wrong.
2017-04-12 20:18:38 +00:00
..
apm
blank
daemon Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
dragon Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
fade
fire Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
green
logo Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
plasma Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
rain Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
snake
star Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
warp Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
scgfbrndr.c Special rendering methods for removing mouse cursors cannot be removed 2017-04-10 06:19:09 +00:00
schistory.c
scmouse.c Trival style fix to previous commit to add this detail. 2017-04-12 17:38:00 +00:00
scterm-teken.c Fix clobbering of the default attribute and the screen position in 2017-04-12 16:21:55 +00:00
scterm.c
scvesactl.c
scvgarndr.c Improve drawing of the vga planar mode mouse image a little. Unobfuscate 2017-04-12 20:18:38 +00:00
scvidctl.c Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
scvtb.c
syscons.c The switch to kernel terminal context needs to update more than the cursor 2017-03-29 14:46:26 +00:00
syscons.h Fix removal of the keyboard cursor image in text mode, especially 2017-04-08 08:24:25 +00:00
sysmouse.c [evdev] Adds evdev support to sysmouse(4) driver 2016-12-10 18:07:16 +00:00