From: Shawn Hargreaves Newsgroups: comp.os.msdos.djgpp Subject: Re: VESA DoubleBuffer flicker and SetGetDisplayStart func 0x07h Date: Fri, 28 Feb 1997 23:08:50 +0000 Organization: None Distribution: world Message-ID: References: <5f77ph$bf8 AT news DOT cableinet DOT net> NNTP-Posting-Host: talula.demon.co.uk MIME-Version: 1.0 Lines: 31 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp >Checking the VESA specs I notice that the prot mode version of >Set/GetDisplay CRTC Start (Function07h) dosn't give the "get" format. >In not-prot you use BL=01h, this works when in v1.2 non-prot VESA >modes. I tried using BL=01h with the prot mode version (presuming >result returned in DX:CX)but without success. I don't think the GetDisplayStart function is supported with the protected mode interface (I know you can't read the current palette with that API, and suspect the display start is the same). The logic for that was presumably that the protected mode interface would only be needed for speed-critical routines, and reading the current state would only be required during initialisation. >The reason I'm doing this is due to occasional >flickering in my double-buffer routines. It occured to >me that my SetVisualPage function might be failing causing my >working page/visual page switching to get out of step. Are you waiting for the retrace? (setting the 0x80 flag in %bl). If not, some cards will flicker because VESA will return instantly from the scroll function, while the display hardware doesn't actually update its status until the next retrace. If in the interim you proceed to clear what you think was the previous page, and start drawing something else onto it, all your intermediate scribblings will be visible until the next retrace, which could explain your problem... /* * Shawn Hargreaves - shawn AT talula DOT demon DOT co DOT uk - http://www.talula.demon.co.uk/ * Beauty is a French phonetic corruption of a short cloth neck ornament. */