Windows cannot enter very low-res video mode with modern graphics cards/drivers

NEW!

I was trying to post here yesterday, but it kept giving me an error. I have discovered that it actually is not using DirectX at all, but GDI or whatever is the non-DX graphics in Windows (not OpenGL Or any other hardware-related API). Sorry about that. I really did think it was DX.

I have a bunch of Windows 32-bit fullscreen EXEs that were compiled for the Windows XP era and use some version of DirectX for settings the graphics mode: 320x240x8. It is hardcoded, native (not faked in any way), and the binaries cannot be touched, recompiled or modified in any way (don't ask).

I'm trying to get these to run on Windows 7 64-bit and later (it doesn't even run on XP without the right card and driver, just to clear up any confusion). They only run if the video card and its driver specifically supports this mode, which is extremely rare, regardless of whether it's run on XP or 7. The 32/64-bit versions seem to have no impact either.

I have been on this problem for a long time, asking experts for help numerous times and getting all kinds of potential solution, which I've tried one by one. Each of them fail with the same error: can't set video mode. The problem is always that it cannot set the video mode. The obvious solution is that it cannot attempt to set the video mode, because it is not supported. So I need some kind of small EXE that I can bundle with these EXEs and which can be set up to "wrap around" it and fool it into thinking that it's actually set the mode, whereas it's actually running in some kind of emulated video window.

I have tried "Wine on Windows", various utilities that "change the resolution" (including DXWIN and D3DWindower), running it inside a VM, compatibility settings, etc. Just about anything you immediately think of. Nothing works at all. But the VM thing wouldn't be good even if it did work, because this has to be "distributable" as well.

Can anyone help me? Is this even possible to solve at all? It seems so bizarre that it's not possible to "trick" the programs into thinking that they actually did get to set the video mode.

I hope that a true expert will be able to come up with some solution.


Totally not what its actually meant to do, and I can't tell if it'll work without having the actual files in question but you might be able to emulate an older graphics card with 3danalyzer.It emulates a 4000 and 5000 series nvidia card which a relatively old and may work.


The PowerStrip utility ($29.95 with trial) can add custom resolutions for your monitor. For crazy ones (such as yours), it is unknown what it will look like.

The wiki article Custom display modes shows how this is done, and even mentions specifically custom resolutions like 320x200 and 320x240.

In your place I would maybe try it first in a virtual machine, just in case (although I don't really know if it will function correctly in a VM). This will allow you not to destroy your computer display for nothing, as well as see the monitor screen in its real (small) size rather than splattered all over your monitor.

If your Windows is 32-bit and your video card is VGA, maybe this old article can also help: Tweaked VGA Modes.

[EDIT]

Another possibility is to use regedit and position to this key :
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000,
change the following keys : DefautlSettings.XResolution, DefautlSettings.YResolution, then reboot.

If nothing works, then your video card might be one of these that do not support custom resolutions, either added via driver, PowerStrip or in regedit. It would help us to know the model of your card.