Pinball Fantasies no-scroll patch for dosbox 0.65

Here you can discuss the development of patches.

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Dominus » 2013-12-26 @ 22:07

Moving to the patches subforum
User avatar
Dominus
DOSBox Moderator
 
Posts: 7596
Joined: 2002-10-03 @ 09:54
Location: Vienna or Ludwigsburg

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby halfgaar » 2013-12-31 @ 20:15

Is that patch for Fantasies or Psycho? Just last month, I hacked Dosbox 0.74 to disable doublewidth for Psycho, because everything was too wide (the ball was oval). The patch will mess up everything but Psycho, so if you have a proper patch, that would be welcome :)
User avatar
halfgaar
Newbie
 
Posts: 87
Joined: 2005-6-29 @ 15:03
Location: The Netherlands


Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby halfgaar » 2014-1-01 @ 17:56

Aspect correction seems to be for correcting 4:3 games on a modern wide screen monitor. I actually still have a 4:3 CRT, and Pyscho is not meant to be screen filling. It's meant to have black bars on the sides.
User avatar
halfgaar
Newbie
 
Posts: 87
Joined: 2005-6-29 @ 15:03
Location: The Netherlands

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby collector » 2014-1-01 @ 20:05

No, aspect correction is to compensate for the differences in pixel shapes between period monitors and modern ones. It is not intended to change for wide screen. http://en.wikipedia.org/wiki/Pixel_aspect_ratio
User avatar
collector
l33t
 
Posts: 4180
Joined: 2003-1-15 @ 10:39

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby halfgaar » 2014-1-01 @ 21:15

I'm unable to try right now, but doesn't Psycho use ordinary square pixels? It's a VGA game, and VGA monitors had square pixels.

But, I will try as soon as I'm able to.
User avatar
halfgaar
Newbie
 
Posts: 87
Joined: 2005-6-29 @ 15:03
Location: The Netherlands

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby collector » 2014-1-01 @ 22:02

You are confusing yourself. Think about it, the resolution of the VGA era games was 320x200. To have the same overall ratio on a modern monitor requires a multiple of 320x240. Without aspect correction all of the games of that era look too short for the width on a modern monitor.
User avatar
collector
l33t
 
Posts: 4180
Joined: 2003-1-15 @ 10:39

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby halfgaar » 2014-1-01 @ 23:10

That's what I'm saying; my monitor does run on a multiple of that, namely 1440x1080
User avatar
halfgaar
Newbie
 
Posts: 87
Joined: 2005-6-29 @ 15:03
Location: The Netherlands

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Dominus » 2014-1-02 @ 00:58

Huh? Either it is too late and I can't think straight or I really can't see how 1440x1080 is the multiple of 320x240...

And I don't think a 4.5 times is what was in collectors mind...
User avatar
Dominus
DOSBox Moderator
 
Posts: 7596
Joined: 2002-10-03 @ 09:54
Location: Vienna or Ludwigsburg

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby jwt27 » 2014-1-02 @ 01:28

You got a 4:3 CRT, right? Why not use 320x200 in fullscreen without any software scaling?
WANTED - Manuals/drivers for:
  • Tecmar Graphics Master
  • Paradise Autoswitch EGA 350 (EGA1A)
User avatar
jwt27
Oldbie
 
Posts: 1628
Joined: 2011-8-15 @ 02:19
Location: Fryslân

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby halfgaar » 2014-1-02 @ 01:44

Sorry, it's not a multiple, but it is 4:3. Should have been clearer.

But anyway, I can't run 320x240, as far as I recall. I don't think X goes that low.

But, I will be able to provide a definite answer later :)
User avatar
halfgaar
Newbie
 
Posts: 87
Joined: 2005-6-29 @ 15:03
Location: The Netherlands

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Wild-E » 2014-1-02 @ 16:35

Hi again,

There seems to be some confusion about aspect ratios and my patch. Well I will try to clear things up =).

First, my patch works (at least AFAICT). I've tried it on pinball fantasies and pinball dreams (haven't had time to play around with it more yet). It really depends on the values you put on the config file (the defaults work for pinball fantasies, but nothing else will work, unless it happened to use the same resolutions).

To get it working the way you neet, you need to look for values earlier in this thread. That being said, I never got it working in Psycho Pinball (even back on dosbox-0.6[45]) - the hack just wouldn't trigger, no matter what I put in the source code. The values posted before for Psycho Pinball were a range:

Miki Maus wrote: } else if(height <= 367 && height > 354) { // Psycho Pinball
height = 819;
hackit = true;


Even if Psycho Pinball would work, my current patch does not support a range (of resolution) to trigger at, because I think it would make it unecessarily complicated to configure. It would be trivial to implement, though, and I could do it if it really does work for Psycho Pinball (or some other game).

As for resolutions: Yes, all CRT (S)VGA monitors were 4:3 (well... in fact, I can't be sure, maybe there were some 16:9 or 16:10 CRT monitors for the windows98/NT/XP+ era?). But all resolutions were not (i.e. pixels were not square). This is a limitation of LCD (and other panel-based display) technology only, in CRTs, the pixel ratio can be almost arbitary, or something the monitor can sync into - the way the picture is formed, does not limit it. I believe this table should clear things up a bit: <http://en.wikipedia.org/wiki/List_of_common_resolutions>

But, as I recall it - Psycho Pinball (in high resolution mode) looked weird even on a real 4:3 VGA CRT. Probably, because the resolution was weird - and, although, my monitor I was using could sync into it, it could not stretch it properly (even with adjusting the monitor). We can only assume, that the games were designed to run on a 4:3 monitor filling it completely (with the resolution not necessarily having square pixels). I believe, this is what aspect=true should accomplish. But, scaling non-square pixels on a device with square pixels looks very ugly (unless your resolution is many times larger than the original and / or some blur applied).

For me, these two configs work best for pinball fantasies:

Code: Select all
### For pinball fantasies, food configs I'be found (with the hack):
### 1)
# fullresolution = manually set to your native resolution
# output=overlay
# doublewidth=true
# aspect=true
### 2)
# fullresolution=original
# output=overlay
# doublewidth=true
# aspect=false


The first one scales to full screen, but looks a bit ugly - since some pixels are scaled more than others. But, will have the correct aspect ratio AFAICT. The latter one looks more even (i.e.uniform pixels), but is slightly stretched horizontally. Setting "doublewidth=false" will make it slightly squashed in (with uniform pixels).

That being said, this patch is really a hack, and it could mess up the dosbox's internal realisation of what the aspect ratio should have originally been, or not (I really don't understand what the code is doing that well). Also, I could have messed something up. Someone with more programmin abilities should review this ;-)

Also, if I set machine=vga, the patch does not work for me (I get double images on top of each other, that are scrolling).
Wild-E
Newbie
 
Posts: 14
Joined: 2005-12-17 @ 16:20

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Carlo » 2014-1-08 @ 05:30

How do you apply the patch to .74
Carlo
Newbie
 
Posts: 3
Joined: 2014-1-08 @ 05:11

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Wild-E » 2014-1-11 @ 15:29

Hi carlo,

One nees to apply the patch to the source of dosbox-0.74 and recompile it. That is a little bit over the capabilites of the regular user, I believe. If you don't know how to compile yourself (and don't want to learn), you need to find someone who's willing to compile it and distribute the executable. I don't use windows at all (assuming you do), so I can't help you there.

In Linux, compiling is a lot easier since the toolkit is already there in most distributions.

Also, I've updated the patch a bit again (well, trivial changes really). It works in Psycho Pinball, too, with the right values. Stay tuned!
Wild-E
Newbie
 
Posts: 14
Joined: 2005-12-17 @ 16:20

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby Wild-E » 2014-1-11 @ 19:48

Hi!

I've updated the patch a bit. It does really work quite well for me, with some issues.

Remember: This patch makes the gamess do something they were not supposed to. It may cause glitches in some games. Also, I'm not sure the no-scroll always improves gameplay, as the graphics will get quite small (depends on your monitor).

Changes:

  • you can now define a range to trigger the hack at (for Psycho Pinball)
  • There's a workaround for messed up intro graphics for Pinball Dreams (1/2)
  • Now the settings are in their own config section (also some keywords have changed)
  • You can optionally also define the width to expand to, in addition to the widht to check (probably not very useful)
  • Doublewidth can be forced on or off, or left for DOSBox to decide
  • The hack gives some output to stdout (terminal) to give you an idea if it is working or not.

Known Issues:

  • You may need to manually define an output resolution for the hack to work correctly most of the time.
  • machine=vgaonly still does not work with this hack (don't know why)
  • Psycho Pinball has messed up graphics when tilting (left or right)
  • No game I tried has an the jerking up-down animation for tilting with this patch
  • Sometimes, with the pinball dreams -enabled hack, the hack triggers at the menu but no at the table. Exit the table and re-try (it should work).


About resolutions: Here's some information I've gathered (from this thread and elsewhere):

Game - Original resolution - Talbe height

  • Psycho Pinball lowres - 320 x 227-240 - 819
  • Psycho_highres - 320 x 355-368 - 819
  • Pinball Fantasies high - 320 x 350 - 608
  • Pinball Fantasies low - 320 x 240 - 608
  • Pinball Dreams 1&2 - 320 x 240 - 534
  • Pinball Illusions - 336 x 350 - 672

As you can see, a lot of the resolutions are not 4:3. If they used to fill the whole screen, they did not have square pixels. If they did not, but used some kind of VGA timing method to create black bars at left and right, they might have had square pixels. I'm not sure what the games did originally (and have no hardware to test), but according to my tests with dosbox - if dosbox is right - it was something in between (neither did they fill the whole screen, but they didin't have exactly square pixels either). Using aspect correction and letting dosbox decide the doublewidth setting, gives the best results (i.e. most correct) 99% of the time.

However, DOSBox usually does the aspect ratio correction after deciding the doublewidth for the resolution, and then upscaling the height. That causes really large windows / output surface. For example, output=surface and fullresolution=original causes a crash most of the time (I believe because the resolution is too large).

Scaling is a wholly another issue. Sometimes, especially if you have somewhat low resolution monitor, it might look nicer to have the wrong aspect ratio, but square pixels (or if you disagree with me what the game should have looked like). But via the config file one can experiment without the need to recompile an executable every time to try different settings ;-).

Recommendations:

I recommend setting fullresolution to your monitors native resolution, and windowresolution to anything that has the same height (or larger, preferably a multiplier if you have enough resolution) as the height you will be expanding the games resolution to, if DOSBox creates too large windows at windowresolution=native. It's quite weird, but for example, for Psycho Pinball I get an aspect-ratio corrected window with a height of 1638 if windowresoltuon=original, but if I set windowresolution=1024x819, the menus will be in 1024 x 765(!), but the gameplay window will still be resized to the correct aspect ratio @ 398 x 819 (according to xwininfo). So, DOSBox still reisizes the window sometimes, I'm not quite sure of the logic but it looks nice.

For those games that did have square pixels (Pinball Dreams for example), you may want to try output=surface. For others, aspect ratio correction looks really bad with that output method (since it only provides some rudimentary scaling support), but if you use aspect=false, you might get nice results (with wrong aspect ratio though).

Here's the default config file section (dosbox should create the config file it if started without one):

Code: Select all
[pinhack]
#              pinhack: Boolean: Enable pinball hacks to display whole table at once. Not enabled per default.
#  pinhacktriggerwidth: The X resolution (width) the pinball hack should trigger at. It is not checked by default or if set to 0. Can be a range.
# pinhacktriggerheight: The Y resolution (height) the pinball hack should trigger at. Default is 350 (good for Pinball Fantasies). Can be a range.
#   pinhackexpandwidth: The X resolution (width) DOSBox will expand to if pinball hack is enabled and triggers.
#                       Not very useful probably, but provided here in case someone finds a game where it is useful!
#  pinhackexpandheight: The Y resolution (height) DOSBox will expand to if pinball hack is enabled and triggers.
#            pinhackpd: Boolean: Enable pinball dreams to work correctly during intros. Default:false
#                       
#        pinhackpsycho: Boolean: Psycho Pinball tilt craphics are messed up if hack enabled. TODO, this is a placeholder and has no function currently.
#   pinhackdoublewidth: Used to enable forcing (or disabling) doublewidth with pinhack. The original patch disabled it,
#                       but you may find it better enabled, or left to decide by dosbox and use aspect ratio correction insread.
#                       normal=do not touch the setting, let DOSBox decide. yes=doublewidth. no=no doublewidth

pinhack=false
pinhacktriggerwidth=0
pinhacktriggerheight=350
pinhackexpandwidth=0
pinhackexpandheight=608
pinhackpd=false
pinhackpsycho=false
pinhackdoublewidth=normal


Elsewhere in the config, I recommend:
Code: Select all
[sdl]
# output=overlay or opengl, or openglnb seem to work well, but opengl is slow on my computer
output=overlay
# but for those games with exactly square pixels, you may want to tray output=surface - especially PD games look great this way on a 1080p monitor with 2x scaling!
# output=surface
# test what will work for you. original / any 4:3 resoltuon that will fit / any resolution with the height you are scaling to may work well
windowresolution=original
fullresolution=[your monitors native resolution]
[render]
aspect=true
# Or, if you set aspect=false, you may test the results of pinhackdouble option above, and see which one of the distorted options look better for you
You do not have the required permissions to view the files attached to this post.
Wild-E
Newbie
 
Posts: 14
Joined: 2005-12-17 @ 16:20

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby steveolson1 » 2014-8-15 @ 06:58

Can anyone please post the patched DOSbox Windows EXE for this?
User avatar
steveolson1
Newbie
 
Posts: 4
Joined: 2007-9-16 @ 05:04

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby David_OSU » 2014-9-15 @ 14:55

steveolson1 wrote:Can anyone please post the patched DOSbox Windows EXE for this?


I second the motion. Can someone please post the Windows EXE for this?

I don't have the minGW environment installed, so this would save me a ton of time just trying to get to the point of being able to compile dosbox (let alone apply this patch).

EDIT: after spending several hours downloading mingw, msys, dosbox source, sdl source, etc., I still can't get dosbox to compile on my system. The instructions at http://www.dosbox.com/wiki/BuildingDOSBox are just not enough. I can't seem to get mingw to see the SDL source/dll.
David_OSU
Newbie
 
Posts: 28
Joined: 2014-9-15 @ 14:48

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby David_OSU » 2014-10-10 @ 18:26

It appears that this patch (or something similar) may be included in the latest Pinball Gold release from GOG. The DOSbox version shipped with Pinball Gold is an SVN release, and it will render Pinball Fantasies in high resolution with almost no vertical scrolling. However, it doesn't change pinball dreams or illusions at all.
David_OSU
Newbie
 
Posts: 28
Joined: 2014-9-15 @ 14:48

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby PhilsComputerLab » 2014-10-10 @ 23:14

It also addresses the CD Audio volume. The game manipulates the CD Audio volume to mix between Sound Card and CD Audio. In the normal DOSBox this doesn't work.
User avatar
PhilsComputerLab
Hardware Mod
 
Posts: 6179
Joined: 2014-9-28 @ 03:33
Location: Western Australia

Re: Pinball Fantasies no-scroll patch for dosbox 0.65

Postby ripsaw8080 » 2014-10-11 @ 01:27

philscomputerlab wrote:It also addresses the CD Audio volume. The game manipulates the CD Audio volume to mix between Sound Card and CD Audio. In the normal DOSBox this doesn't work.

It doesn't work in 0.74, if that's what you mean by "normal DOSBox", but it does work in SVN.
User avatar
ripsaw8080
DOSBox Author
 
Posts: 4198
Joined: 2006-4-25 @ 23:24

PreviousNext

Return to DOSBox Patches

Who is online

Users browsing this forum: No registered users and 2 guests