VOGONS


First post, by videogamer555

User metadata
Rank Member
Rank
Member

I have been testing the latest SVN version r4003. I've noticed that I can now use aspect ratio correction in both text and graphics modes (was limited to using aspect ratio correction only in graphics modes on the last official normal, non-SVN version). Allowing aspect ratio correction in all modes (both text and graphics) much more closely resembles what I remember DOS looking like on the old DOS computer I used to have many years ago when I was a little kid. Text modes have a pixel aspect ratio of 8:5. However standard computer monitors of the time had a ratio of 4:3, which vertically stretched such modes, and made the letters look tall. Finally I can get that same effect in DOSBox However, the way it does this is it duplicates some lines of pixels. Basically it does "nearest neighbor" interpolation. And this makes the text look weird at times. I don't remember text ever looking like that back on my old DOS PC. There should be a way to use one of the more advanced interpolation methods in dosbox.conf, to correct this.

Unfortunately, it appears that currently, setting the interpolation method is only possible (even in the most recent SVN version of DOSBox) when when used in graphic modes. In text modes, I can't set the interpolation method. It always uses "nearest neighbor". So here's my suggestion for the next development version. There should be a way to let you use linear interpolation, or any of the other interpolation methods listed in dosbox.conf, even when in text modes, so as to simulate how it would actually appear on a real 4:3 aspect ratio computer monitor.

Reply 2 of 5, by videogamer555

User metadata
Rank Member
Rank
Member
Ringding wrote:

I think it does what you want with output=opengl.

Not sure if I have a computer equipped with OpenGL compatible graphics hardware. I know it does DirectX graphics engine, but not sure about OpenGL.

Besides, why not just remove the line of code that limits interpolation to working with graphics, modes, so that it also works with text modes? That would be one of the easiest features to implement that anybody has ever asked for on here.

Reply 3 of 5, by Ringding

User metadata
Rank Member
Rank
Member

In my experience, it does nearest neighbour for graphics modes as well, unless I use output=opengl, so there is no difference between text and graphics modes. But I have not investigated this heavily.

Reply 4 of 5, by Ant_222

User metadata
Rank Oldbie
Rank
Oldbie
videogamer555 wrote:

Finally I can get that same effect in DOSBox However, the way it does this is it duplicates some lines of pixels. Basically it does "nearest neighbor" interpolation. And this makes the text look weird at times. I don't remember text ever looking like that back on my old DOS PC. There should be a way to use one of the more advanced interpolation methods in dosbox.conf, to correct this.

Although not exactly what you want, the surface-np output in the pixel-perfect patch may help. Attached are screenshots of windowed and fullscreen modes taken with a sharpness of 50 and 0. surface-np interpolates only a pixel-thin boundary of every upscaled pixel to emulate the oversampling technique.

Attachments

Reply 5 of 5, by Ant_222

User metadata
Rank Oldbie
Rank
Oldbie
videogamer555 wrote:

Not sure if I have a computer equipped with OpenGL compatible graphics hardware. I know it does DirectX graphics engine, but not sure about OpenGL.

Then try

output=ddraw

Besides, why not just remove the line of code that limits interpolation to working with graphics, modes, so that it also works with text modes? That would be one of the easiest features to implement that anybody has ever asked for on here.

What interpolation are you talking about? The software scalers do not provide linear interpolation, and hardware scaling already works for both text and graphical modes.

Full linear interpolation is quite expensive and might require parallel programming, which is not currently used by the software scalers.