VGA Mode Changing for 720x400 and 640x400

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by thorr »

NYI wrote: Mon Jul 10, 2023 6:21 am
thorr wrote: Thu Mar 31, 2022 10:02 pm

My goal is to have exact vertical refresh timings that match all the source frequencies. Using video_mode=6, etc. is fine for an interim solution, but not what I want for the long term, unless the vertical refresh frequencies match. I haven't spent the time yet to try all these other modes in DOS yet to see how they come up, but plan to.

But I believe the point of vsync_adjust=2 is that it will make the vertical refresh match the core output. With vsync set to variable in ao486, that means if the output should be 70.1, you'll get 70.1. Even though video_mode=6 is listed as 640x480@60, If you open the Mister menu with vsync_adjust=2 and ao486 set to "variable" vsync you can see the original vertical refresh is 70.1 and that's what the output vertical refresh is - so you'll get 640x480@70.1. Ditto for sync_adjust = 1, which has 1 frame of lag but higher compatibility.

You shouldn't have to be setting timings manually just to achieve a matching vertical frequency.

You may be right (probably are). It has been so long since I worked on this, but I do remember it took me quite awhile to get the modelines working the way I wanted them to with the correct sizing and positioning without having to adjust the monitor controls. There is more than just the vsync involved though and by just changing the vertical frequency, other adjustments get made and it all needs to work together and still be the right resolution and vertical frequency with proper sizing and centering. By targeting 70.1 to begin with, you get more control over the overall adjustments.

NYI
Posts: 7
Joined: Wed Jan 11, 2023 6:32 pm
Has thanked: 2 times
Been thanked: 3 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by NYI »

thorr wrote: Mon Jul 10, 2023 5:09 pm
NYI wrote: Mon Jul 10, 2023 6:21 am
thorr wrote: Thu Mar 31, 2022 10:02 pm

My goal is to have exact vertical refresh timings that match all the source frequencies. Using video_mode=6, etc. is fine for an interim solution, but not what I want for the long term, unless the vertical refresh frequencies match. I haven't spent the time yet to try all these other modes in DOS yet to see how they come up, but plan to.

But I believe the point of vsync_adjust=2 is that it will make the vertical refresh match the core output. With vsync set to variable in ao486, that means if the output should be 70.1, you'll get 70.1. Even though video_mode=6 is listed as 640x480@60, If you open the Mister menu with vsync_adjust=2 and ao486 set to "variable" vsync you can see the original vertical refresh is 70.1 and that's what the output vertical refresh is - so you'll get 640x480@70.1. Ditto for sync_adjust = 1, which has 1 frame of lag but higher compatibility.

You shouldn't have to be setting timings manually just to achieve a matching vertical frequency.

You may be right (probably are). It has been so long since I worked on this, but I do remember it took me quite awhile to get the modelines working the way I wanted them to with the correct sizing and positioning without having to adjust the monitor controls. There is more than just the vsync involved though and by just changing the vertical frequency, other adjustments get made and it all needs to work together and still be the right resolution and vertical frequency with proper sizing and centering. By targeting 70.1 to begin with, you get more control over the overall adjustments.

I agree that setting the modelines manually will give you more control - just wanted people to be aware that if they're a little bit more on the lazy side like me, they can use vsync_adjust=1 or 2 depending on compatibility with their monitor and then scale and adjust as needed if they just want to output a resolution like 640x480 :D. For a better look of course, all of what you shared re: modelines is appreciated.

Side note, what I'm currently wondering though, is: I understand many people experienced 200 lines games like Doom as double scanned. But a game like Duke Nukem I, 1991, is listed as an EGA title at 320x200. EGA mode 1, 320x200, is supposed to be at 60hz: https://www.minuszerodegrees.net/mda_cg ... ga_ega.htm. Ao486 wants to output 70hz in this game because that's what VGA drivers needed to do for 200 line content. But I believe if we're aiming for how it would've looked on an actual "EGA" monitor, that should be 60hz, not 70.1.

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by thorr »

NYI wrote: Mon Jul 10, 2023 11:50 pm

Side note, what I'm currently wondering though, is: I understand many people experienced 200 lines games like Doom as double scanned. But a game like Duke Nukem I, 1991, is listed as an EGA title at 320x200. EGA mode 1, 320x200, is supposed to be at 60hz: https://www.minuszerodegrees.net/mda_cg ... ga_ega.htm. Ao486 wants to output 70hz in this game because that's what VGA drivers needed to do for 200 line content. But I believe if we're aiming for how it would've looked on an actual "EGA" monitor, that should be 60hz, not 70.1.

Interesting info about Duke Nukem. I always thought it was VGA, but I haven't played it since back in the day. In the case of ao486, you want 70.1 because that is what the VGA card is running at. If ao486 supported an EGA card, then you would want 60Hz. It won't look correct on ao486 at 60Hz because the electron beam would be mis-timed and cause tearing.

NYI
Posts: 7
Joined: Wed Jan 11, 2023 6:32 pm
Has thanked: 2 times
Been thanked: 3 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by NYI »

thorr wrote: Tue Jul 11, 2023 6:54 pm
NYI wrote: Mon Jul 10, 2023 11:50 pm

Side note, what I'm currently wondering though, is: I understand many people experienced 200 lines games like Doom as double scanned. But a game like Duke Nukem I, 1991, is listed as an EGA title at 320x200. EGA mode 1, 320x200, is supposed to be at 60hz: https://www.minuszerodegrees.net/mda_cg ... ga_ega.htm. Ao486 wants to output 70hz in this game because that's what VGA drivers needed to do for 200 line content. But I believe if we're aiming for how it would've looked on an actual "EGA" monitor, that should be 60hz, not 70.1.

Interesting info about Duke Nukem. I always thought it was VGA, but I haven't played it since back in the day. In the case of ao486, you want 70.1 because that is what the VGA card is running at. If ao486 supported an EGA card, then you would want 60Hz. It won't look correct on ao486 at 60Hz because the electron beam would be mis-timed and cause tearing.

Yeah, it's sort of interesting it was technically EGA according to what I've looked up.

Regarding 70.1 vs. 60 - from what I understand, wouldn't the issue at 60 be jitter, rather than tearing? Depending on what ao486's behavior is at 60hz forced mode. At that mode the screen refresh syncs to 60 and core outputs 60, so I wouldn't think you'd see tearing, but if ao486 is still doing internal rendering at 70 then the problem would be jitter/stutter from the mismatch.

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by thorr »

The core stays at 70.1. Whatever you call it, it would be a timing mismatch and possibly cause minor display issues especially during motion. I don't know if the scaler would skip frames (judder) or start drawing a new frame in the middle of it's current frame (tearing).

Kuro Houou
Posts: 30
Joined: Sun Oct 17, 2021 11:28 am
Been thanked: 19 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by Kuro Houou »

Anyone having issues getting the new mode lines that leverage the CVT option to work. Trying to load the top300 (updated to the latest version) and it never fully loads the game menu. sometimes it gets stuck on the loading screen with the purple box and yellow loading... text. Have seen garbled stuff on the screen before too.. its so odd how these modelines can screw up the boot of the system.. would think it would just not sync or something. But it can literally freeze the whole Mister.

Koston
Posts: 80
Joined: Sat Feb 13, 2021 12:25 pm
Has thanked: 61 times
Been thanked: 52 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by Koston »

HerrBerzerk wrote: Tue Feb 28, 2023 7:45 pm

I tried these video modes in my ini now and for me, a lot of games just crash on start (with the top 300 from flynnsbit).

E.g. Beyond Castle Wolfenstein crashes in the start screen
Commander Keen 5 crahes on the start screen
Earthworm Jim is crashing.... and others...

Is that only for me? I am using a CRT-VGA Monitor on the HDMI-Port with an adapter.

I recently tested these modes with the same top 300 pack and found that it often crashed already during initial bootup.

What solved it for me was setting a much slower CPU preset for bootup and launching a game, then bumping it back up for smooth gameplay.

GuilhermeC
Posts: 12
Joined: Sat Sep 23, 2023 2:12 pm
Has thanked: 6 times
Been thanked: 2 times

Re: VGA Mode Changing for 720x400 and 640x400

Unread post by GuilhermeC »

Kuro Houou wrote: Wed Aug 30, 2023 12:42 am

Anyone having issues getting the new mode lines that leverage the CVT option to work. Trying to load the top300 (updated to the latest version) and it never fully loads the game menu. sometimes it gets stuck on the loading screen with the purple box and yellow loading... text. Have seen garbled stuff on the screen before too.. its so odd how these modelines can screw up the boot of the system.. would think it would just not sync or something. But it can literally freeze the whole Mister.

It worked for me, two things you should keep in mind: you have to open the OSD menu on ao486, go to Audio & Video, change VSync to Variable and Scale to one of the HV-Integer options. If I leave it on "Normal" or "V-Integer" the text looks horrible and barely readable, and there are also some nasty distortions inside 320x200 games that makes text and small sprites look ugly. Perhaps it has something to do with those resolutions having non-square pixels?

I didn't try the top300 package, but I did try some 0mhz games and I noticed some games work fine and other games don't seem to play nice. Pinball Fantasies opens the intro and table select screens, but when I try to play, it will either send something that my CRT doesn't recognize without any settings for it's wacky 320x350@70.4 mode, or will crash the core if I try to add a mode for this resolution.

Post Reply