VOGONS

Common searches


First post, by jez

User metadata
Rank Member
Rank
Member

When I configure things thus:

fullresolution      = desktop
windowresolution = original
output = surface
...
aspect = false
scaler = normal4x

DOSBox will scale the video to 4x both in windowed and fullscreen modes (in fullscreen mode you get letterboxing to achieve this).

However, when I change output from surface to any of the more modern outputs like ddraw or opengl, fullscreen mode always stretches the video to the resolution of my desktop. Is there any way I can get the 'surface' behaviour with one of the more modern output types?

== Jez ==

Reply 2 of 22, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

You probably also need to use an output that support hardware scaling, such as opengl, openglnb or ddraw, and disable the software scaling with "scaler=none". The "output=surface" does not support hardware scaling, and that will hurt performance with "aspect=true".

Reply 4 of 22, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

I assume you want desktop resolution in fullscreen, but non-scaled output (meaning black borders around it.) I don't think there's a way to do it.

But you can try to set:

fullresolution = original

Which will probably not work well on modern displays. You'll get the nearest available resolution with some form of scaling applied by the display. You can probably fiddle in your monitor's OSD to find scaling settings. Or you can force GPU scaling in your driver control panel and try the scaling options offered there.

Reply 5 of 22, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
realnc wrote:

I assume you want desktop resolution in fullscreen, but non-scaled output (meaning black borders around it.) I don't think there's a way to do it.

Sure there is, set aspect to true.

Reply 6 of 22, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
jmarsh wrote:
realnc wrote:

I assume you want desktop resolution in fullscreen, but non-scaled output (meaning black borders around it.) I don't think there's a way to do it.

Sure there is, set aspect to true.

Does not work. It still scales, just with the correct aspect ratio. Which is what one would expect just from that option's name.

The issue here is that when using anything other than surface, using "scaler = none" doesn't work. DOSBox will scale no matter what.

Reply 8 of 22, by jez

User metadata
Rank Member
Rank
Member

No I didn't mention aspect ratio correction. I simply want the behaviour you get when you put output=surface in fullscreen - maintain the resolution output by the scaler and surround it in a letterbox - when you put output=opengl or similar.

== Jez ==

Reply 13 of 22, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Works for me on all of my systems, only difference being I actually type in my desktop resolution e.g. 1920x1080

Edit: straight from my dosbox.conf:

fullscreen=false
fulldouble=false
fullresolution=1280x800
windowresolution=800x600
output=openglnb
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74-2.map
usescancodes=true


language=
machine=svga_s3
captures=capture
memsize=16


frameskip=0
aspect=true
scaler=none

World's foremost 486 enjoyer.

Reply 14 of 22, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Here you can see the results; it does not scale in standard text mode (but it does if you run a text-mode program such as Adlib Tracker II), but it definitely scales in graphics mode:

Screen Shot 2019-03-19 at 11.22.37 AM.png
Filename
Screen Shot 2019-03-19 at 11.22.37 AM.png
File size
26.01 KiB
Views
812 views
File license
Fair use/fair dealing exception
Screen Shot 2019-03-19 at 11.22.49 AM.png
Filename
Screen Shot 2019-03-19 at 11.22.49 AM.png
File size
85.98 KiB
Views
812 views
File license
Fair use/fair dealing exception

World's foremost 486 enjoyer.

Reply 15 of 22, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

Here you can see the results; it does not scale in standard text mode

What are you talking about? That's scaled... 🤣 Change output to "surface" and then you'll get unscaled original size.

Reply 16 of 22, by keenmaster486

User metadata
Rank l33t
Rank
l33t
realnc wrote:

What are you talking about? That's scaled... 🤣 Change output to "surface" and then you'll get unscaled original size.

Oops, I misspoke - it DOES scale in standard text mode but NOT in graphics mode!

World's foremost 486 enjoyer.

Reply 17 of 22, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

Oops, I misspoke - it DOES scale in standard text mode but NOT in graphics mode!

The game screenshot you posted is also scaled. Unless Commander Keen's original resolution is 800 pixels high. Was it an 800x600 game? If yes, then there's nothing to scale to begin with.

Try a 640x480 or 320x240 game.

Reply 18 of 22, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Commander Keen's original resolution is 320x200.

OK, so are we trying to get square pixels here? Because that will not look as intended - every monitor back in the day was 4:3, and 320x200 games did NOT have square pixels. They would always be scaled vertically.

So this method scales everything to an as-large-as-possible box on your modern widescreen monitor with the aspect ratio of a 4:3 CRT, with the characteristic black bars on the sides.

World's foremost 486 enjoyer.

Reply 19 of 22, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
keenmaster486 wrote:

So this method scales everything to an as-large-as-possible box on your modern widescreen monitor with the aspect ratio of a 4:3 CRT, with the characteristic black bars on the sides.

The OP is asking for no scaling at all. For a 320x240 game, that means a small image in the center surrounded by huge black areas, like you get when using "surface" output with a "none" scaler.