Pages: (52) 1 2 3 .. 6 .. 9 .. 12 .. 15 .. 18 .. 21 .. 24 .. 27 .. 30 .. 33 .. 36 .. 39 .. 41 42 [43] 44 45 .. 48 .. 51 52  ( Show unread post )

> Модифицируем прошивку для DVD плейера (MTK 1389), инструкция от САХ
 Andy007 Member is Offline
 Posted: 23-10-2006, 14:47 (post 631, #668044)

Newbie

Group: Members
Posts: 39
Warn:0%-----
Temskii, сдается мне что ты не переключаешь режим ARM/THUMB (Виртуальный регистр T 1/0)
А вообще-то соответствующий idc скрипт используй.
PM Email Poster
Top Bottom
 temskii Member is Offline
 Posted: 24-10-2006, 06:41 (post 632, #668449)

Newbie

Group: Members
Posts: 2
Warn:0%-----
Спасибо Andy007. Буду пробовать.
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 24-10-2006, 16:17 (post 633, #668617)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (Andy007 @ 23-10-2006, 11:47)
cax,
Кстати, мы с a-ha на хоботе сейчас пытаемся замутить проигрывание 720p и более контента. Первые сдвиги уже есть:) Еще не играет, но уже не ругается:)
Andy007, где на хоботе-то ? Кинь ссылку.
PM Email Poster
Top Bottom
 vitsat Member is Offline
 Posted: 30-10-2006, 00:48 (post 634, #670856)

Newbie

Group: Members
Posts: 13
Warn:0%-----
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 30-10-2006, 01:45 (post 635, #670875)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (vitsat @ 29-10-2006, 21:48)
http://forum.ixbt.com/topic.cgi?id=62:9631-2
vitsat, если это ответ мне, то где там написано про 720p ?

This post has been edited by cax on 18-12-2006, 11:32
PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 19-12-2006, 12:36 (post 636, #691585)

Newbie

Group: Members
Posts: 9
Warn:0%-----
По доке Станислава Борутски (Stanislav "cax" Borutsky (a.k.a borus) Patching_HU3899_from_A_to_Z.txt)
Я попытался выполнить:

2) Showing cyrillic letters in file browser

Put UnicodeToCP routine at address: 26914 (overrides C++ error messages)
UnicodeToCP (sub_26914) routine code:
10 39 01 B4 88 7B 04 28 C8 7B 10 D1 08 7C 04 28
C8 7B 03 D0 08 7C 00 28 C8 7B 08 D1 01 28 01 D1
A7 30 04 E0 51 28 01 D1 67 30 00 E0 B0 30 01 E0
00 00 00 00 F9 28 00 D9 F5 38 01 1C 01 BC 70 47

Put "BL UnicodeToCP" calls at addresses:
234C2: 03 F0 27 FA BL sub_26914
234F6: 03 F0 0D FA BL sub_26914
----------------------------------------------------------------
Практические рекомендации:

a) Как найти свободное пространство для подпрограммы UnicodeToCP:
ARM содержит множество сообщений об ошибках как "C++ library exception", "Out of heap memory", и т.д.
Ищите эти строки в ARM и используйте пространство, которое они берут.

Use UnicodeToCP code AS IS - the code is relocateable.
Используйте UnicodeToCP код как есть - код relocateable. -------------------?

b ) Как найти место где поместить "BL UnicodeToCP" запросы?

Найдите шестнадцатеричную последовательность: "F7 B5 84 B0 20 20 47 5C 21 31".

В моем случае я нашел это в 23446 смещениях, и места чтобы исправить были в 234C2 и 234F6
(Вы можете попробовать перейти непосредственно туда, ища "41 18 10 39 C9 7B" - должны появиться дважды),

Just follow the code and find the section that looks like this:
(but in your case additional patching may be required - see more detailed guide at
http://forum.ixbt.com/topic.cgi?id=62:5075-118)
Только за кодом и находят раздел, который выглядит следующим образом:
(но в вашем случае может потребоваться дополнительное внесение исправлений - см. более детализированное руководство
в http: // forum.ixbt.com/topic.cgi? Id=62:5075-118)

ROM:00023446 F7 B5 PUSH {R0-R2,R4-R7,LR}
ROM:00023448 84 B0 SUB SP, SP, #0x10
ROM:0002344A 20 20 MOV R0, #0x20 ; ' '
ROM:0002344C 47 5C LDRB R7, [R0,R1]
ROM:0002344E 21 31 ADD R1, #0x21 ; '!'

....

ROM:000234BA 02 98 LDR R0, [SP,#0x30+var_28]
ROM:000234BC 01 99 LDR R1, [SP,#0x30+var_2C]
ROM:000234BE 80 19 ADD R0, R0, R6
ROM:000234C0 41 18 ADD R1, R0, R1

========================================
Replace - Это я выполнил, разобрался

ROM:000234C2 10 39 SUB R1, #0x10
ROM:000234C4 C9 7B LDRB R1, [R1,#0xF]

with

ROM:000234C2 03 F0 27 FA BL sub_26914

========================================
Что делать с данным кодом? я не понял куда его записать!? Так-как у меня адреса другие, получается мне надо пересчитать разницу ЭТИХ адресов с моими?! и туда вписать данный код!? Или что мне делать с этим кодом?
ROM:000234C6 04 9A LDR R2, [SP,#0x30+var_20]
ROM:000234C8 00 06 LSL R0, R0, #0x18
ROM:000234CA 11 55 STRB R1, [R2,R4]
ROM:000234CC 01 34 ADD R4, #1
ROM:000234CE 00 0E LSR R0, R0, #0x18
ROM:000234D0 24 06 LSL R4, R4, #0x18
ROM:000234D2 24 0E LSR R4, R4, #0x18
ROM:000234D4 02 90 STR R0, [SP,#0x30+var_28]
ROM:000234D6 02 98 LDR R0, [SP,#0x30+var_28]
ROM:000234D8 A8 42 CMP R0, R5
ROM:000234DA 14 D2 BCS loc_23506
ROM:000234DC 30 1C ADD R0, R6, #0
ROM:000234DE 03 99 LDR R1, [SP,#0x30+var_24]
ROM:000234E0 00 F0 A2 FA BL sub_23A28
ROM:000234E4 32 21 MOV R1, #0x32 ; '2'
ROM:000234E6 08 1A SUB R0, R1, R0
ROM:000234E8 A0 42 CMP R0, R4
ROM:000234EA E6 DC BGT loc_234BA
ROM:000234EC 0B E0 B loc_23506
-------------------------------------------
ROM:000234EE A8 19 ADD R0, R5, R6
ROM:000234F0 01 99 LDR R1, [SP,#0x30+var_2C]
ROM:000234F2 05 06 LSL R5, R0, #0x18
ROM:000234F4 41 18 ADD R1, R0, R1

========================================
Replace

ROM:000234F6 10 39 SUB R1, #0x10
ROM:000234F8 C9 7B LDRB R1, [R1,#0xF]

with

ROM:000234F6 03 F0 0D FA BL sub_26914
========================================

ROM:000234FA 04 9A LDR R2, [SP,#0x30+var_20]
ROM:000234FC 2D 0E LSR R5, R5, #0x18
ROM:000234FE 11 55 STRB R1, [R2,R4]
ROM:00023500 01 34 ADD R4, #1
ROM:00023502 24 06 LSL R4, R4, #0x18
ROM:00023504 24 0E LSR R4, R4, #0x18


c) How to calculate bytecodes for "BL UnicodeToCP" commands ? Что это за команда "BL UnicodeToCP"?

Use BCalc utility (from mt13x9 yahoo group) to calculate bytecodes.
All you need is to specify "BL" command, from and to addresses in BCalc.

d) You also have to create special font with chars [250..255] at [5..10] - see below

e) See also (below) how to patch 8032 code so '_' chars won't appear in file browser

Объясните пожалуйста, я только новичек в данном вопросе, и мне не все понятно. cax (насколько я понял Вы и есть Станислав Борутский) Я недавно переписывался с вами, и Вы мне посоветовали задавать вопросы в данном форуме... объясните мне пожалуйста.
Что у меня есть: XVI32, ida_pro_4.8.0.847_advanced_full, и все остальные проги с финского сайта :)
[/COLOR]
PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 19-12-2006, 13:17 (post 637, #691597)

Newbie

Group: Members
Posts: 9
Warn:0%-----
При поиске HEX последовательности "F7 B5 84 B0 20 20 47 5C 21 31" у меня выходит:

ROM:00023380 .byte 0xF7 ; ¢
ROM:00023381 .byte 0xB5 ; ¦
ROM:00023382 .byte 0x84 ; Ä
ROM:00023383 .byte 0xB0 ; -
ROM:00023384 .byte 0x20
ROM:00023385 .byte 0x20
ROM:00023386 .byte 0x47 ; G
ROM:00023387 .byte 0x5C ; \
ROM:00023388 .byte 0x21 ; !
ROM:00023389 .byte 0x31 ; 1

а не:

ROM:00023446 F7 B5 PUSH {R0-R2,R4-R7,LR}
ROM:00023448 84 B0 SUB SP, SP, #0x10
ROM:0002344A 20 20 MOV R0, #0x20 ; ' '
ROM:0002344C 47 5C LDRB R7, [R0,R1]
ROM:0002344E 21 31 ADD R1, #0x21 ; '!'

может я не правильно настроил IDA?
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 19-12-2006, 14:31 (post 638, #691617)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
>Use BCalc utility (from mt13x9 yahoo group) to calculate bytecodes.

Вот именно эта утилита - BCalc - скачанная из раздела "файлы" группы mt13x9 на yahoo нам и нужна для пересчёта адресов.

А сама эта тема уже содержит описание подобных изменений - советую пролистать её с первых страниц. Разжёвано для чайников - далее некуда.

>При поиске HEX последовательности "F7 B5 84 B0 20 20 47 5C 21 31" у меня выходит

Ну и пусть себе выходит. Конечно, можно скачать специальные скрипты, запустить их и тогда в IDA всё будет выглядеть замечательно, но моё руководство на 99% расчитано на обычный hex-редактор и, как правило, ни IDA, ни знаний ассемблера не требует.

This post has been edited by cax on 19-12-2006, 14:34
PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 20-12-2006, 06:52 (post 639, #691889)

Newbie

Group: Members
Posts: 9
Warn:0%-----
Просто боюсь испортить проигрыватель, да и знаний не совсем хватает :(
Спасибо, попробую, отпишусь что получилось. Сейчас переписываю Language для проигрывателя MAITE PDVD-704x, если у кого есть такой, пишите поделюсь всем что наработано.
PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 20-12-2006, 16:51 (post 640, #692026)

Newbie

Group: Members
Posts: 9
Warn:0%-----
cax, что-то у меня не получилось...

как и написано в доке я нашел последовательность "F7 B5 84 B0 20 20 47 5C 21 31"
у меня она по адресу 23380 (в доке 23446).

Нашел последовательность "41 18 10 39 C9 7B"
первая, у меня по адресу 233FA (дока 234С2)
вторая, 2342E (234F6)

по первому и второму адресам я вписываю:
234C2: 03 F0 27 FA BL sub_26914 только по адресу 233FA
234F6: 03 F0 0D FA BL sub_26914 только по адресу 2342E

код:
10 39 01 B4 88 7B 04 28 C8 7B 10 D1 08 7C 04 28
C8 7B 03 D0 08 7C 00 28 C8 7B 08 D1 01 28 01 D1
A7 30 04 E0 51 28 01 D1 67 30 00 E0 B0 30 01 E0
00 00 00 00 F9 28 00 D9 F5 38 01 1C 01 BC 70 47
я вписал по адресу 264AA

При помощи BCalc я высчитал:
From - 264AA
To - 264E9
Branch - BL
Opcode - 00 F0 1D F8

куда мне вписывать этот опкод, или что с ним делать?
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 20-12-2006, 18:06 (post 641, #692061)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
> 234C2: 03 F0 27 FA BL sub_26914, только по адресу 233FA
> 234F6: 03 F0 0D FA BL sub_26914, только по адресу 2342E

О ужас, вообще не видно никакого понимания.
Не советую вообще ничего делать без кабеля - плейер издохнет при первой же попытке прошить его.

Нужно было:
1) записать адреса, по которым находятся "10 39 C9 7B".
В нашем случае, если я правильно понял, это 233FC и 23430

2) посчитать в BCalc опкод команд перехода С этих адресов НА адрес, по которому находится наш добавляемый код (264AA)

Теперь совет, которого не было в документе: лучше всего новый код размещать по адресу, кратному 4 (например, 264B0).
Но об этом писалось дважды на предыдущих страницах этой темы.

3) Теперь вот что делаем: в двух местах , адреса которых мы знаем из пункта 1, вставляем переход на подпрограмму ВМЕСТО того кода, который там был раньше.

Это должно быть ясно и из инструкции -

========================================
Replace

ROM:000234C2 10 39 SUB R1, #0x10
ROM:000234C4 C9 7B LDRB R1, [R1,#0xF]

with

ROM:000234C2 03 F0 27 FA BL sub_26914
========================================

и из многостраничных разъяснений в этой теме (а ведь я просил прочитать тему сначала !)


Желаю удачи и не загубить плейер.
Ошибки в этом патче мне уже стоили двух походов в гарантийную мастерскую.

This post has been edited by cax on 20-12-2006, 18:07
PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 21-12-2006, 07:39 (post 642, #692265)

Newbie

Group: Members
Posts: 9
Warn:0%-----
cax?Большое спасибо за то что у вас хватает терпения, другой на вашем месте послалбы меня давно ... (в мастерскую...)

Сделал я как вы писали, но у меня вместо имен файлов знаки "_"

в предыдущих сообщениях вы начали это обсуждать, но почемуто переключились на другую тему...

из того что вы там писали...
cax
То, что у тебя происходит, весьма странно.
Подчерки не могут появиться если их не было ранее...
Впрочем, давай попробуем разобраться и починить.
Поищи-ка в прошивке (не в АРМ) такое:
94 20 40 xx E0 D3 94 7E 40
Напиши, нашёл ли, и если да, то сколько раз и где.

У меня нашлось два раза:
первый - 117B0
второй - 1653B

по этому:
cax
Давай для очистки совести поищем в АРМ вот такое (хотя тоже вряд ли найдётся): 7E 22 20 21
Если найдёшь - попробуй заменить на FF 22 00 21

такой строчки в АРМе у меня не нашлось :(

И еще у меня почему-то проигрыватель стал тормозным, медленно реагирует на пульт, а на некоторые кнопки перестал реагировать или только при постоянном нажатии...
Может это из-за того что у меня RAM - 4 метра?
И прошивка у меня ровно 1 метр... Флешка метровая, жду когда приедет 2 метровая и RAM 8 метров, попробую заменить....

Что мне делать?

(пока читаю вашу переписку с ivani4)

Все сделал, большое спасибо.

This post has been edited by OlegEN on 21-12-2006, 12:23
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 21-12-2006, 18:18 (post 643, #692411)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
>Все сделал, большое спасибо.

Хорошо, что я дочитал до конца :) Значит всё работает ?

PM Email Poster
Top Bottom
 OlegEN Member is Offline
 Posted: 22-12-2006, 06:35 (post 644, #692589)

Newbie

Group: Members
Posts: 9
Warn:0%-----
Да, все работает... спасибо.

что я сделал:
1) Перебил language (сделал вместо китайского, русский)
2) Поменял и кое какие переправил, шрифты.
3) Сделал поддержку русских имен файлов и папок, только с одним приколом..
у меня почемуто не подошли полностью шрифты (которыми отображаются имена файлов) в имени файла "Выдод" вместо "ы" писалась "я". Но это я исправил, перебил шрифт сдвинул "ъыьэюяэё" на 3 позиции (правда еще не проверил на остальных буквах, но "Вяход" стал "Выход"ом)
4) Убрал превью картинок

Из странностей:
У меня почемуто не отображаются русские имена папок не в браузере, а чуть выше, т.е. в адресной строке... Там вместо имени прочерки. Но я думаю что я что-то или пропустил или не заметил. отпишу подробнее как проверю.

И еще хотел убрать таймер при проигравании DivX, но по вашей доке:
-----------------------
1) make Elapsed Time to not appear at the beginning of the playback.
Put the following bytes at specified addresses:
1D369: 02 F3 00
1F300: 90 FC 4A E0 54 C7 F0 02 05 B3
-----------------------
не нашел в 8032 описанной вами последовательности "90 xx yy E0 FF 13 13 13 54 07" т.е. её у меня нету :(

И еще вопрос, можно как-то сменить Servo? А то как вы писали у меня довольно старая прошивка... и мне как и любому другому хотелосьбы иметь лучше :) т.е. я попробую подогнать другие прошивки под себя...

Ver 05.00.02.02
Sub 00.00.00.01
8032 05.00.02.02
Servo 01.12.00.00
RISC 05.00.02.02
DSP 03.03.00.33

This post has been edited by OlegEN on 22-12-2006, 06:41
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 22-12-2006, 16:28 (post 645, #692727)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
>не нашел в 8032 описанной вами последовательности "90 xx yy E0 FF 13 13 13 54 07" т.е. её у меня нету

Увы, на скорую руку помочь ничем нельзя. Возможно найдутся добровольцы, которые сделают анализ и поймут в чём дело.

>можно как-то сменить Servo ?
Servo не меняют, ибо servo - это "генетический код" аппарата.
Можно сменить Risc, но это требует нечеловеческих усилий.

>не отображаются русские имена папок не в браузере, а чуть выше, т.е. в адресной строке

т.е. в имени каталога ? как-то я это исправлял, но как - уже не помню.

PM Email Poster
Top Bottom
Topic Options Pages: (52) 1 2 3 .. 6 .. 9 .. 12 .. 15 .. 18 .. 21 .. 24 .. 27 .. 30 .. 33 .. 36 .. 39 .. 41 42 [43] 44 45 .. 48 .. 51 52