Alexey Melnikov 615a69b616 Support for CEC
* hdmi_cec

* Improve HDMI CEC startup

* hdmi_cec

* Improve HDMI CEC startup

* Use ADV7513 interrupt registers for CEC

Set ADV7513 main 0xE1 to the CEC I2C map address, 0xE2 to 0x00 to power the CEC block, and 0xE3 |= 0x0E for CEC control setup.

Keep HPD forced high through main 0xD6 = 0xC0 after the startup pulse, but clear main 0x94[7] so HPD does not drive the shared HDMI interrupt line.

Clear main 0xA1[6] so the monitor-sense/video-active block stays powered; ADV7513 interrupt status registers 0x94-0x97 are only valid while that block is alive.

Set main 0x95 = 0x07 to enable only CEC RX-ready interrupts, use main 0x97 to clear RX/TX interrupt latches, and clear 0x96/0x97 at init.

Read CEC RX-ready from CEC map 0x49, keep CEC RX enabled with 0x4A = 0x08, release consumed RX slots through 0x4A, and remove fallback polling of RX length registers 0x25/0x37/0x48.

Use main 0x97 bits for CEC TX done/retry/arbitration status, keep CEC TX disabled through 0x11 except while sending, and set the CEC clock divider 0x4E = 0x3D.

Gate RX handling on fpga_get_hdmi_int() so normal CEC polling no longer performs DDC/CEC I2C reads unless the FPGA HDMI interrupt bit is asserted.

Reply to CEC vendor/name discovery so displays can identify MiSTer after registration.

---------

Co-authored-by: misteraddons <51079966+misteraddons@users.noreply.github.com>
2026-05-14 17:57:10 +08:00
2020-05-16 15:11:26 +08:00
2024-03-25 23:31:52 +08:00
2026-03-25 19:37:02 +08:00
2026-03-25 19:18:27 +08:00
2026-05-13 00:42:05 +08:00
2022-05-12 06:07:31 +08:00
2024-02-25 20:17:12 +08:00
2018-02-11 02:48:18 +08:00
2025-05-25 01:45:18 +08:00
2026-05-14 17:57:10 +08:00
2026-05-14 17:57:10 +08:00
2021-08-24 19:47:52 +08:00
2019-03-23 16:56:39 +08:00
2025-02-20 16:11:28 +08:00
2017-06-14 02:47:05 +08:00
2018-11-09 00:42:48 +08:00
2018-10-19 18:48:47 +08:00
2026-02-24 18:57:25 +08:00
2025-09-12 14:08:50 +08:00
2017-06-14 02:47:05 +08:00
2017-06-14 02:47:05 +08:00
2017-06-14 02:47:05 +08:00
2017-06-14 02:47:05 +08:00
2017-06-14 02:47:05 +08:00
2020-07-03 05:11:35 +08:00
2019-03-22 20:38:14 +08:00
2026-05-14 17:57:10 +08:00
2026-05-14 17:57:10 +08:00
2026-05-14 17:57:10 +08:00
2026-05-14 17:57:10 +08:00
2019-10-21 04:00:27 +08:00
2020-12-29 15:40:14 +08:00
2019-05-25 22:43:05 +08:00
2020-06-18 20:59:16 +08:00
2020-06-18 20:59:16 +08:00
2020-06-18 20:59:16 +08:00
2026-01-22 13:07:44 +08:00
2025-01-31 20:45:33 +08:00
2026-05-13 00:42:05 +08:00
2026-05-14 17:57:10 +08:00
2017-07-10 21:46:09 +08:00
2024-01-18 01:03:18 +08:00
2023-10-23 18:46:05 +08:00
2022-07-18 16:30:00 -07:00
2026-03-22 20:54:30 +08:00
2022-07-17 11:58:16 -07:00
2022-07-17 11:58:16 -07:00
2019-12-29 08:12:29 +08:00
2026-05-14 17:57:10 +08:00
2019-11-26 12:41:14 +08:00
2022-05-12 07:12:55 +08:00
2022-05-12 06:07:31 +08:00
2022-03-14 17:44:42 +08:00
2022-03-14 17:44:42 +08:00
2026-03-31 14:16:20 +08:00
2026-05-14 17:57:10 +08:00
2026-05-14 17:57:10 +08:00
2026-04-05 14:44:51 +08:00

Main_MiSTer Main Binary and Wiki Repo

This repo serves as the home for the MiSTer Main binaries and the Wiki.

For the purposes of getting google to crawl the wiki, here's a link to the (not for humans) crawlable wiki

If you're a human looking for the wiki, that's here

To compile this application, read more about that here

Description
Main MiSTer binary and Wiki
Readme GPL-3.0 79 MiB
Languages
C 56.8%
C++ 43%
HTML 0.1%