|
From: Eero T. <oa...@he...> - 2008-02-25 20:25:54
|
Hi,
On Monday 25 February 2008, Tony Smolar wrote:
> I recently got a widescreen LCD monitor, and I haven't been able to get
> hatari to behave the way I would like. I prefer to run hatari in
> fullscreen.
>
> First off, I have an NVIDIA card, and the NVIDIA drivers have the
> option to "preserve aspect ratio" so that most fullscreen programs that
> use non-widescreen resolutions display with black bars on the sides.
> This is the way I'd like it, but it seems that hatari in mono 640x400
> mode DOES stretch to the full screen and doesn't preserve aspect. Does
> this try to use a real 640x400 mode?
Yes. Hatari screen.c::Screen_SetResolution() does just:
sdlscrn = SDL_SetVideoMode(Width, Height, BitCount, sdlVideoFlags);
You would need to add code using this:
----------------------------
/*
* Return a pointer to an array of available screen dimensions for the
* given format and video flags, sorted largest to smallest. Returns
* NULL if there are no dimensions available for a particular format,
* or (SDL_Rect **)-1 if any dimension is okay for the given format.
*
* If 'format' is NULL, the mode list will be for the format given
* by SDL_GetVideoInfo()->vfmt
*/
extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format,
Uint3 2 flags);
------------------------------
> Maybe, since that mode isn't
> exactly. 4:3, the driver doesn't bother to preserve aspect?
>
> Also, in low-res color, the aspect is preserved, but the right border
> doesn't show up. What mode does this use?
What modes your screen supports?
> (also if I turn off
> borders, then it is stretched to the full screen)
>
> I am not sure what the best approach to solve these is, one possibility
> is a command line option to tell hatari that you have a widescreen
> monitor, then hatari could request a widescreen mode, and center the
> display itself (but could it do this without a huge amount of
> reprogramming?) Another option is to have the option to request
> standard modes like 640x480 instead of 640x400, and let the driver deal
> with the aspect. Again, I don't know if hatari can do this easily.
I think most of the mono applications should work if you give Hatari
suitable VDI resolution with the --vdi-width and --vdi-height options.
Even many of the games work if you keep the display width at 640.
> But widescreen monitors are apparently the future. They make very few
> 4:3 monitors anymore, and some of us can't stand to look at stretched
> images :) And I'm not sure if every graphics driver has the
> 'preserve aspect ratio' option that NVIDIA has. So hopefully hatari
> can have an option to adjust to this.
- Eero
|