Страницы:
1 2 3 4 5 6 [
7]
8
Andy007
@ 24-05-2006, 13:32
Как время - не знаю
Andy007
Перерыл всю прошивку :wall: Исходя из описания cax коды клавиш 0x15 и 0x16, встечаються три раза. Сравнивал с прошивкой NewAge где работает нормально отличий нет, не втыкаю :wacko:
Искал твою процедуру на ixbt, бесталковый поиск ничего не нашёл!!!
Кинь ссылку или тема хоть какая была!!!!???
Если у тебя в прошивках есть скип, кинь ссылку на прошивку и адресок в самой прошивке где это реализовано!!! ;)
Andy007
@ 24-05-2006, 17:27
www.bbk985s.com
бери последнюю прошивку и смотри Browser_keys процедуру.
Andy007
А адрес процедурки Browser_keys ??? :mol: :mol:
Andy007
@ 25-05-2006, 09:02
91A1 в первом банке
Andy007
Мдааа не догоняю, вообще то думал будет проще, нужны объяснения:
CODE |
ROM:F6D0 ROM_F6D0:
ROM:F6D0 90 FC EE mov DPTR, #XRAM_FCEE
ROM:F6D3 E0 movx A, @DPTR
ROM:F6D4 54 07 anl A, #7
ROM:F6D6 FF mov R7, A
ROM:F6D7 12 06 2B lcall BS:139_B2:E4F4 ---> для чего проверки?? что за значения извлекаются???
ROM:F6D7
ROM:F6DA EF mov A, R7
ROM:F6DB 64 03 xrl A, #3
ROM:F6DD 60 0D jz ROM_F6EC
ROM:F6DD
ROM:F6DF 90 FC EE mov DPTR, #XRAM_FCEE
ROM:F6E2 E0 movx A, @DPTR
ROM:F6E3 54 07 anl A, #7
ROM:F6E5 FF mov R7, A
ROM:F6E6 12 06 2B lcall BS:139_B2:E4F4
ROM:F6E6
ROM:F6E9 BF 01 08 cjne R7, #1, ROM_F6F4
ROM:F6E9
ROM:F6EC
ROM:F6EC ROM_F6EC: -----> это обработчик по умолчанию
ROM:F6EC 12 E0 A2 lcall ROM_E0A2
ROM:F6EC
ROM:F6EF 92 6F mov 0x2D.7, C
ROM:F6F1 02 92 7A ljmp ROM_927A
ROM:F6F1
ROM:F6F4 ; ---------------------------------------------------------------------------
ROM:F6F4
ROM:F6F4 ROM_F6F4: -----> что происходит здесь
ROM:F6F4 7F 44 mov R7, #0x44 ; 'D'
ROM:F6F6 7E 02 mov R6, #2
ROM:F6F8 12 02 F5 lcall BS:2_B0:E48E
ROM:F6F8
ROM:F6FB EF mov A, R7
ROM:F6FC F4 cpl A
ROM:F6FD 60 08 jz ROM_F707
ROM:F6FD
ROM:F6FF 12 F5 27 lcall BankSw:603_F527 -------> ????
ROM:F6FF
ROM:F702 92 6F mov 0x2D.7, C
ROM:F704 02 92 7A ljmp ROM_927A
ROM:F704
ROM:F707 ; ---------------------------------------------------------------------------
ROM:F707
ROM:F707 ROM_F707: -----> это обработчик по умолчанию
ROM:F707 12 E0 A2 lcall ROM_E0A2
ROM:F707
ROM:F70A 92 6F mov 0x2D.7, C
ROM:F70C 02 92 7A ljmp ROM_927A |
Andy007
@ 25-05-2006, 13:42
Возможно так будет понятнее.
CODE |
ROM:F6D0 ; --------------- S U B R O U T I N E ---------------------------------------
ROM:F6D0
ROM:F6D0
ROM:F6D0 next: ; DATA XREF: DIR_BrowserKeys+1Eo
ROM:F6D0 90 FC EE mov DPTR, #XRAM_SelectedFile
ROM:F6D3 E0 movx A, @DPTR
ROM:F6D4 54 07 anl A, #7
ROM:F6D6 FF mov R7, A
ROM:F6D7 12 06 2B lcall DIR_GetFileType
ROM:F6D7
ROM:F6DA EF mov A, R7
ROM:F6DB 64 03 xrl A, #3
ROM:F6DD 60 0D jz picture_or_folder
ROM:F6DD
ROM:F6DF 90 FC EE mov DPTR, #XRAM_SelectedFile
ROM:F6E2 E0 movx A, @DPTR
ROM:F6E3 54 07 anl A, #7
ROM:F6E5 FF mov R7, A
ROM:F6E6 12 06 2B lcall DIR_GetFileType
ROM:F6E6
ROM:F6E9 BF 01 08 cjne R7, #1, media_file
ROM:F6E9
ROM:F6EC
ROM:F6EC picture_or_folder: ; CODE XREF: next+Dj
ROM:F6EC 12 E0 A2 lcall next_page
ROM:F6EC
ROM:F6EF 92 6F mov 0x2D.7, C
ROM:F6F1 02 92 7A ljmp exit
ROM:F6F1
ROM:F6F4 ; ---------------------------------------------------------------------------
ROM:F6F4
ROM:F6F4 media_file: ; CODE XREF: next+19j
ROM:F6F4 7F 44 mov R7, #0x44 ; 'D'
ROM:F6F6 7E 02 mov R6, #2
ROM:F6F8 12 02 F5 lcall ARM_GetChar ; Playback mode
ROM:F6F8
ROM:F6FB EF mov A, R7
ROM:F6FC F4 cpl A
ROM:F6FD 60 08 jz playback_stopped
ROM:F6FD
ROM:F6FF 12 F5 27 lcall SetOpMode_nextTrack
ROM:F6FF
ROM:F702 92 6F mov 0x2D.7, C
ROM:F704 02 92 7A ljmp exit
ROM:F704
ROM:F707 ; ---------------------------------------------------------------------------
ROM:F707
ROM:F707 playback_stopped: ; CODE XREF: next+2Dj
ROM:F707 12 E0 A2 lcall next_page
ROM:F707
ROM:F70A 92 6F mov 0x2D.7, C
ROM:F70C 02 92 7A ljmp exit
ROM:F70C
ROM:F70C ; End of function next |
Andy007
Супер!!! Теперь ясно!!!! :beer:
СПАСИБО!!!!!!!!!!!!
Rvs, как разберёшься и заставишь эту штуку работать - разжуй и для меня, пожалуйста. Желательно по шагам и "для тупых" - "ищем то-то, запоминаем то-то, вставляем туда-то" и так далее.
cax
ОК!!! Уже провожу эксперименты!!!
Andy007
Нужен твой совет.
Процедура Browser_keys у меня выглядит так:
CODE |
ROM:BFCA Browser_keys: ;
ROM:BFCA D2 40 setb RAM_28.0
ROM:BFCC 90 FB 00 mov DPTR, #XRAM_FB00
ROM:BFCF E0 movx A, @DPTR
ROM:BFD0 12 21 2D lcall _C_CCASE
ROM:BFD0
ROM:BFD0 ; ---------------------------------------------------------------------------
ROM:BFD3 C0 14 .word ROM_C014
ROM:BFD5 0D .byte 0xD
ROM:BFD6 C0 14 .word ROM_C014
ROM:BFD8 0E .byte 0xE
ROM:BFD9 C0 14 .word ROM_C014
ROM:BFDB 0F .byte 0xF
ROM:BFDC C0 14 .word ROM_C014
ROM:BFDE 10 .byte 0x10
ROM:BFDF C0 08 .word ROM_C008
ROM:BFE1 11 .byte 0x11
ROM:BFE2 C0 08 .word ROM_C008
ROM:BFE4 12 .byte 0x12
ROM:BFE5 C0 48 .word ROM_C048
ROM:BFE7 14 .byte 0x14
ROM:BFE8 C0 19 .word ROM_C019
ROM:BFEA 15 .byte 0x15
ROM:BFEB C0 19 .word ROM_C019
ROM:BFED 16 .byte 0x16
ROM:BFEE C0 1D .word ROM_C01D
ROM:BFF0 23 .byte 0x23
ROM:BFF1 C0 08 .word ROM_C008
ROM:BFF3 5D .byte 0x5D
ROM:BFF4 C0 08 .word ROM_C008
ROM:BFF6 60 .byte 0x60
ROM:BFF7 C0 01 .word ROM_C001
ROM:BFF9 65 .byte 0x65
ROM:BFFA C0 0D .word ROM_C00D
ROM:BFFC 6B .byte 0x6B
ROM:BFFD 00 .byte 0
ROM:BFFE 00 .byte 0
ROM:BFFF C0 46 .word 0xC046
..................
ROM:C019 ROM_C019:
ROM:C019
ROM:C019 C2 40 clr RAM_28.0
ROM:C01B 80 2B sjmp ROM_C048 |
Согласись совсем не так как у тебя, но я решил по любому вставить обработчик в наглую, как думаешь пойдёт или нет????
Из каких соображений брать XRAM_SelectedFile???. У меня процедуры DIR_GetFileType и DIR_GetPosition всегда ходят слетанной парой:
CODE |
ROM:B251 E4 clr A
ROM:B252 FF mov R7, A
ROM:B253 12 DE 40 lcall DIR_GetPosition
ROM:B253
ROM:B256 EF
ROM:B257 4E orl A, R6
ROM:B258 70 17 jnz ROM_B271
ROM:B258
ROM:B25A FF mov R7, A
ROM:B25B 12 D7 9E lcall DIR_GetFileType |
как думаешь если заменить начало на такое пойдёт???
CODE |
clr A
mov R7, A
lcall DIR_GetPosition
mov A, R7
anl A, #7
mov R7, A
lcall DIR_GetFileType |
robert7
@ 27-05-2006, 00:23
QUOTE (cax @ 17-05-2006, 22:51) |
Налетел на такие грабли: если добавляю 10-й фонт [11-12], отрубается показ 0-го, т.е. "всё в пробелах". Добавляя ещё шрифтов можно добиться того, что пропадёт и шрифт для имён файлов.
Доктор, это лечится ? Я хочу много-много шрифтов ! |
У меня сумашедшая идея как добавить еще шрифты (если это еще актуально):
1. Взять прошивку 2102 7.0
2. Удалить из нее шрифты Font 8(0D-0E) и Font 9(0F-10)
3. Добавить мой шрифт 3 раза
4. Проверить работает ли Hebrew-big и Hebrew-normal (+ обратить внимание на букву ТАФ).
Сам проверить не могу - в своем 811м до сих пор не нашел где спрятан выбор шрифта (наверно гдето в арме)
Фонт интересный - достаточно большой и узкий.
Не понял только почему "таф" срезан сверху и добавлен нулевой буквой.
В Апексе 2102 прекрасно отображаются все буквы до 255, и перенос кодов не требуется.
Что должно произойти после добавления шрифта 3 раза, кроме того, что шрифт для Hebrew-big и Hebrew-normal станет одинаковым, и снова начнётся пропадание всего и везде ?
>в своем 811м до сих пор не нашел где спрятан выбор шрифта
В Sub_SetStyle ?
Или в коде, проверяющем опцию выбранного языка ? Так было в одной из прошивок для Апекса 2102. Как искать - описано в моём руководстве.
robert7
@ 27-05-2006, 15:55
Sub_SetStyle не нашел, PrefGetChar na Subtitle Language не нету (в upg7 проверяет только нужно вызывать reverse-hebrew или нет, в более старых даже этого нет). Я думал может я не так понял - попробовал на других прошивках - там сразу нашел.
таф перекинута в начало чтобы укоротить - теперь этот фонт занимает только 1 номер (а не 2 как все остальные) - если я прав то не будет пропадание всего и везде. Если это сработает - можно будет в ту же прошивку заталкать в 2 раза больше фонтов чем раньше(1 это normal, 3 это big, a 2 можно будет заменить на дополнительный шрифт) -
robert7, если мне не изменяет память, в коде отображения субтиров в АРМ я где-то видел прибавление еденицы к номеру шрифта, т.е. шрифт должен состоять из 2-х номеров.
Хотя, может быть я неправ и твоя идея сработает...
По поводу upg7 для Апекса 811 - а как ты переключаешь с иврита на русский ? Где-то же эта опция должна прочитываться.
Поищи чтение этой ячейки общей памяти из АРМа.
robert7
@ 28-05-2006, 00:52
QUOTE |
если мне не изменяет память, в коде отображения субтиров в АРМ я где-то видел прибавление еденицы к номеру шрифта |
это отображение #250-#255 - они считаются под следуещем номером шрифта.
(поэтому шрифт и занимает 2 номера)
я их обрезал, поэтому шрифт занимает только 1 номер. (предпологаю и надеюсь что ДВД просто считает их из следующего шрифта - именно для этого ТАФ стоит в начале шрифта)
1я копия - сработает это или нет, 2я - placeholder, 3я - что будет если нету следующего шрифта)
QUOTE |
Поищи чтение этой ячейки общей памяти из АРМа. |
я не знаю как (что именно, какой адресс в общей памяти) искать
QUOTE |
4. No Pic. | SUBTITLE | PREFERRED SUBTITLE LANGUAGE 0008 FFFF 00CC 0125 000B 0028 0007 001E FF3216 08DD - ROM:322E |
Как обычно, ячейка 0х28 общей памяти. Общая память у тебя начинается по адресу 0x764C00, так говорит MTK ReMaker.
QUOTE |
4. HEBREW[1D]RIGHT | HEBREW | HEBREW 046C 0467 0468 0E - ROM:31B1 7. HEBREW[1D]LEFT | HEBREW | REV 046B 0467 046D 1F - ROM:31B8 |
Хм. Чем-то мне это напоминает мой приём, который я применил в прошивке для Пионера - укороченный пробел, вставленный в фонт чуть ниже нормального пробела...
И совмещение выбора языка субтитров для DVD и DivX в одном меню - они раньше так не делали, было меню отдельное...
неужели китайцы пытаются слизывать с нас ???
robert7
@ 28-05-2006, 01:34
Спасибо. Кодгато я и это искал, но запутался - попробую еще раз.
edit: ура! нашел Sub_SetStyle, но другим способом:
искал mov R7, #4 и mov R7, #6 (номера фонтов) чтобы были близко в 1м банке
+ сразу после них lcall на ту же функцию
И вот почему я запутался: по адрессу 0х28 в общей памяти лежит "IW". Я думал что там должно быть тоже самое как и в EEPROM (номер).
QUOTE (cax @ 28-05-2006, 01:17) |
И совмещение выбора языка субтитров для DVD и DivX в одном меню - они раньше так не делали, было меню отдельное...
неужели китайцы пытаются слизывать с нас ??? |
"пытаются?" А ты сравни это меню с тем что я сделал в 2.2. Они его просто срисовали!!! (в прошлой версии direction был в отдельном меню, но язык совмещен уже давно)
Andy007
@ 29-05-2006, 11:37
Rvs,
Думаю что стоит попробовать. Скорее всего прокатит.
Andy007
Занялся в плотную скипом по твоему рецепту, пациент без признаков жизни!!! :(
Нашёл три обработчика с кодами 15 и 16 и только в одном обработчик сложный, а в остальных простой типа:
CODE |
clr RAM_28.0
sjmp ROM_C048
или
clr C
ret |
Сложный обработчик оказался обработчиком в DVD режиме (менял вызовы процедур изменения, происходят), а простые.... Менял в них вызовы процедур на другие, реакции ни какой, подставлял в них обработчик других кнопок, так же ноль. Толи я не нашёл обработчик браузера, толи они обрабатываются в другом месте или как то по другому!!! По большому счёту я даже не нашёл обработчик который обрабатывает браузер!!! :(
Ещё раз пересмотрел прошивку от NewAge, эти обработчики абсолютно одинаковы, что у меня, что у него. Но у него то скип работает!!!
Как на твой взгляд что делать???? :mol:
Andy007
Решил занулить все вызовы процедур где присутствуют коды 15 и 16, по идее должно было выключить пульт вообще, но этого не произошло, пульт как работал в браузере, так и продолжает работать. :( Отсюда следует, что пульт обрабатывается не только процедурах типа:
CODE |
mov DPTR, #XRAM_FB00
movx A, @DPTR
lcall _C_CASE
word jumpaddress1
byte keycode1 |
а как-то ещё???
Что скажешь как вычислить место обработки????
Andy007
@ 15-06-2006, 15:23
QUOTE (Rvs @ 26-05-2006, 13:16) |
Andy007
Нужен твой совет.
Процедура Browser_keys у меня выглядит так:
CODE | ROM:BFCA Browser_keys: ;
ROM:BFCA D2 40 setb RAM_28.0
ROM:BFCC 90 FB 00 mov DPTR, #XRAM_FB00
ROM:BFCF E0 movx A, @DPTR
ROM:BFD0 12 21 2D lcall _C_CCASE
ROM:BFD0
ROM:BFD0 ; ---------------------------------------------------------------------------
ROM:BFD3 C0 14 .word ROM_C014
ROM:BFD5 0D .byte 0xD
ROM:BFD6 C0 14 .word ROM_C014
ROM:BFD8 0E .byte 0xE
ROM:BFD9 C0 14 .word ROM_C014
ROM:BFDB 0F .byte 0xF
ROM:BFDC C0 14 .word ROM_C014
ROM:BFDE 10 .byte 0x10
ROM:BFDF C0 08 .word ROM_C008
ROM:BFE1 11 .byte 0x11
ROM:BFE2 C0 08 .word ROM_C008
ROM:BFE4 12 .byte 0x12
ROM:BFE5 C0 48 .word ROM_C048
ROM:BFE7 14 .byte 0x14
ROM:BFE8 C0 19 .word ROM_C019
ROM:BFEA 15 .byte 0x15
ROM:BFEB C0 19 .word ROM_C019
ROM:BFED 16 .byte 0x16
ROM:BFEE C0 1D .word ROM_C01D
ROM:BFF0 23 .byte 0x23
ROM:BFF1 C0 08 .word ROM_C008
ROM:BFF3 5D .byte 0x5D
ROM:BFF4 C0 08 .word ROM_C008
ROM:BFF6 60 .byte 0x60
ROM:BFF7 C0 01 .word ROM_C001
ROM:BFF9 65 .byte 0x65
ROM:BFFA C0 0D .word ROM_C00D
ROM:BFFC 6B .byte 0x6B
ROM:BFFD 00 .byte 0
ROM:BFFE 00 .byte 0
ROM:BFFF C0 46 .word 0xC046
..................
ROM:C019 ROM_C019:
ROM:C019
ROM:C019 C2 40 clr RAM_28.0
ROM:C01B 80 2B sjmp ROM_C048 |
Согласись совсем не так как у тебя, но я решил по любому вставить обработчик в наглую, как думаешь пойдёт или нет???? Из каких соображений брать XRAM_SelectedFile???. У меня процедуры DIR_GetFileType и DIR_GetPosition всегда ходят слетанной парой:
CODE | ROM:B251 E4 clr A
ROM:B252 FF mov R7, A
ROM:B253 12 DE 40 lcall DIR_GetPosition
ROM:B253
ROM:B256 EF
ROM:B257 4E orl A, R6
ROM:B258 70 17 jnz ROM_B271
ROM:B258
ROM:B25A FF mov R7, A
ROM:B25B 12 D7 9E lcall DIR_GetFileType |
как думаешь если заменить начало на такое пойдёт???
CODE | clr A
mov R7, A
lcall DIR_GetPosition
mov A, R7
anl A, #7
mov R7, A
lcall DIR_GetFileType |
|
Это совсем не процедура Browser_keys.
Это скорее похоже на какой-либо другой режим.
У тебя вообще в броузере кнопки прев и некст по умолчанию хоть как-то работают?
Andy007
@ 15-06-2006, 15:25
Просто если они у тебя по умолчанию в броузере не работают вообще, то скорее всего и в обработчике этих кодов просто нет и их надо будет вставлять руками.
Andy007
Да они у меня в браузере работают, при нажатии курсор перескакивает на 6 строк.
У меня такая последовательность встречается 6 раз. 2 - Bank1, 1 – Bank2, 3 – Bank4. Закомментировав эти процедуры, вычислил: в Bank4 одна точно обрабатывает DVD, другая на половину AVI, а все остальные, даже если закомментированы все сразу влияние ни на DVD, ни на AVI, ни на MP3, не оказывают, всё как работало, так и работает!!! :(
У меня есть прошивка от NewAge, она к этому аппарату только, к старой его версии. Прошивки схожи на 90%, так вот NewAge в этих 6 процедурах ни чего не менял, но при этом скип и пауза правильно работает, как он сделал ума не приложу!!! :(
Andy007
@ 16-06-2006, 17:40
Ты прав - в четвертом банке handler для режима DVD. Сейчас ище для броузера.
Andy007
Ну как борьба с упрямой прошивкой???? :(
Andy007
@ 21-06-2006, 10:31
К сожалению - пока никак. Ничего не понимаю:(
Al xRaven
@ 08-10-2006, 10:25
Я извиняюсь, я тут первый раз. А кто может рассказать как ARM пересаживать из одной прошивки в другую? Я понимаю что надо корректировать смещения
на данные в блоках 8032 если ARM разной длины, может есть готовая методика? С 8051 процессором работал раньше, с IDA тоже.
В группе mt13x9 на Yahoo, в разделе Файлы->Документы есть документ с подробным описанием процесса имплантирования ARM.
"How to use MTK Risc in BBK firmwares.rtf"
temskii
@ 23-10-2006, 12:25
Приветствую всех !!! :hi: Извините,что встреваю. Уважаемые кодокопатели помогите мне пожалуйста разобраться с IDA. Пытаюсь ИДОЙ дизассемблировать код ARM вытащенный из прошивки MTK Remakerom,но ничего не получается пишет какую то чушь. Пробовал IDA pro 4.7, IDA pro 5.0.0.879. Очень много кто пользуется ИДОЙ, но как ??? Дайте пожалуйста хоть какую нибудь инфу :help: :help: :help:
Andy007
@ 23-10-2006, 14:47
Temskii, сдается мне что ты не переключаешь режим ARM/THUMB (Виртуальный регистр T 1/0)
А вообще-то соответствующий idc скрипт используй.
temskii
@ 24-10-2006, 06:41
Спасибо Andy007. Буду пробовать.
QUOTE (Andy007 @ 23-10-2006, 11:47) |
cax, Кстати, мы с a-ha на хоботе сейчас пытаемся замутить проигрывание 720p и более контента. Первые сдвиги уже есть:) Еще не играет, но уже не ругается:) |
Andy007, где на хоботе-то ? Кинь ссылку.
vitsat
@ 30-10-2006, 00:48
vitsat, если это ответ мне, то где там написано про 720p ?
OlegEN
@ 19-12-2006, 12:36
По доке Станислава Борутски (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]
OlegEN
@ 19-12-2006, 13:17
При поиске 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?
>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, ни знаний ассемблера не требует.
OlegEN
@ 20-12-2006, 06:52
Просто боюсь испортить проигрыватель, да и знаний не совсем хватает :(
Спасибо, попробую, отпишусь что получилось. Сейчас переписываю Language для проигрывателя MAITE PDVD-704x, если у кого есть такой, пишите поделюсь всем что наработано.
OlegEN
@ 20-12-2006, 16:51
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
куда мне вписывать этот опкод, или что с ним делать?
> 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
========================================
и из многостраничных разъяснений в этой теме (а ведь я просил прочитать тему сначала !)
Желаю удачи и не загубить плейер.
Ошибки в этом патче мне уже стоили двух походов в гарантийную мастерскую.
OlegEN
@ 21-12-2006, 07:39
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)
Все сделал, большое спасибо.
>Все сделал, большое спасибо.
Хорошо, что я дочитал до конца :) Значит всё работает ?
OlegEN
@ 22-12-2006, 06:35
Да, все работает... спасибо.
что я сделал:
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
>не нашел в 8032 описанной вами последовательности "90 xx yy E0 FF 13 13 13 54 07" т.е. её у меня нету
Увы, на скорую руку помочь ничем нельзя. Возможно найдутся добровольцы, которые сделают анализ и поймут в чём дело.
>можно как-то сменить Servo ?
Servo не меняют, ибо servo - это "генетический код" аппарата.
Можно сменить Risc, но это требует нечеловеческих усилий.
>не отображаются русские имена папок не в браузере, а чуть выше, т.е. в адресной строке
т.е. в имени каталога ? как-то я это исправлял, но как - уже не помню.
robert7
@ 25-12-2006, 16:14
Прошивка древняя. Субтитры наверно вообще не поддерживает. Может попробывать сначала поискать что нибудь поновее? Там проблем будет меньше.
OlegEN
@ 26-12-2006, 06:39
Да, прошивка древняя... :(
Кто нибудь, подскажите прошивку поновее и по какому принципу можно её подобрать...
Насколько я понял к железу привязывается только серво...
т.е. у меня серво 01.12.00.00 , и мне необходимо будет найти прошивку поновее с таким серво!?
robert7
@ 26-12-2006, 16:54
Откуда у тебя эта прошивка?
QUOTE |
Кто нибудь, подскажите прошивку поновее и по какому принципу можно её подобрать... |
Во первых - по названию...
Если нету - servo+remote+DRAM, желательно и VFD.
Но все равно есть риск на смерть. У тебя кабель есть?
OlegEN
@ 26-12-2006, 21:31
robert7 Прошивка родная, с проигрывателя MAITE PDVD-7041
_http://www.maite.com.cn/ProductView.asp?ID=25&Ln=En (с виду такойже, отличается только номер модели)
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
Пробовал переписываться с заводом изготовителем, но они ответили что данная модель снята с производства...
Кабель есть, не проблема... Проблема в том, что необходима прошивка не превышающая 1024 байт. Так-как флешка у меня 1 метр и ОЗУ всего 4 метра... :(
По доке Боруса сделал все что было возможно, русский перевод и шрифты написал и нарисовал :)
Но вот чужой подходящей прошивки пока нету... Думаю заменить/перепаять флешку и ОЗУ нарастить, но пока не могу найти подходящих микрух...
ЗЫ. Проиграватель, почти полный клон BBK965S (по крайней мере плата очень похожа). И вопрос, стоит ли искать и "запускать" прошивку с поддержкой USB? Так-как на плате есть разъём, но на корпус он не выведен. Я рассматривал подобный но с USB, там почти ничего не требуется, только выход... Кто знает, что даст мне подключение USB, можно будет подключать винты (УСБшные)?
Ну что тебе даст замена микросхем, если прошивка не пользуется дополнительной памятью ???
Вот если бы ты нашёл прошивку с таким же серво, но для плейера с большим объёмом памяти - тогда это было бы полезно, а так - непонятное мне стремление всё позаменять.
> Ver 05.00.02.02
Это - старая версия. Нужна хотя бы 05.00.03.05 или 05.00.05.01, в идеале - 05.00.06.хх
>можно будет подключать винты (УСБшные)?
А ты прошивку с поддержкой USB и твоим номером servo уже нашёл ?
OlegEN
@ 27-12-2006, 08:27
cax
QUOTE |
Ну что тебе даст замена микросхем, если прошивка не пользуется дополнительной памятью ??? |
Я нашел прошивку более новую с такимже номером серво... но она весит намного больше :( поэтому я и хочу сменить микрухи.
QUOTE |
А ты прошивку с поддержкой USB и твоим номером servo уже нашёл ? |
нет, еще не нашел, но спросил на всякий случай...
cax вопрос, что из моей прошивки можно повырезать такого лишнего :) (если есть)
и возможно ли мне с моими начальными познаниями пересобрать себе прошивку, ну например с "Версия C965S-8A-0928-m3" с сайта _http://bbk965s.narod.ru/index3.html
в этой прошивке нет номера Серво! как это понять, т.е. прошивка на любой тип серво, или это что-то другое?
Все мои проблемы от того что у меня на проигрывателе малый объём флеш, и не любую подходящую прошивку я могу залить :(
robert7
@ 27-12-2006, 13:43
серво не написан = серво не известен ==>> может оказатся чем угодно.
резать можно только DATA PART. Если Code part больше 1МБ - бесполезно.
платы во всех ДВД похожие - основное отличие это дисковод
если кабель 100% рабочий можно попробывать серво с похожими номерами - есть шанс наткнутся на хороший аналог
а какой у тебя REMOTE? по этому коду тоже есть шанс попасть на аналоги
Если я правильно понимаю в диагностике серво, то у этой прошивки C965S-8A-0928-m3 оно что-то типа A8.06.06.xx
Код, похожий на запись серво-номера, выглядит так:
78 5C 76 A8 08 76 06 08 F6 AE 5E AD 5D AC 5C 22.
Обычно он выглядит так:
NFO_ServoVer: (17.05.00.00)
ROM_F9D3: mov R0, #0x5A ; 78 5A
ROM_F9D5: mov @R0, #0x17 ; 76 17
ROM_F9D7: inc R0 ; 08
ROM_F9D8: mov @R0, #0x05 ; 76 05
ROM_F9DA: inc R0 ; 08
ROM_F9DB: clr A ; E4
ROM_F9DC: mov @R0, A ; F6
ROM_F9DD: inc R0 ; 08
ROM_F9DE: mov @R0, A ; F6
ROM_F9DF: mov R7,REG_5D ; AF5D
ROM_F9E1: mov R6,REG_5C ; AE5C
ROM_F9E3: mov R5,REG_5B ; AD5B
ROM_F9E5: mov R4,REG_5A ; AC5A
ROM_F9E7: ret ; 22
Brait
@ 29-12-2006, 07:58
Вопрос: можно как-нибудь вытащить .BIN файл из .DAT файла?
А то скачал обновление для свого Pioneer DVR-440H, оно было в .NGR формате. Залил Nero'й на CD, прошил - все работает. Но хочется бОльшего, есть желание покопаться в прошивке, но нет нормального .BIN'а...
Brait:
А плейер этот - он разве на чипсете MTK 1389 ?
Насколько мне известно, рекордеры сделаны на совсем других микросхемах, и их "разведка" находится пока в зачаточном состоянии.
b-maksi
@ 03-01-2007, 22:13
caxС Новым Годом!!! О Гуру МТ1389 :hi:
У меня есть небольшая проблемка,думаю только вы сможете мне помочь.
Есть плеер (Trony DVD-DVX 888) у него очень не удобный и не надёжный пульт.
По этому я решил попытаться заменить его на другой более подходящий,на мой взгляд.
Мне удалось подобрать все коды в блоке (RC_RemoteTab)для другого пульта,все кнопки выполняют свои функции.Коды были взяты из прошивки от пульта плеера донора.
Оригинал.
042BDCh: 04FB 154F 5F5D 5C0A
042BE4h: 2E52 0609 0733 5B46
042BECh: 1762 194E 3D63 670F
042BF4h: 1003 FFFF FFFF FFFF
042BFCh: FFFF FFFF FFFF FFFF
042C04h: FFFF FFFF FFFF FFFF
042C0Ch: FFFF FFFF FFFF FFFF
042C14h: FFFF FFFF FFFF FFFF
042C1Ch: FFFF 1650 FFFF 3800
042C24h: 0D0E 3008 0504 2C20
042C2Ch: 0201 2B47 1A29 4260
042C34h: 3941 FFFF FFFF FFFF
042C3Ch: FFFF
После замены на коды донора.
042BDCh: 00FF FF2C 5BFF 6739
042BE4h: 38FF 0302 0160 0908
042BECh: 0717 0605 0410 0A00
042BF4h: 2E20 5263 4E5D 0F0D
042BFCh: 0E15 FFFF FFFF FFFF
042C04h: FFFF FFFF FFFF FFFF
042C0Ch: FFFF FFFF FFFF FFFF
042C14h: FFFF FFFF FFFF FFFF
042C1Ch: FFFF 19FF 2B29 FFFF
042C24h: FF47 1B3D FFFF 161D
042C2Ch: 50FF 5FFF FFFF 1A4F
042C34h: FFFF 335C FFFF 4622
042C3Ch: FFFF
Но возникла странная проблема.Плеер может выключаться с нового пульта но не включается,зато так и продолжает включатся со старого.
Исходно плеер можно было выводить из режима Standby кнопками,(
PLAY,ENTER,EJECT,SLEEP)теперь нет.
Всё остальное работает нормально.
У меня сложилось впечатление что эти команды сидят не в блоке (RC_RemoteTab) а где-то ещё где мне не понятно,может быть(VFD_LedTables)потому что команды с ИК-приемника проходят через драйвер индикатора TP6317 и он уже выдаёт +5вольт(Standby) на блок питания и включает плеер.
Может я и ошибаюсь. :help: :help: :help:
Вот прошивка и описание значений ячеек кодов.->
http://slil.ru/23680354
shemtov
@ 04-01-2007, 15:31
b-maksi
В приложенном документе ты писал:
''Эти две первые строчки не трогаем, похоже, что это расшифровка команд пульта''
По сему вопрос:
Если собираемся менять пульт,то надо искать такой у которого эти два первых байта совпадают?
А если не совпадают,то что делать?
b-maksi
@ 04-01-2007, 21:29
shemtovСовсем не обязательно,просо сразу их переписываешь в начало и всё.
Исходно в прошивке доноре это выглядело так.Всё правилось бинарником в WinHexе.
00146Bh:
00FF FF2C 5BFF 3A39
001473h: 38FF 0302 0160 0908
00147Bh: 0717 0605 0410 0A00
001483h: 2E20 5265 4E5D 0F0D
00148Bh: 0E15 19FF 2B29 FFFF
001493h: FF28 1B3D FFFF 161D
00149Bh: 50FF 5FFF FFFF 1A4F
0014A3h: FF2B 615C FFFF 4764
0014ABh: FFFF
Прошивка от (Trony DVD-DVX 888) вообще очень странная по составу.
Это китайский производитель разного ширпотреба под названием Oriental Qisheng Technology
http://www.orientalqisheng.com/product_Show.asp?PhotoID=36У плеера ещё есть клон DVTech D530 у того даже 2 пульта в комплекте :lol:
http://www.reviews.ru/clause/article.asp?id=2273 A ещё
qisheng делает подделки под торговой маркой
AKAI. :actu:
shemtov
@ 05-01-2007, 04:39
b-maksi
Дело в том ,что я пытаюсь сделать то же самое что и ты.Но у меня пульт не начинает работать вообще.Я подумал,что это из за того что два первых байта у этих пультов разные,но ты говоришь,что это не мешает.Может быть тебе известна какая нибудь другая причина которая может на это повлиять?
b-maksi
@ 16-01-2007, 11:43
За время пока мне не отвечал многоуважаемый cax ,провёл ещё один эксперимент забил всю таблицу пульта FF FF FF вставил в прошивку и залил в плеер.Плеер так и продолжает включаться кнопками,(PLAY,ENTER,EJECT,SLEEP) со старого пульта,а нового соответственно не видит.
Плиз :help: где поменять значения 5F->5B, 33->60, 63->5D.
shemtov
У меня такое тоже было но с прошивкой от DAEWOO DV-1200S каие таблицы не ставил не чего не работало.
Спешу обрадовать всех задающих вопросы по таблицам пульта:
я в этом разбираюсь даже хуже вас.
Так что кроме метода научного тыка порекомендовать ничего не могу.
Я в своё время на известные позиции подставлял разные коды, и искал нужные мне методом обычного перебора. Вот и вся наука.
b-maksi
Я тоже пытался найти обработчики некоторых кнопок, до сих пор не нашёл, :( просил Andy007 он тоже не смог. Так что шансов мало. Это только тыкаться наугад по всей прошивке в подозрительные места. Я собираюсь этим заняться повторно, так что если что-то отпишусь.
Andy007
@ 06-02-2007, 13:31
Кстати, все уже в курсе, что в сеть утекли исходники 8032 для 1389?
QUOTE (Andy007 @ 06-02-2007, 13:31) |
Кстати, все уже в курсе, что в сеть утекли исходники 8032 для 1389? |
Читаю днём и ночью, но пока вопросов стало больше чем ответов :wacko:
Может кто то внятно раскажет как править DTS???? :mol:
Читал я-читал последние сообщения на Яхе про DTS, да так и не понял, что в моём случае делать.
А делаю я вот что: в прошивке к Apex меняю RISC на совместимый, и после замены у него появляется поддержка DTS, которой раньше у него не было.
Теперь я делаю то же самое с Hyundai, у которого поддержка DTS была с самого начала. После замены на всё тот же RISC она пропадает.
Первое объяснимо, второе - не понимаю.
cax
Мдааа ситуация аналогичная. Я даже нашёл ту процедуру, на которую ссылается NewAge. Но как то всё это странно, описывает он её этак, а выглядит на самом деле совсем по другому. :wacko: И самое интересное что в двух разных RISC-ах, это процедура выглядит одинаково, но при этом один работает другой нет. :( Попробую ещё раз спросить NewAge, что то он не договаривает...
cax
А ты при этом правил RISC на DTS или нет?
Ничего не правил, но если DTS заработал в Апексе, то с чего бы ему не работать на Юндае...
Это тот самый RISC, о котором мы здесь говорили выше, от Peekton-a.
Ты не мог бы глянуть на счёт правки одним глазком на этот самый RISC в моей последней прошивке к Апексу, если не лень ?
Hisoka
@ 09-02-2007, 17:40
Бродил по инету в поисках инфы, и наткнулся на этот форум - имхо тут обитают реально знающие люди и смогут мне объяснить что к чему ))
http://cax.nm.ru/mtk/docs/Patching_HU3899_from_A_to_Z.txt прочёл, с английским проблем нету, поэтому некоторые вопросы смог решить сам, но возникли иные проблемы:
1) Поскольку плеер у меня из дебрей Китая, то прошивок в инете равно как и информации по нему я не нашел никакой. Русский язык меню у него был, но отображать русские названия файлов и субтитры он не мог.
Приобрёв за 3 у.е. датакабель решил перепрошивать )
Нашел в инете 1 человека с таким же плеером - он смог решить проблему с длинными названиями файлов и русским шрифтом. ;)
Проблема субтитров осталась для меня актуальной - с помощью MtkFontCreator и MtkWindows я подобрал хороший шрифт, цвет, и область субтитров.
Но субтитры всёравно почему-то обрезаются... Нельзя ли сделать чтобы они переносились по словам если не влазят?
После n-ого изменения шрифта 03-04 (я менял шрифт в mtkremaker, никакого редактирования прошивки hex редактором не производил) начались глюки - то текст в опциях не показывает, то картинки - но это думаю решаемо - просто изменить 1 раз дефолтную прошивку...
У меня всего 3 шрифта в прошивке, как назначить первый шрифт на отображение файлового меню, а третьего на субтитры?? у меня всё показывается шрифтом 3 (3-4).
И ещё вопрос - можно ли каким-нибудь образом модифицировать мою прошивку чтобы плеер понимал формат mkv?? (встроенные субтитры, несколько звуковых дорожек)
p.s. Недавно обнаружил в инете прошивку полностью соответствующей моей - видимо этот завод на тех же компонентах выпускал ещё плеер маркой ERISSON.
Ответ на почти все вопросы - найти хакера, который в этом понимает и согласен поработать от нескольких часов до нескольких десятков часов. Ибо сложно очень.
Или подобрать уже модифицированную прошивку от другого плейера.
Ответ на вопрос про mkv: забудь, этого никто не умеет.
Hisoka
@ 10-02-2007, 02:06
А по каким критериям можно выбирать прошивку?
Её ведь надо будет модифицировать как-либо.. чтобы она запустилась хотя бы. А packed bitstream - не есть mkv?
ЧИП: MT1389FE
FLASH: FUJITSU(MBM29LV800BA/E)
ОПЕРАТИВКА: EM636165TS-7 2шт
Versio : 12.03.04.01
Sub :
8032 : 05.00.04.04
Servo : 23.07.00.00
RISC : 05.00.04.04
DSP : 03.03.01.00
Firm ID : MTK
File : MTK.BIN
Remote : 0xF20C (Unknown. Replace with CAUTION !!)
Button : 0x1489 (Unknown. Replace with CAUTION !!)
VFD bit : Type B (Apex,E-Boda,Fortune,Lenco,Yamada,Xoro,Zensonic)
Flash : 800, 16bit
Pass : 1,0,0,6,TITLE
ShMem : 0x38C400
И насчет субтитров - это действительно так сложно? Как заставить МТК переносить непомещающиеся слова на следующую строку??
P.S. наврятли какой хакер займётся этим... плеер очень раритетный - всего под 2 лэйблами выпускается насколько я знаю - DOWELL и ERISSON.
shemtov
@ 10-02-2007, 12:22
Если не удается переделать прошивку,то проблему с субтитрами ты можешь решить ,например,при помощи программы Subtitle Workshop.Там есть возможность корректировать колличество знаков в строке.Быстро,просто и эффективно.И еще рекомендую обратить внимание на программу AVISUB.Она служит для накладывания субтитров на фильм(встроенные субтитры) .Работает,к сожалению,не со всеми фильмами и поддерживает только SRT а SUB нет.
QUOTE (Hisoka @ 09-02-2007, 23:06) |
А по каким критериям можно выбирать прошивку? Её ведь надо будет модифицировать как-либо.. чтобы она запустилась хотя бы. А packed bitstream - не есть mkv?
|
Прошивка должна иметь тот же номер серво.
Потребуется только переставить блоки пульта, кнопок и ЖК-дисплея.
Кстати, а какая связь между packed bitstream и mkv?
robert7
@ 11-02-2007, 23:40
QUOTE (shemtov @ 10-02-2007, 11:22) |
Если не удается переделать прошивку,то проблему с субтитрами ты можешь решить ,например,при помощи программы Subtitle Workshop.Там есть возможность корректировать колличество знаков в строке.Быстро,просто и эффективно.И еще рекомендую обратить внимание на программу AVISUB.Она служит для накладывания субтитров на фильм(встроенные субтитры) .Работает,к сожалению,не со всеми фильмами и поддерживает только SRT а SUB нет. |
Работает и с sub. Их надо переименовывать в txt
robert7
@ 11-02-2007, 23:42
QUOTE (cax @ 10-02-2007, 11:30) |
QUOTE (Hisoka @ 09-02-2007, 23:06) | А по каким критериям можно выбирать прошивку? Её ведь надо будет модифицировать как-либо.. чтобы она запустилась хотя бы. А packed bitstream - не есть mkv?
|
Прошивка должна иметь тот же номер серво.
Потребуется только переставить блоки пульта, кнопок и ЖК-дисплея.
Кстати, а какая связь между packed bitstream и mkv? |
И тоже количество DRAM. На твоем только 4МБ (большенство прошивок на 8)
QUOTE (cax @ 08-02-2007, 13:49) |
Ничего не правил, но если DTS заработал в Апексе, то с чего бы ему не работать на Юндае...
Это тот самый RISC, о котором мы здесь говорили выше, от Peekton-a.
Ты не мог бы глянуть на счёт правки одним глазком на этот самый RISC в моей последней прошивке к Апексу, если не лень ? |
Получаеться в Hyundai 3899 и в Apex DVX-2102 RISC одинаковые?? А какие чипы стоят в аппаратах?
>А какие чипы стоят в аппаратах ?
МТ1389DE в обоих.
>Получается в Hyundai 3899 и в Apex DVX-2102 RISC одинаковые ??
Rvs, я не понял твоего вопроса.
Изначально в обоих аппаратах стоят разные RISC-и, но поскольку по ShMem=0x38C400 и прочим адресам, которые выдаёт утилита ArmAddressInfo, они одинаковы между собой и Peekton-овским RISC-ом, то я посчитал, что могу безболезненно сделать замену. Результаты ты знаешь.
cax
Глянул ARM. Ну всё так же как и у меня. Исходя из соображений NewAge тебе править надо здесь:
0000110E F2 -> E2
0000111A 92 -> 82
00001130 11 -> 01
000011B8 10 -> 00
Попробуй для начала адрес: 000011B8, если нет тогда все четыре. Должно пойти. И ещё NewAge не однократно ссылался на DSP, но я что-то с английского не догнал, что он имел ввиду. Толи заменить эти блоки, на блоки из других прошивок, толи просто они должны быть не пустыми. Может оказаться и здесь засада.
Получаеться Hyundai 3899 на чипе DE и имел заводскую прошивку с DTS??? :blink: Если так то теория NewAge может рухнуть, либо вопрос с DTS будет решён однозначно. Если есть дай ссылку на заводскую от Hyundai с DTS, погляжу как они эту функцию реализовали. И отпишись заработало после правки!!!
cax
Ага с 10-го раза понял, что имел ввиду NewAge :) So if your player's firmware doesn't have DTS decode then you should search for another DSP Code 0x10 (the first number of DSP version must be the same!! YY.xx.xx.xx where YY must be the same) that is around 9-10KB large.
Тогда получается попробуй не править ARM, а взять DSP из заводской прошивки где DTS был. Может заработает... Если да тогда дело не в ARM-е, а в DSP. Вообще попробуй три варианта:
1. Новый ARM + старое DSP
2. Новый ARM + новое DSP + правленый ARM
3. Новый ARM + старое DSP + правленый ARM
Жду результата!!!
Не обещаю вскоре проверить, но постараюсь.
А заводские прошивки лежат у меня на той же странице, в колонке "Original firmware from manufacturer"
Всем, привет
Возникли технические вопросы по сабжу.
Может ли код 8032 и АРМ выполняться из ОЗУ (а не из флэш) ?
Т.е. возможено ли модифиц. прошивку, чтобы могла загружать программный код в ОЗУ (файл с привода) и затем передавала управление этому коду в ОЗУ.
Сохранение окружения не нужно. Т.е. код юзает всю ОЗУ под себя
(затирая все данные созданные/юзанные прошивкой)
и в конце работы делает программный ресет.
robert7
@ 17-02-2007, 23:23
код АРМ итак выполнается из ОЗУ (после разархивации из флэша). Но функцию загрузки кода из файла еще никто не написал :(
QUOTE (robert7 @ 17-02-2007, 23:23) |
|
А как насчёт 8032,
умеет ли он из ОЗУ исполняться ?
QUOTE (robert7 @ 17-02-2007, 20:23) |
код АРМ итак выполнается из ОЗУ (после разархивации из флэша). Но функцию загрузки кода из файла еще никто не написал :( |
Если скорость процессора позволяет реализовать на нём какой-нибудь эмулятор 8-битных компьютеров или видеоприставок (скажем, MSX, NES или Gameboy), то лично мне это может быть интересно для игры на портативных DVD-плейерах.
Для игр ещё важна
глубина цвета (сколько бит на точку) в OSD.
Напр. Зоран 776 , похоже, имеет 8битовый OSD.
Плюс несколько бит на прозрачность.
Параметры MTK OSD есть на странице производителя:
http://www.mtk.com.tw/product-lines.htm
Всем привет.
Решил своего хорька (400 pro) подправить, а именно прицепить USB. Перепаял RAM, FLASH, залил прошивку от силверкреста. Заменил таблицу пульта, вообщем более-менее все работает - кардридер видит. Засада в том, что не могу переключить DVD-CARD. Нет такой кнопки на пульте. Куда кинуться,- посоветуйте. И еще, реально ли из исходников (например с яхи) собрать свою прошивку (все ли там есть, и чем). За пару дней много чего скачал, - не успеваю пересмотреть все.
>Нет такой кнопки на пульте.
Если из прошивки силверкреста понять какой код посылает эта самая кнопка, можно переопределить в таблице одну из существующих кнопок чтобы ентот самый код и посылала.
QUOTE (cax @ 24-03-2007, 21:28) |
>Если из прошивки силверкреста понять какой код посылает эта самая кнопка, можно переопределить в таблице одну из существующих кнопок чтобы ентот самый код и посылала. |
Не, наверное не так. В таблице силвера раскод его пульта, в таблице хорька - своего (при условии, что коды разные). Если просто поменять код кнопки, она не будет работать. Менять надо команду, которую выполнит переопределенная кнопка. Или нет?
...Хотя прокатило. Поменял, все заработало. Либо где-то я ошибаюсь, либо коды (пульты) одинаковые.
LDZ
Кинь ссылку про прошивку от силверкреста!!!
vboroda
@ 09-04-2007, 23:15
cax, можно вопрос? Почему вы с своей
инструкции в функции, которая конвертирует имя файла из уникода в CP1251, вычитаете 0xF5 из значений символов, которые > 0xF9? Почему не 0xFA?
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 |
Я пытаюсь понять, как сделать, чтобы в именах файлов и директорий в моем устройстве (Philips 5960/12) показывались буквы из конца набора ('ъ'..'я'), и поскольку у меня используется ваша функция для конвертации имени файла, я начинаю подозревать, что замени я
CODE |
ROM:0004D984 004 F9 28 CMP R0, #0xF9 ROM:0004D986 004 00 D9 BLS loc_4D98A ROM:0004D988 004 F5 38 SUB R0, #0xF5 ROM:0004D98A loc_4D98A ; CODE XREF: sub_4D950+36j ROM:0004D98A 004 01 1C ADD R1, R0, #0 |
на
CODE |
ROM:0004D984 004 F9 28 CMP R0, #0xF9 ROM:0004D986 004 00 D9 BLS loc_4D98A ROM:0004D988 004 FА 38 SUB R0, #0xFА ROM:0004D98A loc_4D98A ; CODE XREF: sub_4D950+36j ROM:0004D98A 004 01 1C ADD R1, R0, #0 |
и пропавшие буквы из конца алфавита будут видны (шрифты у меня "правильные", вроде бы). Или есть какая-то причина, почему не стоит корректировать именно в этом месте, и может быть лучше изменить шрифты, засунув буквы 'ъ'..'я' в позиции 5..10?
Спасибо. :hi:
Update: так, похоже, я не достаточно внимательно прочитал инструкцию. Для файлобраузера "правильные" шрифты, это не те, в которых верхние символы продублированы в самом низу таблицы, а те, в которых они продублированы в позициях 5..10. Но почему? В 5960/37, например, один и тот же шрифт используется (иногда) для показа OSD и субтитров (ошибка у них такая), чтобы задействовать правильный шрифт для субтитров надо вызвать и убрать "System Settings" меню.
Я уже не помню точно, что именно мне мешало разместить символы 250-255 на позициях 0-5 (кажется, в алгоритме некоректно отрабатывался символ с кодом 4), так что для исправления ситуации я их передвинул, от греха подальше, на позиции 5-10.
Если это мешает создать фонт, удовлетворяющий одновременно и меню, и списку файлов, и субтитрам (0-5 и 5-10 пересекаются в позиции 5), рекомендую сдвинуть эти 6 букв ещё раз - например, в позиции 6-11, и, соответственно, изменить в коде вычитание на "SUB R0, #0xF4".
QUOTE (Rvs @ 05-04-2007, 18:32) |
LDZ
Кинь ссылку про прошивку от силверкреста!!! |
Не понял, - как переделать?, или бинарник какой нужен? Как переделать доки нет. Пока ожидайте - диск помер.
Купил другой диск, все пашет. Есть проблема - отображение названия фильма. Как в досе, шесть знаков нормально, дальше облом. Это и на диске (фат 32), и на карте (фат16). Какие есть мысли по данному облому?
Видел здесь посты Andy007. Как в бобике с отображением имен флешки?
Дай ссылку откуда скачал прошивку на сильверкрест. Погляжу что и как.
У меня тоже хорёк 400Pro наваял уже несколько прошивок, гляну как у них устроено USB и поробую прикрутить к фирмованой.
Оригинал здесь
http://mtz.softpedia.com/dvd/А тут бумажка, если доступ есть.
http://f1.grp.yahoofs.com/v1/AO8kRmwdfpxjSW7wosjJgZ7TrwyY...ents/Info%20-%20USB.rtfЯ тоже думаю к оригиналу прикрутить (если ума хватит), только для начала хотелось бы разобраться с этим багом, чтоб уже все готовое вставлять.
LDZ
Опиши в чём баг подробней???
QUOTE |
Я тоже думаю к оригиналу прикрутить (если ума хватит) |
А ты вообще мои прошивки смотрел, у меня нароботок много. Тем более исходники есть проблем не должно быть.
Хорек не читает (не понимает?) длинные имена файлов (Long File Names), только короткие (по маске 8.3). Например, вместо Madagascar.avi - MADAGA~1.AVI. Это только на карте (CF-FAT16) или на HDD (FAT32).
Я еще вообще ничего не делал. После покупки хорек честно отпахал года три, потом началось, сначала двигло, потом зависать стал. Купил ребенку другой DVDишник а хорька забрал под эксперименты. Передул ОЗУ и флешку - хорек ожил, вот теперь за USB взялся. Опыта нет никакого, отсюда и сомнения. С ассемблером и Си знаком только по баловству с пиками и аврками. Я, вроде на хоботе, мельком прочел будто бы у тебя еще не перепаян хорек? Или уже перепаял? Я к тому, что если чего - вышлю по почте без всяких проблем (Б.У.,правда).
LDZ
QUOTE |
Это только на карте (CF-FAT16) или на HDD (FAT32). |
Проблема давняя, браузер на чтение с диска править научились, а вот с USB вроде как нет, хотя меня гложет сомнения, скорее кто-то умеет, но молчит. Вот поэтому я хочу перебросить чтение USB на фирменную прошивку, походу перебросок думаю и подправить длину строки. Я искал рабочею прошивку, в которой USB включается кнопкой с пульта так проще найти процедуру чтения. Кстати что, на что ты поменял, и какая кнопка стала переключать USB/диск? Та ссылка, что ты дал там фирменная прошивка, неужели в ней нет проблем с русскими буквами?
А что с ним, я родственнику за мин 20 поменял.
QUOTE |
Я, вроде на хоботе, мельком прочел, будто бы у тебя еще не перепаян хорек? Или уже перепаял? |
Попытка с перепайкой провалилась, кривые руки мастеров :( чуть не убили хорька с горем пополам я его запустил, но работает в старом режиме 1/4.
QUOTE |
Я к тому, что если чего - вышлю по почте без всяких проблем (Б.У.,правда). |
не понял...
Руского языка в ней нет, что вообщем то не особо напрягает. Мотор я тоже поменял, но прежде чем я его нашел приходилось временами погонять его постоянкой, - пока щетки вообще не отвалились.
Я думал тебе микрухи нужны.
У меня переключает кнопка "ANGLE". На яхе бумажка есть, выше ссылка. Там и код кнопки, и где какая функция.
Да, кстати, у меня четыре исходника (5048, 5062, 6027, 7043). Скомпилить получилось только одну какую-то, но, как и у тебя какая-то маленькая получилась. Ремакером глянул - нет ни кнопок, ни пульта, ни индикатора.
LDZ
QUOTE |
На яхе бумажка есть, выше ссылка |
Так в бумажке про этот сильверкрест написано? Если да, то отлично!!!
QUOTE |
Да, кстати, у меня четыре исходника (5048, 5062, 6027, 7043). |
А где ты эти номера вычитал?
QUOTE |
Ремакером глянул - нет ни кнопок, ни пульта, ни индикатора. |
Я думаю их Ремакер просто не видит
QUOTE |
Я думал тебе микрухи нужны. |
ОЗУ у меня ещё есть запасные микрухи на тот случай если найду мастера, а флэш не нашел. :(
Страницы:
1 2 3 4 5 6 [
7]
8