amadama wrote:you don't want to do 640x240 because it won't look good with all the cores.
Ideally you want the horizontal resolution as high as possible so it is easier to divide the horizontal resolution of the different cores (some are 320 px, some 256, some 288, etc..)
CRT monitors can handle the high horizontal resolutions just fine and you are going through the scaler so can choose one of the nearest neighbor scalers for really crisp display without horizontal shimmering when scrolling.
(edit, I suppose you can do a custom mode optimal for each core. Try to keep the horizontal resolution an integer scale of the core)
The best way to handle this is to have Aspect Ratios work different than they do in MiSTer now.
Right now, you set your output resolution, say 640x240, and MiSTer assumes that the pixels are squares. So when you run a mister core it will take the 240p height, multiply by 4/3 and get a value of 320. So mister will scale whatever the input is, like 256x240, to 320x240 and then that 320x240 output will be in the center of the 640x240 screen.
The result is that your game will be 320 pixels wide and be squished horizontally in the 640x240 image.
Also, the 256 to 320 scaling would look very bad.
The better way to do this is to have a "Display Aspect Ratio" that you set to 16x9, 16x10, 4x3, or 5x4. Then you use that to calculate the correct number of pixels for the width. So for example:
-----Made up Example 1 with a 16x9 display running at 3840x1080-----
If Display Aspect (DAR) = 16/9, Core Aspect (AR) = 4/3, Video Aspect Ratio (VAR) = 3840/1080 then you would do the following calculation:
Height = 1080
Width = (AR)*(VAR)/(DAR)*(Height) = (4/3) * (3840/1080) / (16/9) * 1080 = 2880
So the final resolution is 2880x1080
----------------------------------
-----How you would use it for analog output with SNES core at 2048x240 output res-----
Display Aspect (DAR) = 4/3
Core Aspect (AR) = 64/49 <---- It's not 4/3 anymore because kitrinx fixed it. The osd option says 4:3 but internally it is 64x49
Video Aspect Ratio (VAR) = 2048/240 <----That's your video mode resolution: 2048x240
So then
Height = 240
Width = (AR)*(VAR)/(DAR)*(Height) = (64/49) * (2048/240) / (4/3) * 240 = 2006
Final scaled dimension will be a 2006x240 image in the center of the 2048x240 resolution output.
-----------------------------------
In order to do this, the mister ini would just need a new Display_Aspect variable that you set to your displays physical aspect ratio. Then no matter what resolution you pick for analog out using the scaler, your aspect ratio on screen would be correct. And if you set vscale_mode=1 and use a sharp filter you output would be perfect.
But as of right now, this is not how mister's aspect ratio settings work.