<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>ModeX in Win32</title>
		<link>http://www.allegro.cc/forums/view/202910</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 31 Aug 2002 05:02:27 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is it possible to have modeX in an MSVC win32 app? I kinda really need modex cuz my program relies on speed. Id use DJPP but i have no clue what to download :\. I know its pretty stupid but if its possible or someone can help me find out what i need to get at DJPPs site. Id be very grateful. Thanks.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Pable)</author>
		<pubDate>Sun, 25 Aug 2002 06:52:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>isn&#039;t directx h-accell faster? Its all done by gpu rather than cpu. And transfers over the bus are limited that way too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Sun, 25 Aug 2002 08:23:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>djGpp can be found at <a>www.delorie.com/djgpp/</a>...heh, all you were lacking was a little gee...</p><p>you know dos/modex is already considered &quot;retro&quot;, and cause lots of problems &amp; pain on very new systems (winXP will give up on modex I think)...<br />but as your program relies on speed I assume you don&#039;t care and want to write it for people with old machines <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gabhonga)</author>
		<pubDate>Sun, 25 Aug 2002 22:04:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>To directly answer the question: yes. At least I&#039;ve dont it. What I did was use the Win32 Api function ChangeVidioState (i think that&#039;s what it was called) to the vga res 320x200:8bpp figuring that windows would revert to the vga setup. Then I used the asm calls to &quot;tweak&quot; the mode. It worked but I don&#039;t think it&#039;s a good idea to try; it might not work with all cards and operating systems.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (MindCode)</author>
		<pubDate>Thu, 29 Aug 2002 21:14:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It definitely would not work with NT/2000/XP, which doesn&#039;t allow you direct hardware access. Also, I believe some drivers do supply card specific replacements for 320x200x8bpp. In this way, a graphics card for an XP machine need not be very VGA compatiable at all, supporting just whatever subset of the VGA functionality they have used for 640x480x4bpp mode.</p><p>Perhaps if you explain the factors which make you want to use Mode-X even on windows machines, people can come up with alternatives?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Harte)</author>
		<pubDate>Fri, 30 Aug 2002 04:46:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>if it was soo good i&#039;m sure it would appear in commercial games. there&#039;s no rhyme or reason for using it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Fri, 30 Aug 2002 04:50:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The machines Im designing this for cant handle the installation of direct X 7 and above I think 6 might even be too high so Im not going to use that. Mainly because these machine cant handle it ^_^. Im talking 486s running at 33MHZ and windows 98 ^_^. 640x480 is WAY too much for them to handle. I wanted to design the game so it would have something like commander keen quality graphics and speed. SO I figured Mode X was the way to go. Keep in mind people with pentiums also should also be able tio use this if they are running win xp. So from what it sounds like... Im trying to do thew impossible &gt;.&lt; If anyone has any other ideas please let me know... PS so rry i havent check on this for a bit School started and I was bogged down with home work ^_^
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Pable)</author>
		<pubDate>Fri, 30 Aug 2002 16:37:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you can use the DirectX 5.0 SDK, I seem to remember it having a DIRECTX_USE_MODEX or some such flag. Check out the DirectX 5.0 SDK docs for more help. I think this flag was removed in the later versions of the SDK. It is specified in the video mode settings function. (again, SetDisplayMode from the DirectDraw interface or some such <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoopsMan)</author>
		<pubDate>Sat, 31 Aug 2002 04:04:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In that case, all you are doing is allowing DirectX to use the super-slow Mode-X for 320x240 mode, rather than simply not listing it as an available mode if your graphics driver doesn&#039;t support it as a mode. It doesn&#039;t mean DirectX will necessarily use Mode-X, and as I implied if it does use Mode-X there will be a large speed hit. This is because DirectX makes the front buffer appear to be genuinely linear (all DirectX modes are), and then decodes to the funny Mode-X memory arrangement behind your back.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Harte)</author>
		<pubDate>Sat, 31 Aug 2002 04:24:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>From the DirectX 5.0 SDK,</p><p>The IDirectDraw2::SetDisplayMode method sets the mode of the display-device hardware.</p><p>HRESULT SetDisplayMode(<br />  DWORD dwWidth,        <br />  DWORD dwHeight,       <br />  DWORD dwBPP,          <br />  DWORD dwRefreshRate,  <br />  DWORD dwFlags         <br />);</p><p>Parameters</p><p>dwWidth and dwHeight</p><p>Width and height of the new mode.</p><p>dwBPP</p><p>Bits per pixel (bpp) of the new mode.</p><p>dwRefreshRate</p><p>Refresh rate of the new mode. If this parameter is set to 0, the IDirectDraw interface version of this method is used.</p><p>dwFlags</p><p>Flags describing additional options. Currently, the only valid flag is DDSDM_STANDARDVGAMODE, which causes the method to set Mode 13 instead of Mode X 320x200x8 mode. If you are setting another resolution, bit depth, or a Mode X mode, do not use this flag and set the parameter to 0.</p><p>*******************</p><p>Also,</p><p>The IDirectDraw2::SetCooperativeLevel method determines the top-level behavior of the application.</p><p>HRESULT SetCooperativeLevel(<br />  HWND hWnd,     <br />  DWORD dwFlags  <br />);<br /> <br />Parameters</p><p>hWnd</p><p>Window handle used for the application. This parameter can be NULL when the DDSCL_NORMAL flag is specified in the dwFlags<br /> parameter.</p><p>dwFlags</p><p>One or more of the following flags: </p><p>DDSCL_ALLOWMODEX <br />Allows the use of Mode X display modes. This flag must be used with the DDSCL_EXCLUSIVE and DDSCL_FULLSCREEN flags. </p><p>DDSCL_ALLOWREBOOT <br />Allows CTRL+ALT+DEL to function while in exclusive (full-screen) mode. <br /> <br />DDSCL_EXCLUSIVE <br />Requests the exclusive level. This flag must be used with the DDSCL_FULLSCREEN flag. </p><p>DDSCL_FULLSCREEN <br />Indicates that the exclusive-mode owner will be responsible for the entire primary surface. GDI can be ignored. This flag must be used with the DDSCL_EXCLUSIVE flag. </p><p>DDSCL_NORMAL <br />Indicates that the application will function as a regular Windows application. This flag cannot be used with the DDSCL_ALLOWMODEX, DDSCL_EXCLUSIVE, or DDSCL_FULLSCREEN flags. </p><p>DDSCL_NOWINDOWCHANGES <br />Indicates that DirectDraw is not allowed to minimize or restore the application window on activation. </p><p>*************</p><p>Hope it helps.</p><p>[EDIT]<br /><a href="http://courses.ece.uiuc.edu/ece291/resources/pmode.html"> This Page </a> used to have a 9.0 MB DJGPP 3.0 zip archive. It&#039;s a University page (Surrey or something) for Protected Mode programming. That one archive contains a very good startup kit for DJGPP. Serveer seems to be down currently though...:&#039;(
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoopsMan)</author>
		<pubDate>Sat, 31 Aug 2002 05:02:27 +0000</pubDate>
	</item>
</rss>
