From: "Lone Tiger" Newsgroups: comp.os.msdos.djgpp Subject: Re: Where to read signal for vertical retrace ? Date: Mon, 28 Dec 1998 14:39:14 +0300 Organization: MTU-Inform ISP Lines: 28 Message-ID: <767qhv$8i3$1@ns.mtu.ru> References: <368509BA DOT 2B73FBC1 AT gmx DOT de> NNTP-Posting-Host: dial53204.mtu-net.ru X-Trace: ns.mtu.ru 914845055 8771 195.34.53.204 (28 Dec 1998 11:37:35 GMT) X-Complaints-To: usenet-abuse AT mtu DOT ru NNTP-Posting-Date: 28 Dec 1998 11:37:35 GMT X-Newsreader: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Christian Hofrichter пишет в сообщении <368509BA DOT 2B73FBC1 AT gmx DOT de> ... >To avoid flickering on my monitor when doing graphic operations in the >vesa-modes, I want know from which port I have to read the signal for >the vertical retrace. >I want to know when the retrace starts and it would be nice if I knew >when it ends. >As this isn't a part of the vesa-interface (functions) this can cause >problems on some graphic-cards which are not completely VGA-compatible, >couldn't it ? >So what can I do ? > There's a 3DA port on every VGA-compatible card. 3rd bit of it indicates current state of your video: 0 means retracing is performing, 1 means no retracing now. So I can suggest the following code to sync with retrace signal: while( !(inportb( 0x3DA )&4) ); while( inportb( 0x3DA )&4 ); The first line is to assure that we're bound EXACTLY to the beginning of retrace (you can get 1 on the very end of retrace process, so there'll be distortions).