VOGONS


First post, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie

In 720x400 mode in fullscreen the apect ratio of 640x400 (VGA 320x200 with scaler=normal2x) image keeps narrower, but not at full area of the screen despite setting apect=true (with apect=true it becomes even more narrower). Tryed 0.74, fresh SVN, different output=opengl, overlay, etc.
While aspect ratio of 640x400 showing at window mode in 720x400 with aspect=true is correct. If full screen only this problem exists.
Outside of DOSBox 720x400x70 Hz fills all screen area. In DOSBox at fullscreen the monitor confirms it is switched in 720x400x70 Hz.

Where it's needed. Many IPS LCD have 60 Hz at 1920x1080 but at 720x400 (this mode can be created in video driver settings) they allow 70 Hz. VGA had 70 Hz, hence games may work at native 70 Hz on them without problems of droped frames or wrong speed. I tested on CRT in 720x400x70 Hz but DOSBox should behave similar with those IPS LCD.

For testing as VGA game may be used Hocus Pocus Shareware or Quake 1.06 Shareware

Last edited by Tertz on 2015-06-12, 18:01. Edited 1 time in total.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 1 of 11, by TeddyTheBear

User metadata
Rank Newbie
Rank
Newbie

Does it look right when fullscreen 640x400@70hz on the CRT?

EDIT:Disregard above. From what I can tell it looks like you are trying to configure the resolution on your LCD so DOSBox has a 4:3 aspect ratio letterboxed image that fills the height of the screen and a refresh rate of 70hz. Using the 720x400@70hz resolution won't work. On your 1920x1200 screen you would need a way to tell DOXBox to render to a 474x400 rectangle inside the 720x400 resolution to make a 4:3 aspect ratio image because the pixel aspect ratio is 8:9. I don't know any way to do that.
Your other options are to use a build of DOSBox that supports pixel shader scalers(still 60hz) or to make a custom resolution. I have a nvidia graphics card so I used the graphics driver software to make a custom 1280x600@70hz resolution for my 1920x1080 monitor and set the scaler to 3x. http://imgur.com/TkVACIT
For your 1920x1200 screen you need (6/5) * game width * scaler x game height * scaler, so 768x400@70 with 2x scaler or 1152x600@70 with 3x scaler.

In DOSBox conf file I set
fullscreen=true
fullresolution=1280x600
output= tested both opengl and ddraw and both worked
aspect=false
scaler=normal3x

If your monitor is actually 1980x1080 not 1920x1200 then use (4/3) instead of (6/5), this ratio is also game resolution specific. Also if you are not trying to make a 4:3 image but fully fill the screen then you just need to make a custom resolution that matches the games resolution * scale.

Reply 2 of 11, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
TeddyTheBear wrote:

Does it look right when fullscreen 640x400@70hz on the CRT?

Yes. Inside DOSBox 640x400 works ok in fullscreen mode.
I'm trying to get 720x400 to work correctly as it's important for IPS monitors.

From what I can tell it looks like you are trying to configure the resolution on your LCD

I'm testing 720x400x70 Hz on CRT still. The mode itself works ok. The problem is in DOSBox wich does not stretch 640x400 source at whole screen area in 720x400 fullscreen mode. The image insted of 4:3 is narrower and aspect=true makes it more narrower. I think on LCD with 720x400x70 Hz support the situation will be same.
The DOSBox works correctly with this situation in window mode, but in fullscreen mode the aspect of image is wrong.

I have a nvidia graphics card so I used the graphics driver software to make a custom 1280x600@70hz resolution for my 1920x1080 monitor and set the scaler to 3x.

If IPS monitor will agree to show non-official resolution like 640x400x70 Hz (what's not obligatory) then probably there will be frame drop to 60 Hz. While you may to have TN wich allows 70 Hz at resolutions higher than 1280x600.

For your 1920x1200 screen you need (6/5) * game width * scaler x game height * scaler, so 768x400@70 with 2x scaler or 1152x600@70 with 3x scaler.

I played with custome modes. The wider custome mode you create and input in DOSBox settings for fullscreen, the narrower image you get. 🤣. Seems, as DOSBox's inside fullscreen procedures want only 640x400 as in the source, while anything wider makes the image narrower.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 3 of 11, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

machine=vgaonly ? that should set a 720x400 instead of 640x400 if I recall correctly

Water flows down the stream
How to ask questions the smart way!

Reply 4 of 11, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
Qbix wrote:

machine=vgaonly ? that should set a 720x400 instead of 640x400 if I recall correctly

Does not help: no correct stretching in 720x400 from 640x400.

While settings like below make 0.74 crash after any VGA game is run, and SVN 3919 crashes just after switching to fullscreen:
fullresolution=720x400
output=overlay
machine=vgaonly
aspect=true

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 6 of 11, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
Qbix wrote:

don't set aspect=true

I tryed this too. No crash, but stretching of VGA game is incorrect still - narrow image instead of 4:3.

Last edited by Tertz on 2015-06-12, 18:22. Edited 1 time in total.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 8 of 11, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
Qbix wrote:

but 720x400 right ? that is what you wanted ?

I wanted correct aspect ratio 4:3 in 720x400 for 640x400 source.
DOSBox switched to 720x400 in games without vgaonly too. The problem is with wrong AR, image is not stetching on full screen, black left and right borders with size seems like 720-640=80 pixels in sum (and more with aspect=true).

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 9 of 11, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

but you are messing with custom mode lines to get 720x400.... If you enable aspect correction you get different resolutions from 720x400.....
640x400 would become 640x480 (resolution wise. DOSBox can only control the resolution...., the rest is up to your videocard drivers/monitor)

Water flows down the stream
How to ask questions the smart way!

Reply 10 of 11, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
Qbix wrote:

If you enable aspect correction you get different resolutions from 720x400.....

DOSBox's aspect correction option needs support for non-square pixel output modes of a monitor.

Additional parameter like:
nonsqrpixeloutmode=true, AX1:AY1, AX2:AY2
where:
AX1,AY1 - aspect of source image
AX2,AY2 - aspect of output image
for example: nonsqrpixeloutmode=true, 4:3, 4:3
If nonsqrpixeloutmode=true, then parameter "aspect" is ignored

If AX1/AY1 = AX2/AY2, then straight interpolation (like 640x400 -> 720x400)
If AX1/AY1 < AX2/AY2, then empty fields at left and right, else empty fields at top and bottom
etc

It should not be a code of significant complexity (probably a day of work) wich counts X and Y for output interpolation. This would add universality to the emulator besides help with popular today IPS monitors.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 11 of 11, by TeddyTheBear

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:

but you are messing with custom mode lines to get 720x400.... If you enable aspect correction you get different resolutions from 720x400.....
640x400 would become 640x480 (resolution wise. DOSBox can only control the resolution...., the rest is up to your videocard drivers/monitor)

He mentioned a HP z24i in another post and in the user guide it says it supports 720x400@70.087 natively. I still think that it is impossible to make this resolution work the way he wants.

Tertz wrote:

If IPS monitor will agree to show non-official resolution like 640x400x70 Hz (what's not obligatory) then probably there will be frame drop to 60 Hz. While you may to have TN wich allows 70 Hz at resolutions higher than 1280x600.

Have you tried the 640x400@70hz mode? Does that do what you want? I'm still confused when you say you want 4:3 in one post but then you want to fill the screen in another post(1920x1200 is 8:5). If you are playing quake I would strongly recommend the 4:3 method with 768x400 or 1152x600, you can see why if you look straight up or down and spin the camera 😵