Приучаем другой пульт к DVD плееру на чипе MT13xx

Приучаем другой пульт к DVD плееру на чипе MT13xx

[l]
В большинстве DVD плееров "китайского” производства используется протокол IR – NEC (подробнее - Описание протокола NEC ) , но некоторые брэнды могут использовать модифицированный протокол NEC или свой стандарт протокола. Вот к примеру брэнд LG в своих DVD плеерах использует свою модификацию протокола NEC – Описание протокола NEC-LG и уже к плеерам LG обычный пульт с обычным протоколам NEC не подойдет.
Как мы уже знаем такие замечательные программы как MTK-Tool ( читает и пишет флэш память ) и MTKReMaker (показывает нам блоки из которых состоит прошивка и позволяет сохранять и вставлять измененные блоки) по работе с прошивками для чипов MTK[/l][l]Для работы еще нам понадобится такие программы как - MTKRemote , RCExplorer, WinHex
[/l]

Расскажу все на конкретном примере. Принес знакомый домашний кинотеатр HYNDAI H-HT5108 с неисправным пультом, пульт отремонтировать не получилось ( капля внутри умерла ) , можно было купить такой же пульт, но решил приучить плеер к пульту который был у меня в наличии - ВВК модель пульта: RC019-01R ( пульт обязан иметь стандартный протокол NEC ) и заодно рассказать Вам все.

Первым делом нам нужно узнать код адреса , коды кнопок нашего пульта RC019-01R , для этого качаем программу RCExplorer - перейти на сайт программы и собираем приемник ИК ( на RCExplorer я остановился, так-так для чтения кодов достаточно и бесплатной версии ) . Запускаем её , нажимаем на кнопку Enable Record


и нажимаем кнопку на пульте ( направив пульт на фотоприемник ) . Программа нам покажет посылку –



Код адреса устройства, передаваемый нашим пультом – 0xB649 , код кнопки, которую мы нажали – 0x1A .

!!! Хочу чуть остановится на адресе устройства в программе RCExplorer . Если посмотреть на импульсы кода адреса ( 2 байта по 8 бит ) и посчитаем, то у нас получается код 0x49B6 ( начало байта считаем с младшего бита каждого , так как - Описание протокола NEC ) и так правильно будет, но программа нам показывает 0xB649 и это не правильно , программа не делит адрес на два байта , а показывает все одним по 16 бит, вот и считает она начало с младшего бита шестнадцатиразрядного значения, а это по моемому не правильно. Так что имейте в виду, если программа RCExplorer показала код адреса 0xFF00 или 0xF708, то правильнее будет представить в виде – 0x00FF или 0x08F7
И составляем таблицу каждой кнопки , вот что получилось у меня – Коды команд пульта BBK RC019-01R

Теперь читаем прошивку из нашего DVD плеера, открываем прошивку с помощью MTKReMaker и находим блок отвечающий за дистанционное управление – RC_Remote Tab



Разберем чуть подробнее этот блок –


00147Ah: 00FB 0102 0304 0506
001482h: 0708 092E 0A00 5B5C
00148Ah: 11FF 0D10 0E0F 2261
001492h: 2829 2B68 5D5F 7252
00149Ah: 333A 1516 191A 4F50
0014A2h: FFFF 6B4E 6C46 4151
0014AAh: 1720 422C 1D3D FFFF
0014B2h: FFFF FFFF FFFF FFFF

0014BAh: FFFF

Самое первое значение - 00FB это ни что иное как адрес устройства, а все остальное это коды команд ( функции ) выполнения DVD плеера, а адрес в котором расположен данный код ни что иное как код кнопки посылаемый ПДУ.
Что бы разобраться с этим подробнее , сохраним блок RC_Remote Tab и вставим его в любой HEX редактор, допустим WinHex


Временно вырезаем значение адреса устройства 00h, FBh расположенный по адресу  0x00 и 0x01. Выделяем это значение и через Edit делаем Cut и получаем –



особенность протокола NEC такова, что у него нет адресов 0x2… и 0x3… , а есть только 0x0… ,0x1... , 0x4… , 0x5… это особенность протокола NEC , так-что в WinHex представляем себе, что строка 0x20 = 0x40 , а 0x30 = 0x50 –

Рис1



Теперь подробнее. При нажатии на кнопку нашего пульта , допустим STANDBY где код кнопки = 0x1A - Коды команд пульта BBK RC019-01R, то эта кнопка обращается к адресу 0x1A ( код команды кнопки пульта = адресу блока RC_Remote Tab представленный в виде как на Рис1 ) и значение в этой ячейки 5Dh – это код выполнения функции DVD плеерам. При нажатии на кнопку MENU нашего пульта, пульт подает код - 0x53 , который обращается к адресу 0x53 и выполняет функцию в плеере , которая обозначается под кодам 3Dh.


Что бы не путаться, адрес в прошивки я буду обозначать 0x… , а данные по адресу ( в ячейках ) …h , хотя, и то и другое обозначает одно – числа в шестнадцатеричной системе счисления.

С обращением к адресам разобрались, теперь нужно разобраться какой код в ячейке соответствует кокой функции в DVD плеере. В этом нам поможет программа MTKRemote . Вставляем в нее блок RC_Remote Tab от нашей прошивки -



Index – это наши адреса к которым обращается пульт, но в десятичной системе 00d - 65d = 0x0… - 0x1... , 0x4… - 0x5

Code – это коды функции которые выполняет плеер

Name – это имя, назначение кнопки

Вот теперь мы видим и знаем, какой код в ячейке соответствует выполняемой функции в DVD. Допустим, нажимаем кнопку AUDIO на нашем пульте, пульт передает код 0x51 который обращается к адресу 0x51 на (Рис1 ) у нас стоит там 2Сh , значит при нажатии кнопки AUDIO , DVD плеер выполнит функцию DISPLEY – вывод информации о времени, в этот адрес вписываем код 28h , который и соответствует функции AUDIO и кнопка на нашем пульте AUDIO - 0x51 будет выполнять функцию 28h – AUDIO.

Можно это все менять в самой программе MTKRemote , но мне она в этом отношении не нравится, долго приходится искать нужную функцию + переводить код кнопки ПДУ из dec в hex ( может кому поможет  - DEC в HEX для программы MTKRemote )… Я для себя сделал вот такую табличку - Соответствие кодов блока RC_Remote Tab и функция DVD плеера и по ней работаю.

Хочу сказать, что коды команд функций DVD плеера из программы MTKRemote , совпадают только на дешевые плеера китайского производства, к примеру у ВВК коды функций не совпадают из этой программы. Правильные коды функций для BBK в этой таблице -  Соответствие кодов блока RC_Remote Tab и функций DVD фирмы BBK

Теперь зная что к чему и для чего мы берем то что на Рис1 , старый блок RC_Remote Tab и чистим его – FF


И начинаем добавлять кнопки и функции –
Кнопка на ПДУ- STANDBY = 0x1A , смотрим в таблицу и находим что STANDBY (POWER) = 5Bh – код функции. Вот по адресу 0x1A прописываем 5Bh



Кнопка на ПДУ - EJECT = 0x1B, смотрим в таблицу и находим что EJECT = 5Сh. По адресу 0x1B прописываем 5Ch



... и т.д

В конце получится



Это и есть наш практически готовый RC_Remote Tab , где коды ( адреса ) кнопок ПДУ соответствуют кодам команд функций DVD плеера.

Осталось вставить, когда-то вырезанный адрес устройства - 0x00FB и заменить его на адрес устройства нашего ПДУ = 0x49B6 , вот теперь готовый блок RC_Remote Tab под наш пульт –


Его сохраняем и вставляем в родную прошивку –



И получаем –



Заливаем прошивку в аппарат и радуемся.


[*] Если что непонятно, спрашивайте в этой теме

[*] Скачать статью в PDF

[*] MT1389L и изменение RC-remote в ПО - тема на Мониторе

Огромное спасибо [b]Din[/b]_у за это сообщение, все тоже самое, только я разжевал :)

Статьи / Видеотехника LG-savikdvd 20.11.2009 13:28:43 54580

Комментарии

Пользователь удален 07.06.2007

Ваш сайт хорош! Я нашол то что во многих местах не нашол.

МИГУЛЯ 15.06.2007

хороший сайт.

EF 28.08.2007

OK,OK,OK!!!

Пользователь удален 29.12.2007

на других сайтах не нашел а здесь есть .

Пользователь удален 06.02.2008

Мне понравился Ваш сайт.

Пользователь удален 29.08.2008

клас!

Пользователь удален 24.12.2008

Качество отличное, скачивается без проблем

Ant-Sky 07.01.2012

Сайт отличный, всегда есть нужная схема, жаль что с гугла не выкидывает сюда и аккаунт если долго не пользоватся удаляется

LG-savikdvd 07.01.2012

<!--uzquote--><div class="bbQuoteBlock"><div class="bbQuoteName" style="padding-left:5px;font-size:7pt"><b>Quote</b> (<span class="qName"><!--qn-->Ant-Sky<!--/qn--></span>)</div><div class="quoteMessage" style="border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight<5?this.style.height:scrollHeight>200?'200px':''+(this.scrollHeight+5)+'px');"><!--uzq-->жаль что с гугла не выкидывает сюда<!--/uzq--></div></div><!--/uzquote--> <br /> да хорошо нас и Гугль знает ( <a class="link" target="_blank" href="http://u.to/ZB5rAQ" title="http://www.google.by/search?q=FFH-2108+%D1%81%D1%85%D0%B5%D0%BC%D0%B0&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox" rel="nofollow">http://www.google.by/search?....firefox</a> ) <br /><br /> <!--uzquote--><div class="bbQuoteBlock"><div class="bbQuoteName" style="padding-left:5px;font-size:7pt"><b>Quote</b> (<span class="qName"><!--qn-->Ant-Sky<!--/qn--></span>)</div><div class="quoteMessage" style="border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight<5?this.style.height:scrollHeight>200?'200px':''+(this.scrollHeight+5)+'px');"><!--uzq-->аккаунт если долго не пользоватся удаляется<!--/uzq--></div></div><!--/uzquote--> <br /> Просто нужно что-то сайту давать, а не просто брать. Выкладывайте собственно считанные прошивки, файлы, общайтесь на форуме и никто вас не удалит из сайта. <img rel="usm" src="http://remont-aud.net/smailik/prof.gif" border="0" align="absmiddle" alt="prof" />

Чтобы оставить комментарий, пожалуйста, авторизуйтесь или зарегистрируйтесь
×