Разборка прошивки Лиллипута 669GL - убираем синий фон
Предлагаю сюда перенести наработки и обсуждение данной темы из другой: "Fix-firmware for lilliput 669gl". Все-таки та тема по продаже и там какие-то ругачки пошли...
В общем, один из форумчан писал:"Сообщение от Rimmon
Я у себя победил "синий экран" следующим способом, на одном китайском сайте нашел описание регистров контроллера RTD2660, там написанно что цвет фона заливки управляется регистром 6D, поискал у себя в прошивке эти значения - их было порядка 20-ти штук, и методом "случайного тыка", нашел - какие именно три из этих 20 - действительно устанавливают цвет фона на ядовито синий. Поменял их на 00 - вуаля - черный фон. Кому интересно, даташит на RTD2660: https://www.dropbox.com/s/8jz3fggbwq...TD2660.jsp.pdf Есть еще исходники прошивки на С, если интересно, могу поделиться."
Стал разбираться сам:
Да, из даташита видно, что 6D управляет фоном:
"Address: 6D BGND_COLOR_CTRL Default: 00h
Bit Mode Function
7:0 R/W Background color RGB 8-bit value[7:0]
There are 3 bytes color select of background R, G, B, once we enable Background color access channel(CR6C[5]"
Но заменив в прошивке 6D вы меняете не содержимое этог регистра, а подставляете вместо него другой адрес. Наверное правильнее после нужного 6D искать 3 байта с цветом и менять их на черный. у меня мкс2662, но, насколько я понял, они в этом плане идентичные... Просто нигде не нашел даташит на 2662 с описанием регистров, чтобы удостовериться. В моей прошивке 6D встречается около 40 штук ))
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Поправьте, если ошибаюсь - вроде байты цвета должны идти в обратном порядке. Тогда подходит такая комбинация: 6D FF 40 74, т.е. FF 40 74 - как раз синий цвет, если байты идут наоборот - 74 40 FF. Поправьте, если я неправ - очень давно не возился с такими вещами
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Ой, что то мне кажется такой подход вряд ли чему либо приведет.
Беда в том, что мы не знаем исходники, и какая адресация памяти там использовалась.
Т.е. возможна команда (к синтаксису не придирайтесь, это пример):
mov R1, 1234
а возможно
mov R1,@1234
В первом случае мы в регистр R1 пихнем число 1234 и в дампе R1 и 1234 будут рядом,
а во втором случае мы в R1 пихаем то значение, которое храниться в настоящий момент по адресу 1234. И в дампе мы тогда нифига не поймем :)
Исходники на С прольют свет на вопрос :)
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
желание не на пустом месте возникло
Вот тут человек написал, что он смог поменять фон
поэтому получается в регистр передаётся значение фона, а не адрес откуда его взять
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Исходников, увы, нет, а время поджимает - у меня уже все компоненты пришли - пора ставить в машину, а экран пока без флешки )) Сегодня вечером буду экспериментировать. Надеюсь, без неприятных последствий ))
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
по тем исходникам на С, что выкладывал Rimmon, обнаружил, что для цвета фона использовался только чисто синий - "00 00 FF". Нашел три комбинации этого кода с 6D. Буду пробовать...
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Эх, я бы помог если бы понимал в программировании!!))
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Пока неудачно, увы. На данный момент просто убрал надпись Нет сигнала
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
а скинь оригинал прошивки? ты как делал, так же просто 6D менял на 00 ?
Вложений: 1
Re: Разборка прошивки Лиллипута 669GL - убираем синий фон
Цитата:
Сообщение от
D@nger
а скинь оригинал прошивки? ты как делал, так же просто 6D менял на 00 ?
Нет - я выше писал, что заменой 6D на 00 мы просто вместо адреса регистра 6D ставим рестр 00 - за что он отвечает - х.з. Это конечно тоже выход, но он не очень правильный ))
Я нашел 2 места, где шли комбинации синего цвета 00 00 FF с 6D и менял на 00 00 00.