joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.81k stars 383 forks source link

Game "screen" doesn't fit #330

Closed WarlockSVG closed 6 years ago

WarlockSVG commented 7 years ago

Game "screen" doesn't fit lollypop night shift

. Something is wrong with the height. DosBox 0.74 does it correct with same settings minor the dosbox-x exclusive ones. If I set doublescan to true then dosbox-x does it correct but the scaler is not applyed and the render resolution / effect is not what I want.

Effected games so far

[sdl] fullscreen=false fulldouble=false fullresolution=original windowresolution=original output=surface overscan=0 ( dosbox-x only )

[dosbox] machine=svga_s3

[render] aspect=true ( dosbox-x only ) autofit=true ( dosbox-x only ) char9=false ( dosbox-x only ) doublescan=false ( dosbox-x only ) scaler=normal3x

joncampbell123 commented 7 years ago

I don't do a whole lot of testing with scalers at this point. I've been focused on emulation. But it sounds like something to play with. Try other output= settings.

WarlockSVG commented 6 years ago

I tried al possible output setting, nothings helps.

If you put this problem on your ToDo list then I can wait until you get to it... no need to jump to it straight away ;-)

Just bumped on another one with same problem "jazz jackrabbit (1994)(epic megagames inc)" I'm switching from DosBox To DobDox-x so ill probably will find more, so ill put here a list later so you have more "playground" to investigate when you get to it ;-)

joncampbell123 commented 6 years ago

Jazz Jackrabbit is working fine here, no rendering issues. Very smooth scrolling as well.

joncampbell123 commented 6 years ago

I'm not sure what's broken on the Win32 builds but I'm not having issues here on Linux.

joncampbell123 commented 6 years ago

I just released another Windows binary. As far as I can tell, all outputs should work properly except that OpenGL output seems to apply aspect ratio twice.

WarlockSVG commented 6 years ago

Problem is still there. Looks like OpenGL has a new problem now, like you mentioned. Tried all output modes

[sdl] fulldouble=true fullresolution=1920x1080 fullscreen=false windowresolution=960x720 output=ddraw

output=direct3d

output=opengl

output=openglhq

output=openglnb

output=overlay

output=surface

overscan=0

[render] aspect=true autofit=true doublescan=false scaler=normal4x

scaler=none

WarlockSVG commented 6 years ago

All these games a have problem

crystal caves 1 (1991) (apogee software ltd) crystal caves 2 (1991) (apogee software ltd) crystal caves 3 (1991) (apogee software ltd) god of thunder (1993) (software creations ltd) jazz jackrabbit cd (1994) (epic megagames, inc.) 2.0 full jazz jackrabbit special xmas edition (1994) (epic megagames, inc.) 2.0 full jurassic park (1993) (ocean) (rev) lollypop (1994) (softgold) pinball dreams 2 (1995) (21st century entertainment) psycho pinball (1995) (codemasters) [table to small] pushover (1992) (ocean) [ starts fine... problem starts when going back to the main menu ] sleepwalker (1993) (ocean) [part of the bottom not visible] the blues brothers jukebox adventures (1993) (titus interactive) [starts fine... problem starts when playing.] the humans (1992) (gametek) the humans 2 the jurassic levels (1994) (gametek) the humans 3 evolution lost in time (1994) (gametek)

night shift (1990) (lucas arts) [no longer working... black screen] the lost vikings (1993) (interplay entertainment corp.) [different problem.]

( all work fine on dosbox 0.74 )

joncampbell123 commented 6 years ago

Crystal Caves 1 - No problem that I can see. What was the problem? Crystal Caves 2 - No sound? Crystal Caves 3 - No problem that I can see. god of thunder - Runs fine as far as I can tell.

These are games that show up cut off and stretched on your system?

joncampbell123 commented 6 years ago

However when using your dosbox.conf, anything VGA that uses 320x200 mode seems to trigger the issue you describe. Though not always, it's intermittent. Notice this screenshot that only the top half is shown. This is the default surface output.

tophalfwarlock

joncampbell123 commented 6 years ago

Commenting out doublescan=false seems to resolve it, though then the window does not obey your size specifications while it does keep the aspect ratio.

EDIT: All signs point to a problem with doublescan=false, so far.

WarlockSVG commented 6 years ago

Here are some screen shots from Crystal Caves 1, Crystal Caves 2, Crystal Caves 3 and God of Thunders. DosBox vs DosBox-X. They show stretched... and are cut off as a result of the stretching.

I also mentioned the doublescan problem in my first post.

If I set doublescan to true then dosbox-x does it correct but the scaler is not applyed and the render resolution / effect is not what I want.

Crystal Caves 1 sshot-100 sshot-101

Crystal Caves 2 sshot-102 sshot-103

Crystal Caves 3 sshot-104 sshot-105

God of Thunder sshot-106 sshot-107

joncampbell123 commented 6 years ago

So then yes, this implicates doublescan=false as I described.

joncampbell123 commented 6 years ago

Okay, so with God of Thunder the title screen triggers the bug by setting up Mode X 320x400. It seems to be something about not updating the display/scalar state when doublescan=false and number of times the scanline repeats.

joncampbell123 commented 6 years ago

@WarlockSVG Do you have the ability to compile from source? I believe I just fixed it in the latest commit.

https://github.com/joncampbell123/dosbox-x/commit/9c806fdcdb200b19fc98e423285fb06550a5dcf5

WarlockSVG commented 6 years ago

NO I don't :-(

If there is a tool to do so with some kind of explanation how to do so I would not mind.

joncampbell123 commented 6 years ago

For Windows builds you can get Visual Studio 2017 Community Edition for free.

I'll compile some binaries soon.

joncampbell123 commented 6 years ago

I just posted the latest binary to the Releases section.

joncampbell123 commented 6 years ago

This issue has been completely fixed as far as I understand and overscan=false now works with all scalers.

WarlockSVG commented 6 years ago

I asume you mean doublescan=false and not overscan=false

EDIT doublescan=true

joncampbell123 commented 6 years ago

Yes

WarlockSVG commented 6 years ago

doublescan=true scaler=normal4x

or

doublescan=true scaler=normal2x

Renders the same resolution. When doublescan=false the render resolution is different. Is this of the doublescan concept... or not?

joncampbell123 commented 6 years ago

The concept of doublescan is to render all scanlines that a normal VGA display output would do. That means that if the mode doubles the scanlines, then the video is rendered at the doubled output. 640x480 16-color mode would be 640x480, while 320x200 would be rendered as 320x400. Just like real VGA hardware.

joncampbell123 commented 6 years ago

You can turn that off if you'd rather DOSBox-X not do that, as well as enable the use of the "complex" scalers that need the per-pixel video of the game to work.

WarlockSVG commented 6 years ago

I don't use doublescan... so it's normally set to false. I like that old pixel look for DosBox Games like in the old days, so I use normal3x normal4x or normal5x :-)

WarlockSVG commented 6 years ago

I found another kink in the cable :-) When I start DosBoX-X with fullscreen=true the mouse is not locked with most "output" modes, the "canvas" is not resized to full screen ( ...could be the output characteristics ) and in some cases part of the DosBox-X menubar is showing.

Mouse Not locked
- output=ddraw
- output=opengl
- output=openglnb
- output=overlay
- output=surface
"canvas" Resolution NOT resized to fullscreen
- output=overlay
- output=surface
Part of DosBox-X menubar visible
- output=opengl
- output=openglnb
- output=overlay
Not working DosBox-X closes.
- output=openglhq

Might be not supported by the GPU (tested on my ODUU x86 Ultra MiniPC)
https://goo.gl/XczTNs
This is from DosBox 0.74
- output=ddraw   Mouse locked.   "canvas" resized to fullscreen
- output=opengl   Mouse locked.   "canvas" resized to fullscreen
- output=openglnb   Mouse locked.  "canvas" resized to fullscreen
- output=overlay   Mouse locked.  "canvas" resized to fullscreen
- output=surface   Mouse locked.  "canvas" NOT resized to fullscreen

"canvas" resized to fullscreen sshot-4

"canvas" NOT resized to fullscreen sshot-5

Part of DosBox-X menubar visible sshot-6

WarlockSVG commented 6 years ago

BTW Happy X-Mas :-)

And not need to hurry.

joncampbell123 commented 6 years ago

The "surface" output driver doesn't scale, nothing new there.