www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/07/23/14:10:31

From: "Steven Taylor" <s_taylor AT primus DOT com DOT au>
Newsgroups: comp.os.msdos.djgpp
References: <37976CF8 DOT 7FBB9ED3 AT ameritech DOT net>
Subject: Re: Allegro autodetect
Lines: 46
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2014.211
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211
Organization: Internet Primus
Message-ID: <932708281.715340@diddley.primus.com.au>
Cache-Post-Path: diddley.primus.com.au!unknown AT ras542 DOT ports DOT adel DOT primus DOT com DOT au
X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
Date: Fri, 23 Jul 1999 15:06:44 +0930
NNTP-Posting-Host: 203.134.0.92
X-Complaints-To: abuse AT telstra DOT net
X-Trace: nsw.nnrp.telstra.net 932708280 203.134.0.92 (Fri, 23 Jul 1999 15:38:00 EST)
NNTP-Posting-Date: Fri, 23 Jul 1999 15:38:00 EST
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> Hi! Just wondering why allegro's set_gfx_mode won't autodetect the
> nVidia Riva TNT...?

Which version of Allegro are you using? If it's not version 3.11, go get
this version and try it.

The rest of this message assumes you have version 3.11 and are (still)
having this problem.

What you want to do is, instead of autodetecting, get your program to try
different drivers, starting from the best to the worst.

Like this:

#define scrW 800
#define scrH 600

if (set_gfx_mode(GFX_VBEAF, scrW, scrH, 0, 0) < 0)
if (set_gfx_mode(GFX_VESA3, scrW, scrH, 0, 0) < 0)
if (set_gfx_mode(GFX_VESA2L, scrW, scrH, 0, 0) < 0)
if (set_gfx_mode(GFX_VESA2B, scrW, scrH, 0, 0) < 0)
if (set_gfx_mode(GFX_VESA1, scrW, scrH, 0, 0) < 0)
if (set_gfx_mode(GFX_AUTODETECT, scrW, scrH, 0, 0) < 0)
   printf("Sorry, can't set screen mode.\n%s", allegro_error);

To my understanding, The TNT card has onboard Vesa 2 support, although I'm
not stating it as absolute fact. If it doesn't, it would certainly have vesa
1.x support. And why the VBE/AF line at the top? This is a good idea if you
want your program to have the best performance on any machine. If a machine
supports it (and you can make it do this by shipping the VBE/AF drivers with
your software), this is the best driver there is for allegro, as it's the
only one that supports hardware acceleration. I don't think vbe/af currently
supports any 3D cards, but it probably will some day, assuming the
manufacturers will release the appropriate info.

Hope this helps. If not, maybe there's a VESA driver with a CD you would
have got with the card. When I got my PC a couple of years ago, it had an S3
Trio64V+ which had onboard vesa 1.x support, but only recently I found the
vesa 2.0 driver that was on the CD it came with. I was lucky to find it as
there was no documentation pointing to it. It may be the same for the TNT,
as a vesa driver wouldn't be considered important enough to make a serious
note of, since it's just a DOS necessity.

- Steven Taylor.


- Raw text -


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