
Сообщение от
.koval
valerium, собирать исходники из сырцов нет возможности, но есть необходимость включить в прошивке для конфигуратора по умолчанию режим 16:9 — не подскажите, какой байт/оффсет искать? я бы пропатчил. спасибо.
Не знаю, зачем монитору спектрума может потребоваться яйцеголовое разрешение, но будем считать, что нужно.
Посмотрел код, поморщил память... Там исходники - макрос на макросе, поэтому заменяя вроде бы все одну константу в параметре макроса лихо перестраивается несколько сот байт в бинаре при сборке.
Пока такой вот костыль нашел: вписал переменную со значением дефолтного режима в инициализированную структуру, а в коде макрос вызываю со ссылкой на значение из этой структуры.
По итогу: вот два варианта прошивки под оба режима, здесь байт по смещению 0x300B задает дефолтный режим. Для 4:3 он равен 1, для 16:9 равен 0.
(Либо ищем этот байт по смещению +12байт от начала маркера *CONT_BRI* - можно будет описать сие в конфигуратор, но пока лень).
Flash.zip
Прошивку НЕ проверял, сейчас нет возможности собирать стенд для экспериментов.
Если такой вариант сгодится, то потом в эту прошивку допишите параметры своей панели и своих входных режимов.
Сами режимы задаются следующими значениями, которые описаны в struct.h:
Код:
#define _DISPMODE_FULL 0 //это, видимо, и есть 16:9
#define _DISPMODE_43 1
#define _DISPMODE_AUTO 2
- - - Добавлено - - -

Сообщение от
LeoN65816
Скорее всего это потому, что
valerium много чего "выпилил"...

Вот магический кулхацкинг в виде патчинга родной прошивки позволит добиться чёткого распознавания режимов (даже просто по количеству полных строк).

Задача ставилась получить всего 3 режима. Остальные были лишними и приводили к ошибкам детекции режима. Прочие методы выбора режимы тоже были отключены.
Но детекция по полярности и частоте синхроимпульсов оставлена. И если ТРИ режима суметь разнести по непересекающимся значениям, то работать должно.