View Single Post
Old 06-04-2010, 10:31 PM   #6
Japo
Autonomous human
 
Japo's Avatar


 
Join Date: Mar 2006
Location: ,
Posts: 4,613
Default

OK I had very little time yesterday. First of all, try if this solves the problem:

Quote:
Originally Posted by Japo View Post
A small tip for the road. Maybe you like to play in fullscreen, but when you try you see a small game image surrounded by a big black frame. To fix this go to "Start > Programs > DOSBox-X.XX > DOSBox.conf". Here you can change DOSBox's settings, but we didn't mention it to keep things simple. Right now don't worry about all the garble inside and just search (Ctrl+F) for "fullresolution", and change what's to the right of the "=" to "640x480":


Make sure to save the changes. When you run DOSBox in fullscreen again, the image should occupy the whole width, if your graphic card supports the 640x480 resolution. (You can eliminate the black strips that may appear along the top and bottom of the screen depending on the game, by changing "aspect=false" to "aspect=true" instead; but I don't recommend that because it can be very processor-consuming, and what's worse you'll lose image definition. Besides what in the world's wrong with those cool retro Cinemascope strips?)
Now let me explain:

1) First there's the resolution the game has. Most very old games have 320x200 pixels, more recent ones 640x400, and then 640x480.

2) Then DOSBox scales this original image into the resolution defined in that "fullresolution" parameter. The default setting is "original", meaning to leave it be, not to scale the image but pass it to the graphics hardware unscaled.

3) Also if the "aspect" parameter is set to "true", the image will be stretched so that it always fills the whole fullresolution. This means losing a lot of definition, and probably stretching both dimensions differently so that squares become rectangles etc.

On the other hand if "aspect" is set to "false", the image can be scaled into a different resolution, but preserving the aspect ratio and definition at 100 per cent. That means a 320x200 can only be scaled into 640x400, 960x600, 1280x800, etc. The rest of the "fullresolution" if any, is filled with black, but DOSBox kindly centres the scaled image in it.

4) Finally the graphics hardware takes the image created by DOSBox (at "fullresolution" pixels). The problem is, if the hardware doesn't support "fullresolution", it will fall back into a supported resolution, probably the closest larger; but it won't probably centre the image served by DOSBox, but leave it at the left top.

And modern hardware never support 320x200 nor 640x400. With luck they will continue supporting 640x480 for legacy purposes. So if you leave "fullresolution=original", your graphics hardware will probably chose a tricky resolution and screw you. If you change it to "fullresolution=640x480", a 320x200 or a 640x400 will be scaled into filling the whole width and leaving two black frames at the top and bottom, and the image definition will be preserved 100 per cent.

In this example the original image (from Windows 3.1) was 640x480, and I had tested "fullresolution=768x480":


(click to enlarge)


5) But there's more! Actually I wouldn't recommend "fullresolution=640x480" any longer, if you bear with me. Because 640:480 = 4:3 (old TV set/screen aspect ratio), but modern panoramic screens or TV sets usually have a 16:9 aspect ratio (for example 1920:1080). So even if DOSBox didn't modify the aspect ratio, it will be modified when displaying a 4:3 image on a 16:9 screen--the number of pixels would be right and the definition would be perfect, but each pixel wouldn't be square.

The best solution depends on the resolutions your hardware supports, and how it behaves. You can always make "fullresolution" equal to the native resolution of your hardware (the one you're using in Windows, that should have the same aspect ratio as the physical dimensions of the screen) and call it a day. Perhaps this would be the most recommendable option.
__________________
Life starts every day anew. Prospects not so good...
Japo is offline                         Send a private message to Japo
Reply With Quote