delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/21/21:47:38

From: Shawn Hargreaves <Shawn AT talula DOT demon DOT co DOT uk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Help with Vesa video mode list pointer
Date: Mon, 21 Jul 1997 20:42:32 +0100
Organization: None
Distribution: world
Message-ID: <+uzsfDAou70zEwgg@talula.demon.co.uk>
References: <33D24DEC DOT 76E6 AT unm DOT edu>
NNTP-Posting-Host: talula.demon.co.uk
MIME-Version: 1.0
Lines: 19
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

 writes:
>Hello, I can't seem to get the video mode list from the Info Block.  I
>know its a real mode pointer and I can get the OEM String successfully,
>but the video mode list isn't right, heres the code:
[snip]
>    while(mode != 0xffff) {
>        printf("%#x\n", mode);         // debug
>        if(GetVideoModeInfo(mode)) {

This is the trouble: some VESA drivers reuse a single block of memory
for the get driver info and get mode info calls, so when you query the
attributes of each individual mode it will clobber the global mode list.
You should copy the entire list into your own address space before you
call any other VESA functions...


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019