MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Community created YouTube tutorials, interviews and helpful online information guides.
User avatar
meauxdal
Posts: 125
Joined: Mon Nov 23, 2020 3:28 am
Location: atlanta
Has thanked: 32 times
Been thanked: 75 times
Contact:

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by meauxdal »

Thanks for all the great work on the Amiga stuff! I will give it a go soon and see if I can get them working.

Just added ratios for the new 1080p 5x crop builds to the repository. I'm very also excited by Yim's work on automatic horizontal integer scaling in the SMS core, which should be relevant to most people following this thread :)
User avatar
LamerDeluxe
Top Contributor
Posts: 1160
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 798 times
Been thanked: 257 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by LamerDeluxe »

I love what Yim has achieved and all the work you and others have been putting into aspect ratio options. I hope this will lead to a separate option in mister.ini for integer horizontal scaling. An option to set the integer scaling multiplier(s) yourself, with possible cropping, would also be cool.

It could be hscale_mode and vscale_mode, 0 = full, 1 = integer, 2 = 1x, 3 = 2x, 4 = 3x. Not the most intuitive, but to be backwards compatible. Assuming nobody is using those half and quarter modes, which IMO aren't really useful.
I don't know if you'd want different scale factors for horizontal and vertical, otherwise it could just be something like scale_multiplier = 1, 2, 3, 4 etc.
Yim
Posts: 125
Joined: Mon Jan 18, 2021 11:51 pm
Has thanked: 3 times
Been thanked: 87 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by Yim »

I went with an option in the OSD partly because I knew how to make one already and partly because for testing it was better to be able to turn it on and off and switch between narrow and wide on the fly rather than having to edit mister.ini and reboot every time. If the option were changed to be in the the ini file then I think it would be possible to distribute it to every core just by updating the framework, but I think my preference is still to have it in the OSD. It’s only a few lines to code per core to add an OSD menu option.

I thought about having choices for how much to multiply by, but it makes things more complicated. It would also lead to fluctuating aspect ratios in cores where the resolution changes - if the system goes from 320x240 to 640x480 (just a random example), then under my current implementation the scaler would just scale by half as much and the image would remain the same size (unless it had been upscaled by an odd multiple, in which case it would shrink slightly). If the setting were for 4x multiple then it would go from 1280 wide at 320x240 up to 2560 wide at 640x480. Not an issue on SMS where I’ve done it so far, but my goal is to have this distributed to all cores.

If there were to be an option to choose the upscaling multiple I’d definitely want there to be separate options for horizontal and vertical, otherwise the aspect ratio would be fixed at the core’s resolution which would often be incorrect.
MJY71
Posts: 5
Joined: Sun May 24, 2020 7:05 pm
Has thanked: 5 times
Been thanked: 2 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by MJY71 »

Not too long ago I submitted a feature request to ask Jotego to add custom aspect ratio support to his cores. He has recently made the changes to his framework, and all cores compiled from now on should include that option.
User avatar
LamerDeluxe
Top Contributor
Posts: 1160
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 798 times
Been thanked: 257 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by LamerDeluxe »

Yim wrote: Thu Feb 11, 2021 12:10 am I went with an option in the OSD partly because I knew how to make one already and partly because for testing it was better to be able to turn it on and off and switch between narrow and wide on the fly rather than having to edit mister.ini and reboot every time. If the option were changed to be in the the ini file then I think it would be possible to distribute it to every core just by updating the framework, but I think my preference is still to have it in the OSD. It’s only a few lines to code per core to add an OSD menu option.

I thought about having choices for how much to multiply by, but it makes things more complicated. It would also lead to fluctuating aspect ratios in cores where the resolution changes - if the system goes from 320x240 to 640x480 (just a random example), then under my current implementation the scaler would just scale by half as much and the image would remain the same size (unless it had been upscaled by an odd multiple, in which case it would shrink slightly). If the setting were for 4x multiple then it would go from 1280 wide at 320x240 up to 2560 wide at 640x480. Not an issue on SMS where I’ve done it so far, but my goal is to have this distributed to all cores.

If there were to be an option to choose the upscaling multiple I’d definitely want there to be separate options for horizontal and vertical, otherwise the aspect ratio would be fixed at the core’s resolution which would often be incorrect.
Good point! Dynamic changes in resolution always makes these things more complicated. I just though of the multiplier mostly because I have seen it with emulators and apparently some people like one to one pixel displays, even if the result is tiny.
User avatar
meauxdal
Posts: 125
Joined: Mon Nov 23, 2020 3:28 am
Location: atlanta
Has thanked: 32 times
Been thanked: 75 times
Contact:

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by meauxdal »

I just got a request on the GitHub to support 1920x1120 custom modes. The ratios should already be available for the most part as many of the 1080p and 1200p ratios are already working at 1120p, but it's difficult to know at a glance with the current comment setup whether or not a ratio will work without trying it or mathing out the scaled resolution (the data to do so is there at least). I wonder if a custom resolution could be added to morf77's web calculator for this purpose...
User avatar
morf77
Posts: 63
Joined: Fri Aug 28, 2020 1:42 pm
Has thanked: 12 times
Been thanked: 24 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by morf77 »

Custom vertical resolutions should now be available in the calculator. Output format has been changed so it can be copy pasted in the ini file.
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

OK so ive tried atrac17's new CPS modelines (https://www.patreon.com/posts/47454155)

And surprisingly they work on my Samsung 4K TV but are these modelines not supposed to fill the height of the display?, as atm im getting a display that has borders and not filling the height of the screen?
pbsk8
Posts: 257
Joined: Mon Dec 28, 2020 4:23 pm
Has thanked: 67 times
Been thanked: 32 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by pbsk8 »

BlockABoots wrote: Sat Feb 13, 2021 4:50 pm OK so ive tried atrac17's new CPS modelines (https://www.patreon.com/posts/47454155)

And surprisingly they work on my Samsung 4K TV but are these modelines not supposed to fill the height of the display?, as atm im getting a display that has borders and not filling the height of the screen?
is there a script to download and enable them via OSD menu?

Or do we have to copy paste the ini files in some folder?
MJY71
Posts: 5
Joined: Sun May 24, 2020 7:05 pm
Has thanked: 5 times
Been thanked: 2 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by MJY71 »

BlockABoots wrote: Sat Feb 13, 2021 4:50 pm OK so ive tried atrac17's new CPS modelines (https://www.patreon.com/posts/47454155)

And surprisingly they work on my Samsung 4K TV but are these modelines not supposed to fill the height of the display?, as atm im getting a display that has borders and not filling the height of the screen?
What I had to do on my LG B6 OLED was make sure the 'Aspect Ratio' setting on the TV itself was set to either 'Original' or '4:3', not '16:9'. Then they worked just fine, filling the screen vertically exactly as they should while allowing the Aspect Ratio setting in MiSTer to work properly... at least the 1120p modes did. I haven't tried the 1344p modes yet.
Milspex
Posts: 165
Joined: Wed Jun 10, 2020 6:46 pm
Has thanked: 38 times
Been thanked: 35 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by Milspex »

got a C7 and only got the 1920,128,200,328,1120,3,10,29,179599 mode to work..
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

MJY71 wrote: Sat Feb 13, 2021 10:12 pm
BlockABoots wrote: Sat Feb 13, 2021 4:50 pm OK so ive tried atrac17's new CPS modelines (https://www.patreon.com/posts/47454155)

And surprisingly they work on my Samsung 4K TV but are these modelines not supposed to fill the height of the display?, as atm im getting a display that has borders and not filling the height of the screen?
What I had to do on my LG B6 OLED was make sure the 'Aspect Ratio' setting on the TV itself was set to either 'Original' or '4:3', not '16:9'. Then they worked just fine, filling the screen vertically exactly as they should while allowing the Aspect Ratio setting in MiSTer to work properly... at least the 1120p modes did. I haven't tried the 1344p modes yet.
Hmmm that didn't seem to work for me, i selected 'Fit To Screen' on my Samsung display and whilst it did make the image a bit taller it still did not fill the height of my TV screen and left borders at the top and bottom.

I did notice this section of atrac17's patreon post.....

"If you use a fixed display or it isn't compatible you can replace the modeline provided in the attachments with these. Just use "replace all" in a text editor.

1920,128,200,328,1120,3,10,29,179599
2304,48,32,80,1344,3,10,25,204315
AR=48:35 (New Custom Aspect Ratio for 5x if replacing 1536x1120)
AR=10:7 (New Custom Aspect Ratio for 6x if replacing 1920x1344
)"

im a bit lost of what i actually have to alter in the 1120p CPS.ini file, lets take the Street Fighter 2 entry for an example....

[sf2jl] ; Street Fighter II: The World Warrior (Japan 920312)
video_mode=1536,48,32,80,1120,3,10,19,117228
vscale_mode=1
vsync_adjust=2
custom_aspect_ratio_1=33:28
custom_aspect_ratio_2=21:16

what do i actually need to change??, is it....

[sf2jl] ; Street Fighter II: The World Warrior (Japan 920312)
video_mode=1920,128,200,328,1120,3,10,29,179599 either/or 2304,48,32,80,1344,3,10,25,204315
vscale_mode=1
vsync_adjust=2
custom_aspect_ratio_1=48:35
custom_aspect_ratio_2=10:7

??
User avatar
atrac17
Core Developer
Posts: 161
Joined: Sun May 24, 2020 10:51 pm
Has thanked: 31 times
Been thanked: 379 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by atrac17 »

Just replace the value of the modeline. ctrl-f>replace all>1536,48,32,80,1120,3,10,19,117228 to 1920,128,200,328,1120,3,10,29,179599

You are changing the horizontal to a 16:9 resolution for compatibility. You are just replacing the horizontal of 1536 to 1920. You will still have an 1120p frame. Your display may not be compatible.
User avatar
meauxdal
Posts: 125
Joined: Mon Nov 23, 2020 3:28 am
Location: atlanta
Has thanked: 32 times
Been thanked: 75 times
Contact:

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by meauxdal »

I think I finally cracked the Amiga code...
turrican21.png
turrican21.png (55.6 KiB) Viewed 10833 times
cannon1.png
cannon1.png (31.93 KiB) Viewed 10838 times
mega1.png
mega1.png (28.42 KiB) Viewed 10838 times
beast31.png
beast31.png (35.12 KiB) Viewed 10838 times
I think my problem was related to the "Adjust screen position" option, which apparently saves adjustments made to a file, minimig_vadjust.dat. I renamed that file in both the shared Amiga and main config folders and now the ratios I had tried previously appear to be working properly. Only tested with Video area by: Blank thus far, but both PAL and NTSC seem to be working OK in low res video modes.

tl;dr Don't touch "adjust screen position" unless you know exactly what you are doing!
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

atrac17 wrote: Mon Feb 15, 2021 2:42 pmYou will still have an 1120p frame. Your display may not be compatible.
But i am getting an image on the screen just that it isnt fill the height of the TV screen and leaves borders at the top and bottom.
User avatar
atrac17
Core Developer
Posts: 161
Joined: Sun May 24, 2020 10:51 pm
Has thanked: 31 times
Been thanked: 379 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by atrac17 »

BlockABoots wrote: Mon Feb 15, 2021 8:43 pm
atrac17 wrote: Mon Feb 15, 2021 2:42 pmYou will still have an 1120p frame. Your display may not be compatible.
But i am getting an image on the screen just that it isnt fill the height of the TV screen and leaves borders at the top and bottom.
It's dependent upon the displays scaler. For instance Sony 4k televisions need the displays aspect ratio to be set to Wide Mode Full Screen 1. If not, the screen doesn't fill the bezel vertically at all. On an LG, you would need to set your displays aspect ration to Original for all aspect ratios listed in the MiSTer OSD/.ini to work. I don't own a Samsung nor do I know anyone with one to play around with the settings. Again, your display may not be compatible; when I say that it doesn't mean that it can't resolve the resolution.
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

atrac17 wrote: Tue Feb 16, 2021 5:49 am
BlockABoots wrote: Mon Feb 15, 2021 8:43 pm
atrac17 wrote: Mon Feb 15, 2021 2:42 pmYou will still have an 1120p frame. Your display may not be compatible.
But i am getting an image on the screen just that it isnt fill the height of the TV screen and leaves borders at the top and bottom.
It's dependent upon the displays scaler. For instance Sony 4k televisions need the displays aspect ratio to be set to Wide Mode Full Screen 1. If not, the screen doesn't fill the bezel vertically at all. On an LG, you would need to set your displays aspect ration to Original for all aspect ratios listed in the MiSTer OSD/.ini to work. I don't own a Samsung nor do I know anyone with one to play around with the settings. Again, your display may not be compatible; when I say that it doesn't mean that it can't resolve the resolution.
Yeah that maybe the case.

The TV does allow a Custom picture setting where i can increase and decrease the screen size vertically and horizontally so there is that option but im not sure weather that would mess up the scaling or not for scanlines etc
Milspex
Posts: 165
Joined: Wed Jun 10, 2020 6:46 pm
Has thanked: 38 times
Been thanked: 35 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by Milspex »

yes it will, don't touch the zoom options
User avatar
LamerDeluxe
Top Contributor
Posts: 1160
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 798 times
Been thanked: 257 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by LamerDeluxe »

I just came up with a really simple idea to get integer horizontal scaling, in combination with the correct aspect ratio, without using a custom aspect ratio. I can't believe I didn't think of this much earlier.

The idea is that you use the vertical border to shrink the display, until the horizontal scaling is an integer. You do have to know the aspect ratio being used (and of course it won't work with changing display modes).

Example using Scramble. What I've learned here is that most vertical arcade cores use an aspect ratio of either 7:8 or 3:4 (thinner). I found out that the Scramble core is using 3:4.

Source width of this core is 224, like many other vertical arcade cores.

We're going with 3x horizontal scale at 1080p destination resolution, otherwise it won't fit vertically
3 * 224 = 672
672 * 4 / 3 = 896 (this is your destination height, for the aspect ratio of 3:4)

1080 - 896 = 184, 184 / 2 = 92 (this is the border needed to shrink the destination image to 896 pixels, this will shrink the destination width to 672)

So these are the options you set for this core, to get integer horizontal scaling, just like how vertical integer scaling works:

video_mode=8 ; 1920 x 1080
vscale_mode=0 ; full vertical image size
vscale_border=92 ; shrink to 3x source width

That is all, no custom aspect ratio needed, you just use the original one in the core menu, this has been possible for a long time already.

Of course this works for other destination resolutions, just make sure that you pick a horizontal multiplier value that doesn't make the destination height taller than your destination resolution. You should even be able to use 1x horizontal scaling this way and get a really small image.

EDIT: Bonus: This works with Dodonpachi as well, which doesn't support custom aspect ratios yet. Perfectly clean vertical scanlines.
zakk4223
Posts: 270
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 107 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by zakk4223 »

Your post made me go look at the main mister video code to see if I could automate it (probably not?)

It did cause me to realize one thing: the vscale setting applies to the _pre rotated_ resolution. So in the example of scramble if you have it rotated to play on a 'normal' monitor and set vscale_mode=1 it uses 224 to calculate the fit instead of 256. (Look around line 1538 of video.cpp)

I don't think it matters when using vscale_mode=1, because the dimensions for most vertical games are close enough that you'd never get to the next integer step, but it actually matters when using vscale_mode=3. For example with Dodonpachi it calculates a vertical height of 1080 (1080/240 = 4.5) when it should be 1040 (1040/320 = 3.25)

I'm trying to figure out if there's a way to query the core for the vertical/horizontal orientation, but I'm not seeing anything so far.
User avatar
LamerDeluxe
Top Contributor
Posts: 1160
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 798 times
Been thanked: 257 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by LamerDeluxe »

zakk4223 wrote: Fri Feb 19, 2021 12:24 am Your post made me go look at the main mister video code to see if I could automate it (probably not?)

It did cause me to realize one thing: the vscale setting applies to the _pre rotated_ resolution. So in the example of scramble if you have it rotated to play on a 'normal' monitor and set vscale_mode=1 it uses 224 to calculate the fit instead of 256. (Look around line 1538 of video.cpp)

I don't think it matters when using vscale_mode=1, because the dimensions for most vertical games are close enough that you'd never get to the next integer step, but it actually matters when using vscale_mode=3. For example with Dodonpachi it calculates a vertical height of 1080 (1080/240 = 4.5) when it should be 1040 (1040/320 = 3.25)

I'm trying to figure out if there's a way to query the core for the vertical/horizontal orientation, but I'm not seeing anything so far.
Interesting how it gets that scale factor wrong. I never use the higher vscale modes, because they look terrible with scan lines. So when you rotate the display, integer vertical scaling will apply to the horizontal direction of the source image, good to know.

I was also thinking about if this could be automated, you'd have to update the vertical border size with every display mode change. I suppose the cores have the target aspect ratio defined somewhere.

Also, if negative borders would work, you could even do integer scaling with some cropping. The Space Invaders core seems to handle the borders incorrectly, looks like it handles them the wrong way around. You get severe glitching and I even had to cold reboot the MiSTer.
ash2fpga
Posts: 237
Joined: Tue May 26, 2020 6:20 pm
Has thanked: 62 times
Been thanked: 28 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by ash2fpga »

LamerDeluxe wrote: Fri Feb 19, 2021 9:13 am Also, if negative borders would work, you could even do integer scaling with some cropping. The Space Invaders core seems to handle the borders incorrectly, looks like it handles them the wrong way around. You get severe glitching and I even had to cold reboot the MiSTer.
I wanted to try negative borders (if it had been available) for cropping to get integer scaling back when cps1 landed. I (eventually) posted what I was trying to accomplish here: https://misterfpga.org/viewtopic.php?p=12702#p12702
User avatar
LamerDeluxe
Top Contributor
Posts: 1160
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 798 times
Been thanked: 257 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by LamerDeluxe »

ash2fpga wrote: Fri Feb 19, 2021 3:26 pm
LamerDeluxe wrote: Fri Feb 19, 2021 9:13 am Also, if negative borders would work, you could even do integer scaling with some cropping. The Space Invaders core seems to handle the borders incorrectly, looks like it handles them the wrong way around. You get severe glitching and I even had to cold reboot the MiSTer.
I wanted to try negative borders (if it had been available) for cropping to get integer scaling back when cps1 landed. I (eventually) posted what I was trying to accomplish here: https://misterfpga.org/viewtopic.php?p=12702#p12702
I have actually tried a negative border, just to see what would happen. It just wrapped around to being a very large border. I wonder how hard it would be for a core to support negative cropping.
User avatar
meauxdal
Posts: 125
Joined: Mon Nov 23, 2020 3:28 am
Location: atlanta
Has thanked: 32 times
Been thanked: 75 times
Contact:

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by meauxdal »

I'm very excited about the experimental automatic integer scaling Genesis core sorgelig posted on his Patreon. I'm very hopeful this feature can be ported to most or all of the major cores eventually. I'll still maintain the repository if this happens, but I'll be very happy for it to no longer be necessary in the vast majority of cases!!!
H6rdc0re
Posts: 52
Joined: Sat Feb 06, 2021 11:35 pm
Has thanked: 1 time
Been thanked: 9 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by H6rdc0re »

While it’s not the exact 4.3 aspect ratio in some cases it will be exact 4.3 in others. I think the best results can be held with the following integer scaling settings. No shimmering and 100% sharp.

For 320x240p and 320x 224p content.
1920x1440p and 1920x1344p: 6x horizontal and 6x vertical scaling.
1600x1200p and 1600x1120p:5x horizontal and 5x vertical scaling.
1280x960p and 1280x896p: 4x horizontal and 4x vertical scaling.

For 256x240p and 256x224p content.
1792x1440p and 1792x1344p: 7x horizontal and 6x vertical scaling.
1536x1200p and 1536x1120p: 6x horizontal and 5x vertical scaling.
1280x960p and 1280x896p: 5x horizontal and 4x vertical scaling.

For 256x192p content.
1792x1344p: 7x horizontal and 7x vertical scaling.
1536x1152p: 6x horizontal and 6x vertical scaling.
1280x960p: 5x horizontal and 5x vertical scaling.

For 384x240p and 384x224p content.
1920x1440p and 1920x1344p: 5x horizontal and 6x vertical scaling.
1536x1200p and 1536x1120p: 4x horizontal and 5x vertical scaling.
1152x960p and 1152x896p: 3x horizontal and 4x vertical scaling.

For 512x240p and 512x224p content perhaps with cropping for 1080p output.
1536x1200p and 1536x1120p: 3x horizontal and 6x vertical scaling.
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

BlockABoots wrote: Tue Feb 16, 2021 8:54 pm
atrac17 wrote: Tue Feb 16, 2021 5:49 am
BlockABoots wrote: Mon Feb 15, 2021 8:43 pm

But i am getting an image on the screen just that it isnt fill the height of the TV screen and leaves borders at the top and bottom.
It's dependent upon the displays scaler. For instance Sony 4k televisions need the displays aspect ratio to be set to Wide Mode Full Screen 1. If not, the screen doesn't fill the bezel vertically at all. On an LG, you would need to set your displays aspect ration to Original for all aspect ratios listed in the MiSTer OSD/.ini to work. I don't own a Samsung nor do I know anyone with one to play around with the settings. Again, your display may not be compatible; when I say that it doesn't mean that it can't resolve the resolution.
Yeah that maybe the case.

The TV does allow a Custom picture setting where i can increase and decrease the screen size vertically and horizontally so there is that option but im not sure weather that would mess up the scaling or not for scanlines etc
Ok ive actual got this to work now correctly and get a full display that fills the top and bottom of the screen with no borders.

Im not sure if this is a bug or what not but the issue seemed to have been me having the following set in the MiSter.ini file.....

video_mode_ntsc=8

setting it back to the default....

video_mode_ntsc=0

then fixes the issue and gives me a full screen when using your modelines!!!!

Im not sure why setting 'video_mode_ntsc' to '8' (1920x1080) rather than the default '0' would make a difference but it does for some reason!
Yim
Posts: 125
Joined: Mon Jan 18, 2021 11:51 pm
Has thanked: 3 times
Been thanked: 87 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by Yim »

I find all this modeline stuff confusing, but if you haven’t got borders running a 224 line game on a 2160 line TV then you haven’t got vertical integer scaling. Unless that’s not what you’re aiming for and you’re just looking for horizontal integers?

Anyway, the reason you get smaller borders on video mode 0 (720 lines) is that the source resolution (224 lines) fits nine and a bit times into the final resolution (2160 lines). 9x224=2016. If your mister is set to 1080p, then it’ll multiply the source by four (to 896), and the TV’s upscaler will double that to 1792 (8x source rather than 9). If the mister is set to 720p, it’ll triple the source to 672 lines, and the TV will triple that again up to 2016, giving you a 9x final multiple.
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

Yim wrote: Sun Feb 21, 2021 1:55 amAnyway, the reason you get smaller borders on video mode 0 (720 lines) is that the source resolution (224 lines) fits nine and a bit times into the final resolution (2160 lines). 9x224=2016.
No no you miss understood, I'm not talking about the universal video mode option in the mister in file I'm talking about the secondary video option a few lines lower where you can set a video mode for Pal and NTSC modes.

Having the NTSC line changed to anything other than the default setting overrides Atrac17's modelines, hence they won't work as intended
User avatar
BlockABoots
Posts: 43
Joined: Wed May 27, 2020 8:21 pm
Has thanked: 7 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by BlockABoots »

So what is actually different from the 5x mode and the 5x compatibility mode???. As I have notice whilst I get a full display when using the 5x mode on some games I get odd graphic artifacts.

An example is Cadillacs and Dinosaurs, on the attract sequence when the character bio screen appears with the chequered background scrolling vertically that seems to glitch for a few frames and then on the next scene with the Cadillac driving across the desert the clouds seem to glitch every few frames. On the 5x Compatibility mode I don't get these glitches what so ever!.

So I'm just wondering what is altered between the 2 modes?
Yim
Posts: 125
Joined: Mon Jan 18, 2021 11:51 pm
Has thanked: 3 times
Been thanked: 87 times

Re: MiSTer Custom Aspect Ratios for Horizontal Integer Scaling

Unread post by Yim »

Looks like 5x compatibility mode has a wider resolution, and a higher pixel clock as a result. The other one I think makes the mister output resolution the same as the upscaled core resolution, the compatibility includes a border on each side to match wide screen displays.

I’ve already said that I don’t really get all the video mode stuff, so maybe I should back out of this discussion, but I don’t really understand what atrac17’s mode lines are for. I mean, getting a nice picture, obviously, and it seems they’re helping a lot of people to do that, but like on the patreon there’s:
Your display will then scale the resolution in integer increments and fill the bezel vertically. Utilizing the custom aspect ratio settings the MiSTer can control the horizontal resolution being displayed.
Which I don’t understand how it can be true in the context of an 1120p signal to a 2160p TV - the only way that signal can be displayed at an integer multiple on that TV without cropping is if the integer is 1. To fill the screen without cropping is a ~1.93x multiple. If the TV’s upscaler links its vertical and horizontal scaling then it would mess up horizontal integer scaling as well. I don’t mean this as an attack on atrac17 - I think I’m missing something here, so I’d like to understand it.

If the goal is to get a nice picture that fills the screen, then it makes perfect sense to have the mister send as large an integer upscaled image as possible so that the inevitable distortion involved in filling the screen is minimised. If the goal is integer scaling, the only way to do it on a fixed resolution screen so far as I can tell is with borders filling the gap between the integer scaled image and the edge of the screen, and for that you want a mister output resolution that’s an integer divisor of the screen resolution, like 1080p or 720p.
Post Reply