Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Nov 1998 10:58:21 +0900
From:      Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To:        Christopher Masto <chris@netmonger.net>
Cc:        hackers@FreeBSD.ORG, yokota@zodiac.mech.utsunomiya-u.ac.jp
Subject:   Re: Some curiosity about syscons 
Message-ID:  <199811030158.KAA00792@zodiac.mech.utsunomiya-u.ac.jp>
In-Reply-To: Your message of "Sun, 01 Nov 1998 12:36:10 EST." <19981101123610.A7850@netmonger.net> 
References:  <19981026230208.A8159@netmonger.net> <199811011131.UAA15844@zodiac.mech.utsunomiya-u.ac.jp> <19981101123610.A7850@netmonger.net> 

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

>Doesn't the screen saver only get run periodically?  Hmm..
>
>Anyway, I have something which works a lot more reliably than my
>original call-scrn_update()-excessively hack.  Of course, this is
>about four hacks in one.
[...]

I have one suggestion for your scheme.

After setting up the 80x30 text mode, call

	ioctl(0, KDSETMODE, KD_GRAPHICS);

This will tell syscons that the program wants to take full control of
video hardware and syscons will not touch video hardware or update
screen for this vty.  Note that this ioctl command will not actually
put your video card in one of graphics modes, nor change the state of
video card in any way.  It is a simple declaration by the user-land
program that the program wants full control of the video card.

This ioctl is originally meant for graphics programs (i.e. X server)
which need to manipulate video hardware directly.  The important thing
is that syscons will stay away from the video hardware once this ioctl
is called.  So, your program can do whatever it wants to the video
card.

Before quitting the program, call

	ioctl(0, KDSETMODE, KD_TEXT);

then, switch back to the 80x25 text mode (or whatever).

Kazu

>#define WAIT_RETRACE { while (inb(0x3DA) & 0x08); \
>                       while (!(inb(0x3DA) & 0x08)); }
>
>u_short *vmem;
>unsigned char font[16*256], oldfont[16*256];
>
>[...]

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



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