Best way to display old, low resolution PC games on modern monitors? [duplicate]
As many of you probably know, quite a few games on sites like GOG.com use Dosbox to start games which otherwise would be unplayable, due to their age. The graphics of such games (when played full screen on today's monitors) are abhorrent, of course.
For this reason, Dosbox offers to start the games with hardware acceleration (I use Direct3D), and to use a scaling engine to upscale the game to modern-day resolutions. The problem is that with most of these scaling engines, the picture becomes really small in fullscreen, since even when the picture is enlarged 3x, the resolution is too small. Dosbox offers no workaround for this (either have a very pixelated picture, or a small one).
However, then I saw videos such as this one here, where the author claims to play the game at 1920x1200 (my own resolution), with a scaling engine termed HQ6x. The game looks quite gorgeous (if slightly cartoony). Problem is, in vanilla Dosbox, the highest scaler you get is HQ3x, and I couldn't find any scalers higher than that to download and easily install into Dosbox
Even after an hour of googling, I turned up empty. Is it possible to download, install and use a better scaling engine than what is available in vanilla dosbox, and if so, how?
DOSBox ECE (Enhanced Community Edition) adds normal4x
, normal5x
, and normal6x
scalers, as well as a surfacepp
output mode which does scaling automatically. (These modes all give you the pixelated look of the original game, but at least it's a decent size.)
The software replaces some of the vanilla DOSBox files with the set that enables pixel perfect rendering (which in most games would be 5x). The current version is r4334, but this doesn’t have support for correct scaling. However, they have provided version r4301 (Windows, Linux), which does include this.
To get it working, enable the following settings in the config file:
[sdl]
fullscreen = true
fullborderless = true
fullresolution = desktop
output = openglpp
glfullvsync = true
[render]
frameskip = 0
aspect = true
scaler = normal5x
Setting scaler
to 5x is important; this stretches the pixels to the correct rectangular shape. surfacepp
may be used for openglpp
, but the latter provides OpenGL support.
I was able to find HQ4x through the magic of the internet archive. Beyond that I see no record of anyone making a higher level of the hq renderer/scaler. Luckily, the downloads still work, and the source code is there even should anyone want to take up the banner and create higher levels of hq.
You could also ask the uploader of those videos for a copy of the hq6x he's using. He may have already put in the work.
Wow, no idea on how he got HQ6x! Searching the web, the most I could find was this 2012 blog post http://ashton-lockey.blogspot.com.br/2012/03/dosbox-linear-scaler-4x-and-greater.html but it only speaks of increasing the normal scaler, not HQ - and I'm not much of a programmer, so I thought best no to try myself.