VOGONS


First post, by Lomaxx

User metadata

Hello.

I am trying to set up a special display-setting with dosbox, but either i am not finding the right way or there is an option i am missing. If it's the last thing than i would like to make a proposal.

Well, i'll just describe what i am trying to do:

I am using dosbox with a flatscreen running at 1280x1024 and prefer to have a really sharp picture over an maximized one. Because of this i set my grafic-card-setting to "centered, unstreched output" and leave dosbox running in 1280x1024-fullscreen. This leaves me with a rather small picture when running games with low resolution. At the moment i am running a game using 360x240.
So far i found two settings that both give me a nice,sharp picture, which is centred in the middle without seeing the desktop behind it (fullscreen as already said). In order to keep this sharp picture i would have to get the game-screen displayed in the original- or in a 2x,3x,4x unstreched resolution.
The thing is that so far dosbox does only offers the 1x- and 2x-output, but with a monitor-resolution of 1280x1024 i would be able to also show a game using a resolution of 360x240 in three times the size: 1080x720
but that doesn't make a diffrence. Games using 320x200 pixels could even be displays in 4x -> 1280x600.

I need to run fullscreen in 1280x1024 to get a sharp picture and dosbox only offers normal and normal2x-filters. the other filters result in a pretty unsharp display. And i think it's a rather easy task to implement that. isn't it (seen from the technical point of view)? Shouldn't it even be possible without high CPU-usage?

Or IS there already a way to get this done in Dosbox? Normal3x- and normal4x-filters are those i am missing.

Reply 1 of 27, by Lomaxx

User metadata

umm...please ignore that "but that doesn't make a diffrence." I forgot to delete it after copy-pasting the text.

Reply 2 of 27, by Lomaxx

User metadata

ok, i just read that someone made this proposal already in the "DosBox Wish List #2"-thread and i tried again to solve the situation with "openglnb" and 3x-scaling (as mentioned there). It really seems to really does what i want. (Actually i tried it before and thought it doesn't, but it looks like i got confused.)

However i noticed that the openglnb-output takes FAR more CPU-usage even with 1x- or 2x-scaling than using "output=surface","hwscale=1.00" and "scaler=normal" or "scaler=normal2x".

Also i read about that hq2x-scaling. It looks nice and might be an option, but first of all i would prefer to play the games using the original, unchanged grafics and also i fear that the hq-scaling-method takes up quite some CPU-usage as well.

So my proposal/wishlist-addition goes is:

Please implement both scaling methods: normal3x,normal4x, normal5x(?) and hq1x-5x. Also it would be very nice if dosbox would offer an option to set output to the largest normal/hq-scaling which the maximum-resolution set in fullscreen can support automatically.

Reply 3 of 27, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

So if you set hwscale to something bigger than 1.00, it doesn't stay sharp for you? For me it stays sharp with some output modes and gets blurry with others. I think that hwscale in most cases is faster than using the software scalers as well, so I'd recommend trying different combinations of hwscale and output, with scaler=none.

I think for fullscreen it would be nice if DOSBox could try to intelligently fill the screen without the user having to fiddle with all these scale options. Even in windowed mode it's annoying, as the window doesn't scale consistently across emulated resolutions, scalers, and/or output modes.

Reply 4 of 27, by Lomaxx

User metadata

It DOES stay sharp, but it takes too much performance using openglfb-output and hwscaling 1x,2x,3x. Using "surface"-output and scaler= normal or normal2x is much faster. I just miss "normal3x" and "normal4x" and would like to see them implemented.
So from what i can tell from my experiments it's just the oposite of what you wrote ("I think that hwscale in most cases is faster than using the software scalers."). Although i do not understand why. I did that experiments using "Ultima Underworld".

Reply 5 of 27, by Lomaxx

User metadata

"openglnb-output" of course. And btw: I do not want the screen to be completely filled, since that would make the picture less sharp in nearly all cases. You only get a 100% sharp output if you stick to the mupltiples 1x, 2x, 3x, 4x, 5x, ... and that means you either do not completely fill out the maximum monitor-resolution (which you need to run on TFTs to get the best result) or overlap it and thus miss some border-areas. So overlapping is not welcome by anyone.

Reply 6 of 27, by Lomaxx

User metadata

<bangs with his head against the wall> I have to stop testing and go to bed. I am getting more and more confused: Now i noticed that openglnb does NOT scale2x (or even 1x) in fullscreen-mode. It always fills the output to the width of my screen, which of course it should not do when scaling a resolution of 320x200 1x or 2x in a 1280x1024 fullscreen-mode.

For now i leave with the only thing i am sure about: surface-output with normal2x-scaling gives me the best result so far. I only would like to have normal3x- and normal 4x-scaling.

Reply 7 of 27, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

hwscale should work with other output modes besides openglnb though. Try it with ddraw or overlay or surface.

Also, about filling the screen: Yeah, that's why I said "intelligently" - meaning that it would scale to the largest integer multiple that would still fit.

Reply 8 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

My Direct3D output does exactly what you're looking for as there already was a thread requesting it here. Using aspect=false will resize your 320x200 game (with 1280x1024 fullresolution) to 1280x1000 (x4 and x5) which should keep it sharp. For widescreen displays it's possible to set aspect=true and get correct 4:3 picture 😀. Other modes do not use aspect= setting in fullscreen.

Reply 9 of 27, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

gulikoza: Does it still aspect-correct non-4:3 modes like 320x200 on 4:3 modes like 1280x1024 though? 1280x1000 is not 4:3, but my monitor is.

Reply 10 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Using aspect=true and fullscreen (1280x1024) everything will be scaled to 4:3 - but assuming square pixels. That is, on an LCD (which actually has 5:4 physical ar) the image will be 1280x960 with small black bars. With CRT you're better off using native res or some other 4:3 res, becuase 1280x1024 will be slightly squashed since the pixels are not square 😀

Reply 11 of 27, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Sorry, I meant 4:3 modes like 1280x960 😀

I use DOSBox in a window on my 21" monitor at 1600x1200 with aspect=true so that 320x200 games don't look squashed.

Reply 12 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Window mode works exactly like in all other display outputs...I only did changes to fullscreen mode.

Reply 13 of 27, by Lomaxx

User metadata

@gulikoza: i read the other thread and downloaded your dosbox-version. It indeed is what i was searching for. Thanks a lot. It offers the largest possible fullscreen-output in a very sharp quality without modifying the orginal grafics. Exactly what my oldie-heart has desired. 😉 I hope that these modifaction will find there way into the original version of dosbox.

One thing is left which i am wondering about: If i understand your explanation in the other thread right and can trust my eyes/brain today the fullscreen-output is resized to the maximum available output-resolution with width and heigth scaled independly ("We can scale 320x200 image x4 in x direction and x5 in y direction.").
Now i wonder if it is desireable and technically possible to have the option to force scaling with locked xy-scaling in fullscreenmode. So that a 320x200 game-resolution would be scaled x4 and x AND y (and not x5 for y) giving you an output-resolution of 1280x800. This would leave you with a 100% sharp output while sacrificing 4:3-ratio.
Of course most (if not all) games have been designed for 4:3, but it still might be interesting to have that option.

Reply 14 of 27, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Actually, most DOS games were written for 320x200 CGA/EGA/VGA modes, which are not quite 4:3. As a result, they will look "squished" if you don't do aspect ratio correction.

Reply 15 of 27, by Lomaxx

User metadata

hm, to be honest i do not fully understand that aspect-ratio-correction. Which ratio does it refer to? And which ratio had the width/heigth of a CRT-Display. Wasn't that 4:3? And wasn't the screen always completely filled out on these? I can't remember if there have been black bars at the top or side of the screen-output of some games, but i think there haven't been any.
So if a game had a resolution of 320x200, the monitor had a 4:3-format and the picture was always completely filled out, then this means that we (the gamers) always saw a deformed/streched picture. And then the game-developers developed the grafics for 4:3-format although 320x200 is not 4:3, because they knew that in the end on the monitor the result will be stretched.
So the basic question is: Which is the original format, that should be displayed and wouldn't it in any case be of interest to have the option of a xy-locked scaling to get a 100% sharp picture?

Reply 16 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Well...I've been asking myself the very same question. The problem lies in the fact that a CRT display is an analog device. And as such, it actually does not understand the definition of pixels. At 320x200 mode, the picture occupies the whole 4:3 area, but the pixels are not square, they are slightly taller that wider. True 4:3 display modes (such as 640x480, 1024x768, 1280x960) have square pixels and to show a 320x200 mode game in a window, you have to scale it in the y-direction to achieve that "tall" pixel look. That is what aspect= option is for. Then we get to infamous 1280x1024 mode (which I really do hate 😀). 1280x1024 on a CRT display will have wide pixels (again messing with everything that expects square pixels), since monitor AR is only 4:3 - but on LCD this mode will have square pixels since somebody thought it was funny to produce a 5:4 AR display.
Sure...it'd be simple to add "locked xy" scaling. But would this option really deserve another entry in dosbox.conf? And then again...since only integer scaling is done, there is no blurring, and 1 game pixel consists of 4 pixels in x direction and 5 in y it's slightly taller than wider just as it's supposed to be 😁

Reply 17 of 27, by Lomaxx

User metadata

uhm. I think i just explained myself what "correct-ratio" does. 😁

Now i just wonder how this technique works in detail. I mean...when you want to transform a 320x200 picture into a 4:3-format you would have to add 40 lines (320x240). Is adding a line every 50 lines all it does in such a case or is there a more complicated recalculation-method being used?

Reply 18 of 27, by Lomaxx

User metadata

Now that was a fast reply of yours, Gulikoza. =)

Yes, now that i read your last posting i understand the problem even more (maybe fully?). I guess locked xy-scaling is really not necessary.

Reply 19 of 27, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

I like your idea of adding a few empty lines. Perhaps that would make a nice dosbox scaler 😁