From: "Steven Taylor" 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.