Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] 400p VGA mode auto detection #110

Open
wbcbz7 opened this issue Jan 22, 2024 · 1 comment
Open

[Request] 400p VGA mode auto detection #110

wbcbz7 opened this issue Jan 22, 2024 · 1 comment

Comments

@wbcbz7
Copy link

wbcbz7 commented Jan 22, 2024

Hello,
I've been using OSSC with a couple of retro PC/DOS machines. As you may know, there are two 400p VGA modes - 720x400 (used in text mode) and 640x400 (used by graphics modes like Mode 0x0D/0x13). There is no general way for VGA display device to differ between these modes, since they share the same sync timings and polarity - as a consequence, when using OSSC, you need to manually switch between 640x400 and 720x400 when running a game from console or returning back to the text mode.
However, there is another VGA mode (640x350 mode 0x10), which uses different sync polarity, but in fact uses the 640x400 timings (info here) with larger vertical blanking, and, on some monitors (primarly LCD) it actually appears as letterboxed 640x350 picture over 640x400 raster.

I've made a TSR utility called LCD640, which, for every graphics mode that uses 640x400 raster (e.g. 320x200 or 640x200), sets sync polarity from 640x350 mode; on some LCD displays, whose treat 640x350 as 640x400, this have a positive impact on image sampling quality. Therefore, it would be nice to have an option to autodetect the 400p mode from sync polarity. As a reference, I've modded a 0.90 firmware with these changes, but as 1.x branch bringing more improvements in other aspects, there may be a better approach for this problem.

Thanks in advance! :)

@marqs85
Copy link
Owner

marqs85 commented Jan 29, 2024

I'll consider adding this for next v1.xx series firmware.

For OSSC Pro vertical sync polarity could be set separately to differentiate between x350 and x400 modes since it already has presets for all 4 modes (640x350, 720x350, 640x400, 720x400).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants