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

> Модифицируем прошивку для DVD плейера (MTK 1389), инструкция от САХ
 cax Member is Offline
 Posted: 11-01-2006, 21:00 (post 181, #527217)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
.

This post has been edited by cax on 11-01-2006, 21:05
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 11-01-2006, 21:03 (post 182, #527220)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Опять цитирую сам себя:

find PREF_GetChar by searching "CD EF CD CC EE CC BC". Let's say, you find it at address 3E9B6.
Then look for "90 E9 B6 02 mm nn". You will find it at 0415,10415, 20415, etc.
So, the PREF_GetChar address ppqq=0415.
Now look for "7F arg 7E 00 12 pp qq" and you will find the code that looks like the following:

seg_01:1C586 7F 08 mov R7, #8
seg_01:1C588 7E 00 mov R6, #0
seg_01:1C58A 12 04 15 lcall seg_01_10415
seg_01:1C58D EF mov A, R7

То, что на выходе переписывается из R7 в A - это и есть прочитанное значение выбора в меню.

This post has been edited by cax on 11-01-2006, 21:05
PM Email Poster
Top Bottom
 Rvs Member is Offline
 Posted: 12-01-2006, 13:47 (post 183, #527586)

Member

Group: Members
Posts: 126
Warn:0%-----
с этим всё понятно, у меня немного по-другому, т.к. есть функция обработчик

0008 FFFF 04B3 04B4 0078 0000 002C 0008 FFCBBE 0865

и в ней вызов функции PREF_GetChar:

mov R7, #0x78 ; 'x'
mov R6, #0
lcall PREF_GetChar_B1:F237
mov A, R7
mov DPTR, #0xFCD4
movc A, @A+DPTR
mov R5, A
mov R7, #0x80 ; 'А'
mov R6, #0xF

mov DPTR, #ARM_PutChar
ljmp B_BANK0

а дальше что, исходя из кода вызывается функция ARM_PutChar в банке 0, а что за параметры такие??? И что получается сама функция по обработке значения из меню находиться в ARM-е???? И что если я вместо mov A, R7 напишу mov A, 0А и какие я бы значения в меню не выбирал будет всегда одно и тоже????

PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 15-01-2006, 22:52 (post 184, #529715)

Member

Group: Members
Posts: 134
Warn:0%-----
cax
Рассматривал я тут твою прошивку к АПЕКС2102 и нашел рутину, которая добавляет сброс строки после 35-го символа. Фичер сам по себе сомнительный. Так что есть вариант просто его зарубить. Но есть вариант интереснее: по-моему эту рутину легким движением руки можно переделать так, чтобы она отжимала текст к нижней кромке окна, т.е. добавляла пустую строку или две там где это необходимо. Как думаешь, есть у этого дела "общественный интерес"? Если да, я бы рискнул попробовать.
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 16-01-2006, 00:40 (post 185, #529783)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Интереса нет, после 35-го символа я ничего не отсекаю - отрезаю пиксельно после определённого офсета, жесткое ограничение на 42 символа, можно сделать 46.
PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 16-01-2006, 22:39 (post 186, #530393)

Member

Group: Members
Posts: 134
Warn:0%-----
Доктор, вы о чем? :) Я вообще-то о субтитрах в прошивке к АПЕКС2102 серво 18.03.00.00 версия 5.0
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 17-01-2006, 01:51 (post 187, #530529)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Перечитал. Осознал. Был неправ. Лично мне интересно - дерзай.
PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 17-01-2006, 12:42 (post 188, #530697)

Member

Group: Members
Posts: 134
Warn:0%-----
Нет проблем. Начну помолясь. Буду сообщать об успехах (готовься объяснять как паять кабель :-) )
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 17-01-2006, 14:58 (post 189, #530766)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
Слушай, а давай вместе напишем переворачивалку иврита ? Я примерно знаю место в АРМ, где идёт подсчёт длины строки субтитров. План такой - написать аналогичную подпрограмму, в которой 2 поинтера (или индекса), один в начале строки, другой - в конце, движутся друг другу навстречу и обмениваются лежащими под ними байтами, пока не встретятся.

Я пытался сам, но у меня от АРМ-ассемблера мозги кипят. Может вдвоём чего сообразим ?
PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 17-01-2006, 19:33 (post 190, #530908)

Member

Group: Members
Posts: 134
Warn:0%-----
Чегой-то я не понял. Есть же рутина. Я ж даже топик спциально создавал и докладывал. Проблема ведь не в рутине, а когда ее вызывать. То есть где в общей памяти находится индекс фонта.
Кроме того - она шибко длинная (~0х130), но это наверно можно как-то решить.
PM Email Poster
Top Bottom
 cax Member is Offline
 Posted: 17-01-2006, 22:55 (post 191, #531039)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
То, что я предлагаю, это написать свою подпрограмму в пару десятков байт.
Кстати, сегодня NewAge из mt13x9 сознался, что уже делал подобное в своей прошивке для Xoro. Можно изучить его работу (я пока не нашёл оригинал, с которым можно сравнить его прошивку - а было бы здорово, в два счёта бы нашёл отличия и разобрался бы...)
PM Email Poster
Top Bottom
 moroz Member is Offline
 Posted: 17-01-2006, 23:14 (post 192, #531047)

Member

Group: Members
Posts: 134
Warn:0%-----
Переворот иврита и простой переворот строки - это не одно и то же. Не забудь что английские вставки переворачивать не надо, цифры - ни в коем случае. Но это еще не все. Попробуй в ноутпаде написать ивритское слово и поставить точку. Она перескочит в начало. Файлы с ивритскими субтитрами расчитаны именно на такое поведение, т.е. вся пунктуация заранее перевернута.
Так что парой десятков байтов не обойдешься. А что у тебя есть против прусманской рутины?
Что касается NewAge - можно поизучать его творение, классику надо знать. Оригинал не обязателен. Кинь ссылочку.
И все-таки: допустим, рутину осилили. Как узнать что выбран ивритский фонт?!!
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-01-2006, 08:52 (post 193, #531249)

Member

Group: Members
Posts: 184
Warn:0%-----
Предложение от moroz(переворот иврита)-грамотный подход.А вариант от cax(переворот строки) тоже приемлим.
Если попробуете написать,то установку и проверку я готов взять на себя(в целях экономии вашего времени).
И ещё,может быть вам поможет-у меня есть прошивка где переворот строки происходит при написании:
имя фильма.avi
имя фильма.heb.sub

This post has been edited by ivani4 on 18-01-2006, 10:01
PM
Top Bottom
 cax Member is Offline
 Posted: 18-01-2006, 09:47 (post 194, #531263)

Pro Member

Group: Members
Posts: 738
Warn:0%-----
QUOTE (ivani4 @ 18-01-2006, 05:52)
Если попробуете написать,то установку и проверку я готов взять на себя(в целях экономии вашего времени).
ivani4:

спасибо, но до тестирования нам ещё далеко

moroz:

Я слышал, что в прошивке к Апекс 811 есть проблема с переворачиванием английских слов и чисел, т.е. как я понял там тоже не реализован полный BiDi (Bi-directional).

Ещё один голос за короткий вариант: свободное место в прошивке (для новых подпрограмм) - не резиновое.

Теперь о Xoro с поворотом субтитров - см. страничку NewAge:
http://newage.mpeg4-players.info/
http://newage.mpeg4-players.info/firmwares/xoro/hsd400pro/NAv2/NAv2.html

Читаем readme, где наряду с кучей других полезных вещей (выбор координат, цвета и прозрачности субтитров) видим новый пункт меню:

6. Text Direction | Set Mpeg4 Subtitle Text Direction
1. Left To Right
2. Right To Left

Одна загвоздка: у меня нет оригинальной прошивки для Xoro - это раз, и такое ощущение, что ARM (05.00.05.01) в этом моде не родной, а откуда взят - неизвестно (аналогичный АРМ 05.00.05.01 в Апексе имеет другую длину)
Сам автор ничего не комментирует, видимо считая, что другие сами разберутся.
PM Email Poster
Top Bottom
 ivani4 Member is Offline
 Posted: 18-01-2006, 10:07 (post 195, #531264)

Member

Group: Members
Posts: 184
Warn:0%-----
официальные прошивки хоро
http://www.xoro-israel.com/service/download.aspx

This post has been edited by ivani4 on 18-01-2006, 11:27
PM
Top Bottom
Topic Options Pages: (52) 1 2 3 .. 6 .. 9 .. 11 12 [13] 14 15 .. 18 .. 21 .. 24 .. 27 .. 30 .. 33 .. 36 .. 39 .. 42 .. 45 .. 48 .. 51 52