Automatic Direct Video (#1035)

* Simple Auto Direct Video

direct_video=2
Checks for 1024x768 HDMI resolution and sets direct_video=1
No hot plug detect
No EDID parsing
No device whitelist
No hdmi_limited set based on EDID whitelist

* Add EDID detection and set hdmi_limited for common DACs

- AG6200 sets hdmi_limited=2
- CS5213 sets hdmi_limited=0

* Fix logic to pass normal EDID resolution if not 1024x768

* Update MiSTer.ini

* Remove 1024x768 resolution check

- Only use mfg_id from EDID to identify known compatible DACs

* Add DAC id and settings to dv_dac.txt and dv_dac_user.txt

- mfg_id
- rgb range
- hdmi_audio_96khz
- composite_sync: 0, 1, or "" (default is "")
- dv_dac_user.txt for HDMI video upscalers that support direct video
  - device commented out by default
This commit is contained in:
misteraddons
2025-09-12 00:08:50 -06:00
committed by GitHub
parent 7aad9e81e3
commit 4b591f58fc
5 changed files with 215 additions and 1 deletions

View File

@@ -65,7 +65,7 @@ static const ini_var_t ini_vars[] =
{ "FB_SIZE", (void*)(&(cfg.fb_size)), UINT8, 0, 4 },
{ "FB_TERMINAL", (void*)(&(cfg.fb_terminal)), UINT8, 0, 1 },
{ "OSD_TIMEOUT", (void*)(&(cfg.osd_timeout)), INT16, 0, 3600 },
{ "DIRECT_VIDEO", (void*)(&(cfg.direct_video)), UINT8, 0, 1 },
{ "DIRECT_VIDEO", (void*)(&(cfg.direct_video)), UINT8, 0, 2 },
{ "OSD_ROTATE", (void*)(&(cfg.osd_rotate)), UINT8, 0, 2 },
{ "DEADZONE", (void*)(&(cfg.controller_deadzone)), STRINGARR, sizeof(cfg.controller_deadzone) / sizeof(*cfg.controller_deadzone), sizeof(*cfg.controller_deadzone) },
{ "GAMEPAD_DEFAULTS", (void*)(&(cfg.gamepad_defaults)), UINT8, 0, 1 },