Posted August 03, 2015
If your display supports 1280x960 resolution,or any other multiple of 640x480, you can have a crisp image devoid of hideous bilinear interpolation with a few simple configuration tweaks. This kind of scaling is called integer scaling and crudely doubles the image--but we like that. Especially for old games. This way there is zero aliasing.
Most of us have 1920x1080 displays, and even if we preserve aspect ratio, an internal 640x480 resolution does not scale up neatly to 1920x1080. With a 4:3 game (like Archimedean Dynasty), you end up with an ugly, filtered 1440x1080 image, (1920x1080 with black borders). If you're willing to give up a couple pixels of screen coverage, you can have a crisp doubled resolution of 1280x960.
1. Inside your \Archimedean Dynasty\DOSBOX directory, run nglide_config.exe.
2. Set screen resolution to 1280x960, aspect ratio to 4:3, and vertical synchronization to off. Now the simulation (3D) part of the game will be doubled.
3. Inside your \Archimedean Dynasty directory, open dosbox_ad.conf in a text editor.
4. Change the fullresolution line to "fullresolution=1280x960" and the output line to "output=direct3d". Now the 2D part of the game will be doubled.
5. Nvidia: In Nvidia Control Panel, go to "Adjust Desktop Size and Position". Tick the box that says "No scaling".
AMD: First go to Windows Display settings and lower your resolution to anything below native. Now go to CCC and enable GPU Scaling, then tick the box that says "Enable centered timings". Now change your desktop resolution back to native in Windows Display settings.
Intel: I have no idea how you disable scaling here as I've never had an onboard display adapter, but I'm sure it's intuitively labeled.
6. Play the game. You'll know it's working because the image won't take up all of your vertical resolution and it will appear more pixellated because there's no blur introduced by interpolation. If you really have to have that extra space, by all means, scale it up, but the crisp image is worth the loss of a couple inches on my 32". And if you can tolerate the blur and maybe even prefer it, congratulations: your legacy gaming career is much more convenient than mine.
If you have a 1440p display, you don't have to give up an inch of screen real estate. You can perfectly scale up 3x. This is the ideal resolution for integer scaling of 640x480 era games. I am jealous.
If you have a 4k display, you can try upscaling to 2560x1920 (4x internal resolution). This requires more power but if you have a 4k display, you surely have power.
And if you have a 1920x1200 display, you can perfectly 2x scale 800x600 games. That doesn't really help you with Archimedean Dynasty, but it's helpful for SVGA games.
Finally, If you like what you see, lobby Nvidia and AMD to add integer scaling settings to their drivers. You can apply this workaround to other DOS games that don't utilize Glide by using just the dosbox conf tweaks, though if a game's native resolution is 320x200, you would use 1600x1000, for example. nGlide and dgVoodoo/dgVoodoo 2 both support resolution overrides in Win32 games as well, but only for Glide games. In the future, DXGL's developer plans to support integer scaling. That means integer scaling support for the DirectX 1-7 era.
It's remarkable that something so simple is still in many cases impossible to achieve, but hopefully we'll have driver level support for this someday.
Most of us have 1920x1080 displays, and even if we preserve aspect ratio, an internal 640x480 resolution does not scale up neatly to 1920x1080. With a 4:3 game (like Archimedean Dynasty), you end up with an ugly, filtered 1440x1080 image, (1920x1080 with black borders). If you're willing to give up a couple pixels of screen coverage, you can have a crisp doubled resolution of 1280x960.
1. Inside your \Archimedean Dynasty\DOSBOX directory, run nglide_config.exe.
2. Set screen resolution to 1280x960, aspect ratio to 4:3, and vertical synchronization to off. Now the simulation (3D) part of the game will be doubled.
3. Inside your \Archimedean Dynasty directory, open dosbox_ad.conf in a text editor.
4. Change the fullresolution line to "fullresolution=1280x960" and the output line to "output=direct3d". Now the 2D part of the game will be doubled.
5. Nvidia: In Nvidia Control Panel, go to "Adjust Desktop Size and Position". Tick the box that says "No scaling".
AMD: First go to Windows Display settings and lower your resolution to anything below native. Now go to CCC and enable GPU Scaling, then tick the box that says "Enable centered timings". Now change your desktop resolution back to native in Windows Display settings.
Intel: I have no idea how you disable scaling here as I've never had an onboard display adapter, but I'm sure it's intuitively labeled.
6. Play the game. You'll know it's working because the image won't take up all of your vertical resolution and it will appear more pixellated because there's no blur introduced by interpolation. If you really have to have that extra space, by all means, scale it up, but the crisp image is worth the loss of a couple inches on my 32". And if you can tolerate the blur and maybe even prefer it, congratulations: your legacy gaming career is much more convenient than mine.
If you have a 1440p display, you don't have to give up an inch of screen real estate. You can perfectly scale up 3x. This is the ideal resolution for integer scaling of 640x480 era games. I am jealous.
If you have a 4k display, you can try upscaling to 2560x1920 (4x internal resolution). This requires more power but if you have a 4k display, you surely have power.
And if you have a 1920x1200 display, you can perfectly 2x scale 800x600 games. That doesn't really help you with Archimedean Dynasty, but it's helpful for SVGA games.
Finally, If you like what you see, lobby Nvidia and AMD to add integer scaling settings to their drivers. You can apply this workaround to other DOS games that don't utilize Glide by using just the dosbox conf tweaks, though if a game's native resolution is 320x200, you would use 1600x1000, for example. nGlide and dgVoodoo/dgVoodoo 2 both support resolution overrides in Win32 games as well, but only for Glide games. In the future, DXGL's developer plans to support integer scaling. That means integer scaling support for the DirectX 1-7 era.
It's remarkable that something so simple is still in many cases impossible to achieve, but hopefully we'll have driver level support for this someday.
Post edited August 03, 2015 by galneon