VOGONS


First post, by Dfg11333

User metadata
Rank Newbie
Rank
Newbie

Hi,

I'm using dosbox to play many games and I love it ! However, I struggle quite a lot to have screen resolutions ok for all my games.

Playing with scalers, I googled to see if a normal4x would be available on dosbox on newer versions but I didn't find any positive answer. Did I miss something ?

I found on the forum a couple of threads with attached patches to add the normal4x mode. All threads are quite ridiculous to read a couple of years after (discussion from "who on earth would have a screen resolution higher than 1024x768" to "I closed this thread because someone said something idiot").

I even found a tutorial on "how to patch yourself your dosbox to have normal4x" ( http://ashton-lockey.blogspot.fr/2012/03/dosb … nd-greater.html ).

At this point, it's just getting ridiculous. It doesn't seem to be a technical problem (the patch seems just trivial and there were many proposed). I don't think anyone would deny that many people today have 1920x1080 screens, which makes the point for 4x or 5x modes. And we know that tomorrow will see bigger resolution screens.

So, can someone explain what's going wrong with this request ?

Reply 1 of 12, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

The blog post you link to has already done all the hard work. I will try adding these code changes and try to make a .diff file.

Last edited by Great Hierophant on 2013-04-12, 02:35. Edited 1 time in total.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 3 of 12, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I have attached a DOSBox based on r3827 with a working normal4x, normal5x and normal6x. Compiled on Microsoft Visual C++ 2008 Express Edition using the wiki's instructions. If someone could tell me how to make a diff file, I would appreciate it because I really do not want to have to figure out and type all that code again.

I have a 1920x1200 screen, so normal6x is useful. However, the normal?x scalers only work with 320-type resolutions. 80-column text modes will not be scaled.

Attachments

  • Filename
    dosbox.exe
    File size
    2.11 MiB
    Downloads
    360 downloads
    File license
    Fair use/fair dealing exception

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 4 of 12, by VileR

User metadata
Rank Oldbie
Rank
Oldbie

Nice! This has been in my DOSBox wish list too, I was just unaware that somebody has already done the dirty work, and too plain lazy to tackle it myself. ;)

Great Hierophant wrote:

I have attached a DOSBox based on r3827 with a working normal4x, normal5x and normal6x. Compiled on Microsoft Visual C++ 2008 Express Edition using the wiki's instructions.

Excellent, seems to work exactly as intended - I can't quite test 5x and 6x in fullscreen as my native resolution isn't big enough, but forcing them in a window works fine.

If someone could tell me how to make a diff file, I would appreciate it because I really do not want to have to figure out and type all that code again.

Grab the win32 binaries for diffutils and see the options for 'diff'. From memory this should do the trick:
diff -ubr [svn_source_dir] [patched_source_dir] > patch.diff

I have a 1920x1200 screen, so normal6x is useful. However, the normal?x scalers only work with 320-type resolutions. 80-column text modes will not be scaled.

640x* modes do get scaled if you append 'forced'. In fact, using "scaler=normal4x forced" in fullscreen gives me the best possible results with this patch (I use a pair of 1280x1024 panels, so with normal4x I get crisp scaling for both 320- and 640-column modes).

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 5 of 12, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Here is the diff file, I hope I did it right.

I cannot code a line, but I can identify patterns and deduce the next logical result.

I prefer the openglnb output because it automatically can scale the image to the resolution indicated. So openglnb and fullscreen resolution of 1920x1200 gives me perfectly scaled graphics in 640 and 320 modes. In other words, it acts like normal3x with 640 modes and normal6x in 320 modes. There isn't a great solution for those oddball 720 and 360 modes.

Attachments

  • Filename
    patch.diff
    File size
    54.65 KiB
    Downloads
    203 downloads
    File license
    Fair use/fair dealing exception

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 6 of 12, by VileR

User metadata
Rank Oldbie
Rank
Oldbie

openglnb isn't always optimal, since in certain resolutions the pixel sizes would be uneven (especially with aspect=true), so higher factors for the normal scaler are very welcome indeed.

the diff looks like you swapped the two directories (or perhaps I swapped them in my example), since there are removals where there should be additions, and vice versa. Also, everything from line 297 onwards should probably be deleted as it's specific to Visual Studio (the visualc stuff plus winres.rc)... forgot to mention that.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 7 of 12, by Dfg11333

User metadata
Rank Newbie
Rank
Newbie

Actually, as stated in my original post, many patches have already been proposed (search on this forum there are a couple of patches, not counting the external link I provided).

Most of the patches have been written by non-experimented developers, which proves that this is trivial stuff.

So, the problem is not technical, it's only a matter of having a dosbox developer who has access to the source tree (and should therefore have enough skill to code that in 5 minutes) do it and commit it.

Reply 9 of 12, by robertmo

User metadata
Rank l33t++
Rank
l33t++

I think dosbox developers don't want people to use high normalnx scalers as they slow dosbox down. They encourage you to use hardware scalers. And hardware scalers are not perfect as that is difficult to achieve. And there are more important things to develop for dosbox and also there is not much development in dosbox at all.

Reply 10 of 12, by VileR

User metadata
Rank Oldbie
Rank
Oldbie
Dfg11333 wrote:

But really, in this case, integrating the patch is more work than writing it.

...how's that specific to this case vs. any other patch though?

robertmo wrote:

I think dosbox developers don't want people to use high normalnx scalers as they slow dosbox down.

As expected, normal6x seems to consume ~4 times more cpu power than normal3x, but in the *rare* case that this becomes a problem for a modern cpu we're all free to use something else...

Last edited by VileR on 2013-04-12, 15:29. Edited 1 time in total.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 12 of 12, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

In the case of scalers I still hope someone will do a scaler lib to easily integrate scalers in projects that use them (scummvm, dosbox, etc....)

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox