www.delorie.com/archives/browse.cgi | search |
Xref: | news2.mv.net comp.os.msdos.djgpp:3101 |
From: | ghiggins AT cass DOT drao DOT nrc DOT ca (Geoffrey Higginson) |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: double buffering with GRX2.0 |
Date: | 24 Apr 1996 17:02:39 GMT |
Organization: | National Research Council, Canada |
Lines: | 21 |
Message-ID: | <4llmrf$emf@nrcnet0.nrc.ca> |
References: | <4lksdb$jro AT lyra DOT csx DOT cam DOT ac DOT uk> |
NNTP-Posting-Host: | cass.drao.nrc.ca |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
E. Young (ey200 AT hermes DOT cam DOT ac DOT uk) wrote: : void WaitRetrace() { : while(!inportb(0x03DA) & 0x08); : while(!inportb(0x03DA) & 0x08); : } Just from memory, doesn't 0x03DA have 0x08 set while in vertical retrace? Then you'd want to do: while (inportb(0x03DA) & 0x08); while (!inportb(0x03DA) & 0x08); This would return when the next verical retrace began. The code you have appears to return right away if you are *already in* vertical retrace when the routine is called, thus possibly causing flicker if it gets called near the end of a retrace (there not being enough time to write to the screen before the retrace ends). ----- Geoffrey Higginson (ghiggins AT gulf DOT csc DOT uvic DOT ca) -- Finger for PGP key ObQuote: "Dedicated to solving the intractable, no matter how long it takes." - Jason Cooper
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |