| 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 |