Sascha Wildner saw at
Sat Apr 24 08:20:36 PDT 2004


for all us users without X I've enhanced vidcontrol(1) a bit. Please 
review the following files:
I haven't done a patch since it would have been longer than the file itself.

Example pictures of some new modes are here:

"Mum, look, I've ported DragonFly to my C64!":
640x200 with 8x8 font:
hangman(6) looks really cool at 320x200 and 16px font:
Here's the list of things I've changed:

Support for more video modes: accept mode names like MODE_<NUMBER> where
<NUMBER> is the video mode number from the vidcontrol -i mode output.
MODE_13 is 320x200, for example...
Change the default geometry of raster modes: calculate rows and columns
using the font width and height. This results in the row * col geometry
being as large as possible if no geometry is specified by the user. If
no font is specified the current font's height is used. The old
vidcontrol used a default geometry of 80x25 for raster modes.
Remove restrictions on the range of background colors for graphics modes.

Implement a cleaner revert mechanism: in case something goes wrong we
restore the previous settings and give a message telling what exactly
went wrong. Unfortunately, there are several parameters that cannot
(yet) be saved and restored due to restrictions in the syscons driver:
screen saver timeout, cursor type, mouse character, mouse show/hide
state, vty switching on/off state, history buffer size and history
buffer contents are not saved because the syscons driver doesn't provide
ioctl()s to read those parameters. Font maps are not restored because
the syscons driver won't let us load a font map without setting it.
Please tell me what you think. This version should be 1:1 compatible 
with the old vidcontrol (tell if it is not). I know that some of the new 
video modes are not really useful but they are there, so vidcontrol 
should support them.

As a next project I would like to have a look at syscons(4) and 
implement the following things:

Make set_pixel_mode() support higher resolutions like 1024x768 or 
1280x1024 (bank switching).

Implement the missing ioctl()s so vidcontrol is able to read all 
changeable parameters for its revert() function.


More information about the Submit mailing list