Forums -> Аудио и видеотехника -> Модифицируем прошивку для DVD плейера (MTK 1389)
| Full Version

Страницы: 1 2 3 [4] 5 6 7 8
cax
Дистанционно что-то тестировать очень сложно, именно поэтому я делаю прошивки только для тех плейеров, которые стоят у меня на столе.

При продажной стоимости обычных DivX-DVD плейеров в 300-400 шекелей, поставщику они наверняка обходятся ещё дешевле, и если он презентует разработчику прошивок один плейер для тестирования, он уж точно не обанкротится. Тем не менее, насколько мне известно, даже самые гениальные хакеры из группы mt13x9 так и не сумели заработать у импортёров ни копейки.
ivani4
Скажи мне,Маэстро,ты прочитал вообще два моих письма которые я тебе послал?
cax
Конечно, прочитал. Только что отослал тебе ещё один ответ по e-mail, на всякий случай.
ivani4
так я тебе уже тоже написал обратно
wallfire
cax ты не мог бы мне ответить на такой вопрос. После руссификации у меня не отображаются буквы кирилицы ы я ь как в названиях файлов так и в osd. Font самодельный 0-256 ср1251 может я что ещё упустил? удели минутку!?
moroz
cax, прими мои соболезнования по поводу плеера. Закон подлости - скончался именно дорогой. Я только не очень понимаю, как перепрошивка может так нагадить. Никогда о таком не слышал. Ты со знатоками советовался?

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

Алгоритм наконец-то заработал как надо, но хочу пока погонять его немного, вдруг еще что-то всплывет.
cax
QUOTE (wallfire @ 02-02-2006, 20:09)
cax ты не мог бы мне ответить на такой вопрос. После руссификации у меня не отображаются буквы кирилицы ы я ь как в названиях файлов так и в osd. Font самодельный 0-256 ср1251 может я что ещё упустил? удели минутку!?
Фонт самодельный - это хорошо, но если ты используешь мою подпрограмму, то тебе надо и фонт специальный создать, с продублированными буквами с кодами 250-255 на, если помню правильно, позициях 05-10 (проверь в любой моей прошивке)
moroz
QUOTE (cax @ 01-02-2006, 11:19)
moroz, а давай сначала я тебе подскажу как довести до ума меню в новой прошивке
Кажется, пришла пора. И как же это делается?
wallfire
cax вот твоя подпрограмма которую я использую
CODE
10 39 01 B4 88 7B 04 28 C8 7B 07 D0 88 7B 05 28 C8 7B 0E D0 0E E0 00 00 00 00 00 00 01 28 01 D1 A7 30 04 E0 51 28 01 D1 67 30 00 E0 B0 30 01 E0 00 00 50 38 F9 28 00 D9 F5 38 01 1C 01 BC 70 47

В шрифте буквы ъыьэюя я поставил на позиции 6-11 в такой же последовательности, но вместо них только "_"
Причём с другой твоей подпрограммой из Patching_HU3899_from_A_to_Z
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
было тоже самое, :1:
cax
QUOTE (moroz @ 03-02-2006, 11:54)
QUOTE (cax @ 01-02-2006, 11:19)
moroz, а давай сначала я тебе подскажу как довести до ума меню в новой прошивке
Кажется, пришла пора. И как же это делается?
moroz,

сперва нам надо:
1) добавить новое сообщение "Hebrew-normal"
2) добавить в меню Mpeg4-Subtitle новый пункт с этим сообщением
3) изменить меню так, чтобы этот выбор сохранялся также в ячейке ARM

4) при в ходе в процедуру переворота проверить содержимое этой ячейки.

(1)-(3) я сделаю сам и пришлю, тебе же надо будет добавить и проверить у себя (4).

На данный момент я не умею находить в АРМ неиспользованные ячейки.

Попробуй пока проверять на 0/1 ячейку 0x33, и тогда включение реверса будет происходить при переключении пункта меню "General->Closed captions" (кстати, а для чего оно ?)

И ещё: как у тебя влезла твоя подпрограмма в АРМ ?
cax
QUOTE (wallfire @ 03-02-2006, 13:12)
то же самое :1:
Странно. Если пропускаются символы >0x80, то должны и <0x20.
Если ни в АРМ, ни в коде 8032 нет описанных у меня в руководстве ограничений на код буквы - то я пас.

В самом крайнем случае можно забабахать эти буквы где-то между английскими и русскими, и слегка поменять код в АРМ (сейчас там буквы 250-255 переносятся на 6-11, а будут в другое место. Просто надо будет вычесть другую константу вместо F5.)
ivani4
cax
Closed captions-это дополнительные данные в субтитрах ,которые имеются иногда в двд дисках .Отличие от обычных субтитров в том, что субтитры предназначены для людей с нормальным слухом, а эти данные для слабослышащих. Например,субтитры не передают обычные звуковые эффекты, такие как звонок телефона или звук шагов.
cax по утру настрочил тебе писмецо.Получил?
ivani4
wallfire
Известен случай решения подобной проблемы размещением букв ъыьэюя дополнительно в местах 27-32.Попробуй,вдруг повезёт.
wallfire
QUOTE (cax @ 03-02-2006, 16:26)
Странно. Если пропускаются символы >0x80, то должны и <0x20.
Если ни в АРМ, ни в коде 8032 нет описанных у меня в руководстве ограничений на код буквы - то я пас.

В самом крайнем случае можно забабахать эти буквы где-то между английскими и русскими, и слегка поменять код в АРМ (сейчас там буквы 250-255 переносятся на 6-11, а будут в другое место. Просто надо будет вычесть другую константу вместо F5.)
cax С меня :beer1: Ты как всегда был прав я подставил другую константу "F6" и перенёс буквы соответственно (в середину шрифта). Теперь всё в лучшем виде! Спасибо за помощь!

cax а никто не пробовал прикрутить показ MP3 тегов в тех прошивках где их нет?
QUOTE
ivani4
Известен случай решения подобной проблемы размещением букв ъыьэюя дополнительно в местах 27-32.Попробуй,вдруг повезёт.
ivani4 Там тоже не прёт!
moroz
cax, не надо никакой свободной ячейки. Все что нужно - это добавить еще одно значение в опцию Mpeg4-Subtitle.
Я не очень понял, при чем здесь Closed Caption. Переворот я подвешу на имеющуюся опцию Hebrew, а когда/если добвится Hebrew-normal - она будет выбирать ивритский шрифт но не будет вызывать переворот. Кстати, семантику надо бы доработать, а то не очень понятно: нормальный иврит - это как?

Идея проверять это на моем плеере мне не нравится. Если он умрет - оживить его я не умею.

Теперь по поводу проверки значений меню из АРМ
QUOTE
Что касается офсета - то мы его знаем: в строке меню 6-е число
Я посмотрел в МТКРемейкере - шестое слово в очень многих пунктах - ноль, в т.ч. и в Mpeg4-Subtitle, который мне нужен. Не могут же все они использовать одну и ту же ячейку. Наверно я что-то не так понял. Не мог бы ты прояснить этот момент?

QUOTE
И ещё: как у тебя влезла твоя подпрограмма в АРМ ?
Еще больше распухла и теперь с трудом влезает в свободное место.
cax
Объясняю.
Mpeg4-Subtitle не имеет ячейки в АРМ, и неизвестно когда я подберу свободную. Для тестирования переключателя я предложил тебе ПОКА ЧТО в качестве переключателя попробовать Closed Caption, потом мы её заменим. Остальное, в том числе тестирование (у меня апекс 2102 будет ещё пару дней дома) за мной.

Теперь ты объясни. Ты говорил, что встраивал процедуру переворота в прошивку с моего сайта (5.0 ?), но там часть пустого места уже занята. Она и раньше не влезала, так как же она влезла сейчас ??
moroz
QUOTE
Mpeg4-Subtitle не имеет ячейки в АРМ
Аааа.... Теперь ясно.

QUOTE
Теперь ты объясни. Ты говорил, что встраивал процедуру переворота в прошивку с моего сайта (5.0 ?), но там часть пустого места уже занята. Она и раньше не влезала, так как же она влезла сейчас ??
Вопрос, конечно, интересный... То-ли я взял предыдущую версию, где этого кода не было, то-ли сослепу его затоптал (скорее второе, судя по моим промежуточным файлам, которые у меня сохранились). А что?
cax
Ладно, давай продолжим по мейлу - borus собака mail.ru, присылай последний вариант.
cax
Посмотрел сегодня на некоторые творения sickboy666. Парень, конечно, молодец, повтыкал ивритский шрифт в десятки плейеров, знает достаточно много - только в ассемблере не рубит, документацию для пользователей пишет, на вопросы отвечает в форуме и т.д., в общем - работает в поте лица. Одно неясно - зачем надо было подписывать мои прошивки для Юндая 02.09 и 07.11 своим именем, если всё, что он в них заменил - это 2 картинки.
Впрочем, пусть балуется, он у нас товарисч популярный. sickboy666 - это уже не просто ник, это - марка.
cax
moroz, а что ты думаешь про правильный показ ивритских имён файлов ?
Правда, я пока не знаю где там начинается буфер с именем файла (ко мне в Unicode2CP приходит текущая буква), да и буквы там двухбайтовые, но принцип-то тот же.
ivani4
cax
баг 60
QUOTE
ROM:0000E884 3C 28 CMP R0, #0x3C
ROM:0000E886 01 D9 BLS loc_E88C
ROM:0000E888 3C 20 MOV R0, #0x3C
QUOTE
Например если вместо регистра R0 используется R6 ,то вся последовательность изменится.
Маэстро,может использоватся только два варианта - R0 или R6?
Или может быть какой угодно регистр?
cax
Теоретически регистры могут быть любые.
В этом месте существенно то, что через строку используется один и тот же.
И как ты заметил немного ранее, у меня описка - не 0x3C, а 0x3E.
Прошу прощения за введение в заблуждение.
ivani4
cax
1. О.К.Эту мысль я понял .Спасибо.
2. В твоём варианте это дело нашлось в начале АРМ.Так может быть есть условная граница(зона) за которой уже можно не искать?Или это может находится в любом месте в АРМ?
kisav
QUOTE (cax @ 30-01-2006, 10:45)
QUOTE
kisav: читай внимательнее - кроме АРМ надо также пропатчить и код 8032, и подчерки заменятся на буквы.
Об этом писалось в этой самой теме.

cax: Продолжая тему, хочу спросить

QUOTE
"...Теперь вместо названий на рус/ивр сплошной подчерк. Проверял несколько раз сделанные изменения.Ошибки не нашёл..."
"...Давай для очистки совести поищем в АРМ вот такое (хотя тоже вряд ли найдётся): 7E 22 20 21

Если найдёшь - попробуй заменить на FF 22 00 21..."

- У меня нашлась эта комбинация целых 7 раз. Ну я их и заменил. Все. Нормально? Русский все равно не появился.

Теперь по 8032 коду:

Если я правильно тебя понял, ты сылаешся на http://cax.nm.ru/mtk/docs/Patching_HU3899_from_A_to_Z.txt

В нем есть такое:
QUOTE
"...3) Show cyrillics in file browser instead of '_' chars...."

"...Howto:

In 8032 code look for ("XX" is a wildcard char):

90 XX XX E0 FF 90 XX XX E0 FE C3 9F 50 05 C3 EF (I found it at 15E9E)..."
.

А у меня такого нет. Смотрел прошивку через xvi32.
У тебя есть буддийские заклинания для меня :p
cax
kisav, ты с какова горада есть заклинание для тебя.

Там далее по тексту есть такое:

ROM:00015EEB 94 20 subb A, #0x20
ROM:00015EED 40 06 jc ROM_5EF5
ROM:00015EEF E0 movx A, @DPTR
ROM:00015EF0 D3 setb C
ROM:00015EF1 94 7E subb A, #0x7E
ROM:00015EF3 40 10 jc ROM_5F05

Попробуй поискать, соответственно, 94 20 40 xx xx xx 94 7E
cax
QUOTE (ivani4 @ 05-02-2006, 17:54)
cax
1. О.К.Эту мысль я понял .Спасибо.
2. В твоём варианте это дело нашлось в начале АРМ.Так может быть есть условная граница(зона) за которой уже можно не искать?Или это может находится в любом месте в АРМ?
2. По идее должно найтись где-то в конце первых 64К.
Когда найдёшь - ты легко узнаешь листинг кода, если ознакомишься с предлагаемым в руководстве документом NewAge по субтитрам.
Там же посмотри на разные байты до и после, может они тебя наведут на нужное место.

В принципе, я свою инструкцию так и составлял: подыскивал характерные цепочки байтов вокруг требуемого места (как видишь, не всегда и не у всех они точно совпадают).

3E 28 xx xx 3E 20 у тебя должно было найтись достаточно легко, а чуть в стороне от него, на расстояниях соизмеримых с расстояниями от этого места в том же Hyundai, должны найтись остальные два 3E.

(я имею в виду фрагмент
3Е 28 CMP R0, #0x3Е
01 D9 BLS loc_E88C
3Е 20 MOV R0, #0x3Е)
kisav
QUOTE (cax @ 06-02-2006, 02:12)
kisav, ты с какова горада есть заклинание для тебя.

Там далее по тексту есть такое:

ROM:00015EEB 94 20 subb A, #0x20
ROM:00015EED 40 06 jc ROM_5EF5
ROM:00015EEF E0 movx A, @DPTR
ROM:00015EF0 D3 setb C
ROM:00015EF1 94 7E subb A, #0x7E
ROM:00015EF3 40 10 jc ROM_5F05

Попробуй поискать, соответственно, 94 20 40 xx xx xx 94 7E
Нет я наверное с деревни :lol: потому что в упор не вижу ентого кода.
Вот в твоем Hyundai 3899 Servo 02.09 - orig MTK.BIN я его вижу
дважды:

12DA3
15EEB

Так это не лечится? :wink:

cax
kisav: лечится всё, но в данном случае мои идеи исчерпаны. Звыняй.
А что за плейер ?
ivani4
cax
А байт подлежащий изменению обязательно 3E или 3C ?
Или может быть другое значение ?
cax
ivani4:

Если там что-то другое, то скорее всего там уже нет "баг 60".
0x3E = 62, а с учётом конца строки примерно 60 и получается.
ivani4
cax
QUOTE
Если там что-то другое
Если бы знать где оно находится это там...
А баг 60 присутствует .Это точно.
Учитывая что ничего похожего (на мой взгляд) с 3Е(3С) не нашлось,то не подойдет ли нам случайно 05 вместо 3Е(3С)?
cax
То есть, по-твоему субтитры обрезаются не после 60-го символа, а после 5-го ???
ivani4
Ну давай смейся,смейся над неграмотным.Тем не менее я думаю что поиск веду правильно.Тренировался на Юндай.
Единственное ,что в моём варианте заинтересовало меня:

ROM:00021460 3E 2F CMP R7, #0x3E ; '>'
ROM:00021462 00 D9 BLS loc_21466
ROM:00021464 3E 27 MOV R7, #0x3E ; '>'

Нашлось по адресу 21460 ,но не получается найти к нему те другие добавочные дела типа:

ROM:000????? 3Е ?? CMP R?, #0x3Е
ROM:000????? ?? ?? BCC loc_ ????
cax
ivani4, прошивки бывают очень похожие, и бывают очень разные. Скорее всего у тебя именно мало похожая на остальные, а рецептов на все случаи жизни нет.

А "CMP R?, #0x3Е" с другими B?? (не BCC) есть в ближнем радиусе поиска от найденного тобой фрагмента ?

В крайнем случае заменишь 3E->FF только в найденном фрагменте, и посмотришь что получилось. По идее иногда будет обрезаться, иногда не будет (но уже лучше чем ничего)
ivani4
Подскажи,пожалуйста,какие бывают B??
cax
Запусти BCalc, увидишь варианты в селекторе команды перехода.
ivani4
QUOTE
В крайнем случае заменишь 3E->FF только в найденном фрагменте, и посмотришь что получилось. По идее иногда будет обрезаться, иногда не будет (но уже лучше чем ничего)
Сделал эти изменения и всё получилось.Меня просто распирает от счастья.САХ,огромное тебе спасибо.Без твоей поддержки я бы не справился.
Правда не совсем понятно что значит иногда будет обрезать ,иногда нет.Но в любом случае уже это большой успех.Ещё раз огромное тебе СПАСИБО!!!
QUOTE
А "CMP R?, #0x3Е" с другими B?? (не BCC) есть в ближнем радиусе поиска от найденного тобой фрагмента ?
Сегодня уже не успею а вот завтра обязательно этим займусь
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:handup: :clap1: :handup: :clap1: :handup: :clap1: :handup:
cax
ivani4, займись, займись, а то если ты чего пропустил, то нехорошо это.

А теперь я прошу внимания других знатоков !
Тому, кто прочитает последние "сводки с полей" группы mt13x9 на yahoo и объяснит мне как

1) сделать, чтобы использовались все файлы субтитров на диске, если одноимённый с фильмом не найден (есть описание, есть даже пример кода, но я не очень врубаюсь)

2) правильно разрулить конфликтные поинтеры в MTK ARM Resizer

я буду сердечно благодарен и обещаю пиво, шоколад и другие ништяки.
kisav
QUOTE
kisav: лечится всё, но в данном случае мои идеи исчерпаны. Звыняй.
А что за плейер ?
LG LDA-511.

Был бы очень признателен если б ты мог его посмотреть поближе.
Вот сылка на мой фтп

kisav.homeftp.net (\LG 511\Original\original(2nd LG 511)-cd.bin)
ftpuser/ftpuser


Если одним спортивном интузиазмом здесь не прокатывает - намекни :actu:
ivani4
cax,я не знаю что является ближним радиусом поиска относительно адреса 21460,но нашёл похожее на нужное с 3Е в следующих местах, со следующими командами перехода:
3EF7E - BEQ
612C8 - BNE
61728 -BNE
Глубже не копал.Нужно ли?
Решил, в дополнении к сделаному ранее ,произвести изменения в двух из найденых мест :
612C8
61728
Не знаю стало ли от этого лучше ,но (как мне кажется) не стало хуже.
Хотелось бы знать твоё мнение по данному вопросу.
cax
QUOTE (ivani4 @ 07-02-2006, 06:28)
3EF7E - BEQ
612C8 - BNE
61728 -BNE
ivani4,

далековато от 21460, и это может означать одно из следующего:

1) то, что правлено по адресу 21460 - достаточно
2) то, что правлено по адресу 21460 - недостаточно, но что ещё надо - неизвестно
3) то, что правлено по другим адресам, ничего не нарушило
4) то, что правлено по другим адресам, что-то нарушило, но мы пока не знаем

Что есть на самом деле - я не знаю, и не смогу узнать, пока проблема не вылезет сама на каком-нибудь специфическом фильме или субтитре.
Надеюсь, что всё и так хорошо.
Предлагаю тему "баг 60" считать решённой (до появления возможных проблем) и требующей основательного тестирования.
ivani4
Маэстро!Я всё понял.
Считаю баг 60 условно побежденным.
Огромное тебе СПАСИБО за всё!!!!!!!!!!!!!
:handup: :clap1: :handup: :clap1: :handup: :clap1: :handup:
ivani4
cax,а какие скрипты с Yahoo нужно использовать для просмотра прошивки(не АРМ)?
cax
Обычно я не пользуюсь дополнительными скриптами - просто иду по нужному мне адресу командой G и нажимаю в этом месте C, что превращает голые байты в команды.

Но основной пакет скриптов (устанавливается в каталоги самой Иды) поставить всё же стоит. Как точно называется - не помню, но находится легко.

Обычно полагается открывать банки памяти по отдельности, но я как правило открываю весь файл целиком, и выбираю в списке процессоров "intel 51 series: 8051", и в одном из следующих окон "Choose the device name" выбираю MT1389
ivani4
cax,спасибо!Я,правда, не очень понял.Но прежде чем мучить тебя дополнительными вопросами попробую что-то с этим сделать.
cax
QUOTE (moroz @ 15-01-2006, 19:52)
можно переделать так, чтобы она отжимала текст к нижней кромке окна, т.е. добавляла пустую строку или две там где это необходимо.
Я только что заметил, что в MTKWindows есть опция "Vertical align (Top/Bottom)". Похоже, что тебе ничего делать и не надо :) Когда эта опция появилась - понятия не имею - может в последней версии, а может и раньше была... Проверю на досуге.
moroz
Да, похоже. Интересно, как они это делают?
cax
Скорее всего так же, как и центрирование и цвет субтитров, окантовка букв, степень их прозрачности и исчезновение сообщений типа значка зума спустя заданное время - все эти возможности были заложены в самой прошивке изначально, но не активированы.
kisav
QUOTE (cax @ 06-02-2006, 08:40)
kisav: лечится всё, но в данном случае мои идеи исчерпаны. Звыняй.
А что за плейер ?

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

Я тут просматривал аналогичную ветку на IXBT и могу сказать, что проблема эта не единична.

http://forum.ixbt.com/topic.cgi?id=62:4400-25
и
http://forum.ixbt.com/topic.cgi?id=62:4400-26

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


cax
kisa, я и правда не всесилен. Если я говорю, что нет идей - значит так оно и есть. Энди на IXBT меня покруче будет, если он не знает - то и я не сумею. Извини.
moroz
QUOTE (cax @ 17-02-2006, 00:29)
Скорее всего так же, как и центрирование и цвет субтитров, окантовка букв, степень их прозрачности и исчезновение сообщений типа значка зума спустя заданное время - все эти возможности были заложены в самой прошивке изначально, но не активированы.
Да. точно. вот оно (все из той же статьи)

; Used for bottom align (bSettings AND 0x01 = 0x01 &#1488; bottom align, otherwise top align)
SUB_CalcStartPosY
PUSH {R3-R7,LR}
LDR R7, =SUB_Mpeg4SubtitleParamsRecord
LDRH R6, [R7,#2] ; wY1
LDRB R1, [R7,#0xA] ; bSettings
LSL R1, R1, #0x1F ; 0x01 << 0x1F = 0x80000000
BPL EXIT ; positive or zero (bSettings AND 0x01 = 0x00)
BL SUB_SubtitleTextLineCount
ADD R5, R0, #0
LDR R0, =SUB_Mpeg4SubtitleParamsRecord

ADD R0, R6, #0 ; R0 = R6
POP {R3-R7}
POP {R3}
BX R3

Достаточно поднять нулевой бит в байте по оффсету 0хА.
"Учите матчасть" называется :)
ivani4
cax
QUOTE
Я только что заметил, что в MTKWindows есть опция "Vertical align (Top/Bottom)".
!!!!!!!!!!!!!!!!!!!!!!!!!!!Проверил.Работает!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
:handup: :clap1: :handup: :clap1: :handup: :clap1: :handup: :clap1: :handup: :clap1: :handup: :clap1: :handup:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!Огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Rvs
kisav

Если я правильно понял ты в нёс изменения в ARM и у тебя теперь подчёрки вместо русских букв????

Если да, то кинь твою прошивку на ruslan(тузик)tiraet.com посмотрю, помогу!!!! :)
Rvs
kisav

нашёл твою процедуру с заменой `_` на русские. :) Она немного отличается от описаной у сах поэтому и не нешёл ты её. У тебя кабель для прошивки есть??? Что бы ты не нароком DVD не завалил, т.к. есть сомнения, у себя проверить не могу прошивка 2Mb, а у меня 1Mb.
Rvs
kisav

Вот так выглядит твоя функция, точнее её часть, она находиться в Bank3, с адреса DBCE и DD21:

mov A, R7
xrl A, #0x20
jz ROM_DD5E

mov A, R7
xrl A, #0x5F
jz ROM_DD5E

mov A, R7
jz ROM_DD5E

setb C
subb A, #0x2B ; '+'
jc ROM_DD38

mov A, R7
subb A, #0x3A ; ':'
jc ROM_DD5E

mov A, R7
setb C
subb A, #0x40 ; '@'
jc ROM_DD43

mov A, R7
subb A, #0x5B ; '['
jc ROM_DD5E

mov A, R7
setb C
subb A, #0x60 ; '`'
jc ROM_DD4E

mov A, R7
subb A, #0x7B ; '{'
jc ROM_DD5E

попробуй для начала в выделенные команды поставить значение x00 и xFF соответственно. Если не пойдёт, то в понедельник скажу как переписать всё функцию целиком. ;)
Но будь внимателен, если кабеля нет, можешь завалить аппарат!!!

Ну всё дерзай, удачи, если получиться отпиши обязательно!!!! :)
cax
Rvs, я к тебе с поклоном и просьбой: научи находить PREF_SetChar. Надо для имплементации сохранения громкости по методу Энди007.
moroz
QUOTE
научи находить PREF_SetChar
Этот вопрос уже задавался. Есть скрипт для IDA.
Post Link: APEX DVX - 811//815
Rvs
Привет сах!!!

Вот так выглядит функция PREF_SetChar в Yamada 6600

CODE

mov DPTR, #0xFB9F
mov A, R6
movx @DPTR, A
inc DPTR
mov A, R7
movx @DPTR, A
inc DPTR
mov A, R5
movx @DPTR, A
mov DPTR, #0xFB9F
movx A, @DPTR
mov R6, A
inc DPTR
movx A, @DPTR
mov R7, A
cjne R6, #0xFF, ROM_A080
cjne R7, #0xFF, ROM_A080
setb C
ret



а так в моей XORO400Pro:
CODE

mov DPTR, #0xFB8B
mov A, R6
movx @DPTR, A
inc DPTR
mov A, R7
movx @DPTR, A
inc DPTR
mov A, R5
movx @DPTR, A
mov DPTR, #0xFB8B
movx A, @DPTR
mov R6, A
inc DPTR
movx A, @DPTR
mov R7, A
cjne R6, #0xFF, ROM_9D5B
cjne R7, #0xFF, ROM_9D5B
setb C
ret


смысл я думаю понятен, у себя ты должен искать 90 ? ? EE F0 A3 EF F0 A3 ED F0
скорее всего найдуться несколько, но похожая только одна. У процедуры обязательно должен быть Bank Sw и скорее всего расположена в Bank1.

До понедельника!!! Удачи!!! Если всё ОК отпиши!!! :)
cax
moroz, не шуткуй, лучше объясни что я не так делаю.
Может скрипты на ИДА 4.8 не работают ?
Я получаю сообщение
MT1389_Misc.idc 746: Syntax error near <END>
cax
Так, пожалуй, поточнее будет - находится 1 раз, а не десятки.
90 ?? ?? EE F0 A3 EF F0 A3 ED F0 90 ?? ?? E0 FE A3 E0 FF BE FF

Теперь ищем, как в случае с PREF_GetChar, 90 xx xx, где xx xx - адрес, с которого начинается приведённая выше последовательность, и находим это дело по одному разу в каждом банке, и каждый раз в том же самом месте.

Отлично.


Осталась ровно одна непонятка: не факт, что используемая Энди ячейка 0x55 в EEPROM также свободна и в других прошивках. На IXBT я вычитал, что для этого делают разведку боем, а именно подключают кабель и смотрят где в EEPROM прибора есть FF. Стрёмно...
moroz
QUOTE (cax @ 18-02-2006, 19:58)
moroz, не шуткуй, лучше объясни что я не так делаю.
Может скрипты на ИДА 4.8 не работают ?
Я получаю сообщение
MT1389_Misc.idc 746: Syntax error near <END>
Все уже нашлось и без меня, но все-таки...
Я не большой знаток скриптов, но одну вещь я про них знаю: это текстовые файлы. Это значит, что если уж совсем тоскливо, то можно посмотреть им в душу и все что нужно про них узнать. Так, если мы заглянем в MT1389_Misc.idc, то увидим, что искомую функцию он ищет по последовательности FF BE FF 05 BF FF 02 D3 22. А заодно прочтем, что перед его запуском нужно прокрутить какие-то другие скрипты. Может, я так и сделал когда им пользовался, убей - не помню...
cax
moroz, посыпаю голову пеплом. Я собирался сделать именно то, что ты сказал - заглянуть в скрипт, но, видимо, торможу. Кстати, последовательность из скрипта приводит в середину подпрограммы, а не в её начало, но это уже ерунда - ищем назад до ближайшего RET (0x22) и со следующего за ним адреса и начинается наша искомая функция.
kisav
QUOTE (Rvs @ 18-02-2006, 14:19)
kisav

Вот так выглядит твоя функция, точнее её часть, она находиться в Bank3, с адреса DBCE и DD21:

mov A, R7
xrl A, #0x20
jz ROM_DD5E

mov A, R7
xrl A, #0x5F
jz ROM_DD5E

mov A, R7
jz ROM_DD5E

setb C
subb A, #0x2B ; '+'
jc ROM_DD38

mov A, R7
subb A, #0x3A ; ':'
jc ROM_DD5E

mov A, R7
setb C
subb A, #0x40 ; '@'
jc ROM_DD43

mov A, R7
subb A, #0x5B ; '['
jc ROM_DD5E

mov A, R7
setb C
subb A, #0x60 ; '`'
jc ROM_DD4E

mov A, R7
subb A, #0x7B ; '{'
jc ROM_DD5E

попробуй для начала в выделенные команды поставить значение x00 и xFF соответственно. Если не пойдёт, то в понедельник скажу как переписать всё функцию целиком. ;)
Но будь внимателен, если кабеля нет, можешь завалить аппарат!!!

Ну всё дерзай, удачи, если получиться отпиши обязательно!!!! :)

To RVS
Благодарю. Но то че ты написал требует дополнительной разжовки :p .
Шнур есть. Жаль что ждать придется аж до понедельника.

To Cax
Может ты мне переведешь что написал RVS. Мне обязательно нужна IDA?
В xvi32 это можно сделать? Если да то что и где менять?

Спасибо всем. Буду ждать.
cax
Получил сегодня из ремонта в сервис-центре STS свой Apex JDP707.

Сперва мне позвонили несколько дней назад с предложением поменять весь корпус из-за разбитого крепления крышки за ни много ни мало - 280 шекелей, а это почти треть от стоимости всего аппарата. Я отказался от замены корпуса, но уже был рад, что сам аппарат починили по гарантии и не взяли денег (а ведь на нём ясно были видны следы вскрытия).
Но самое поразительное, что крышку мне тоже починили, и опять денег не взяли.
Доволен как слон.
moroz
Ну вот и вознаграждение от Прусмана :laugh: Довольствуемся малым, счастливы от пустяка... А корпус они наверно с самого начала по ошибке починили, а потом решили с тебя содрать :actu:
Rvs
kisav

Желательно что-бы ты научился пользоваться IDA-ой, иначе мне прийдётся тебе, каждый шаг писать, а у меня не много времени. Так что поробуй IDA-ой открыть Bank3 перейти по адресу что я указал (нажать G), далее С и ты увидиш всю свою функцию и адреса!!! Внесёшь изменения через свой xvi32 по адресу, но уже начинающегося с 3, т.к. Bank3.
Дерзай!!! :)
Rvs
cax

Посмотрел внимательно MT1389_Misc.idc, есть интересная процедура SetVolume, не смотрел???
kisav
QUOTE (Rvs @ 20-02-2006, 18:48)
kisav

Желательно что-бы ты научился пользоваться IDA-ой, иначе мне прийдётся тебе, каждый шаг писать, а у меня не много времени. Так что поробуй IDA-ой открыть Bank3 перейти по адресу что я указал (нажать G), далее С и ты увидиш всю свою функцию и адреса!!! Внесёшь изменения через свой xvi32 по адресу, но уже начинающегося с 3, т.к. Bank3.
Дерзай!!! :)
RVS,

вот что имею

ROM:0270 E5 90 mov A, P1 ; B_BANK3
ROM:0272 54 07 anl A, #7
ROM:0274 B4 03 02 cjne A, #3, ROM_279
ROM:0274
ROM:0277 E4 clr A
ROM:0278 73 jmp @A+DPTR
ROM:0278


Наверное, не тот банк. Давай по порядку:
IDA 4.8. Взял целиком всю прошивку, загнал ее в IDУ. Какие ни будь скрипты нужны? Где переходить в bank3? В 'Names window'? Дай знать, чего я не так делаю.

Могу предложить тебе требуемый .idc Я загрузил его ,как раз, вчера. Дай знать если это еще актуально.

Спасибо что возишься со мной
cax
kisav, тебя просили сходить по адресам DBCE и DD21 в 3-м банке.
Банк - это кусок размером 0x10000, т.е. если ты грузишь всю прошивку, то адреса будут соответственно 0x3DBCE и 0x3DD21, а не 0270.
kisav
QUOTE (cax @ 20-02-2006, 19:54)
kisav, тебя просили сходить по адресам DBCE и DD21 в 3-м банке.
Банк - это кусок размером 0x10000, т.е. если ты грузишь всю прошивку, то адреса будут соответственно 0x3DBCE и 0x3DD21, а не 0270.

Cax,

Я это есть понимат. Но там есть только вот такое:

ROM:0003DBCE 09 .byte 9
ROM:0003DBCF 12 .byte 0x12
ROM:0003DBD0 05 .byte 5
ROM:0003DBD1 7D .byte 0x7D ; }
ROM:0003DBD2 90 .byte 0x90 ; &#208;
ROM:0003DBD3 FB .byte 0xFB ; v
ROM:0003DBD4 87 .byte 0x87 ; &#199;
ROM:0003DBD5 E0 .byte 0xE0 ; &#240;
ROM:0003DBD6 04 .byte 4

а subb A (смотрел по всей прошивке) вааще невидать. Толи не так смотрю толи не тем? :help:
cax
QUOTE (Rvs @ 20-02-2006, 15:48)
kisav

перейти по адресу что я указал (нажать G), далее С и ты увидиш всю свою функцию и адреса!!!
Повторяем урок чтения на русском языке:
надо нажать G, потом адрес, потом C.
И так далее жмём C в любом месте, где хотим опознать команды.
kisav
QUOTE (cax @ 20-02-2006, 21:35)
QUOTE (Rvs @ 20-02-2006, 15:48)
kisav

перейти по адресу что я указал (нажать G), далее С и ты увидиш всю свою функцию и адреса!!!
Повторяем урок чтения на русском языке:
надо нажать G, потом адрес, потом C.
И так далее жмём C в любом месте, где хотим опознать команды.
да... с русским у меня совсем плохо сегодня. :rolleyes:

нашел искомое

3DD23
3DD28


ROM:0003DD1E
ROM:0003DD21 EF mov A, R7
ROM:0003DD22 64 00 xrl A, #0x20 --> #0
ROM:0003DD24 60 38 jz ROM_DD5D+1
ROM:0003DD24
ROM:0003DD26 EF mov A, R7
ROM:0003DD27 64 FF xrl A, #0x5F --> #0xFF
ROM:0003DD29 60 33 jz ROM_DD5D+1
ROM:0003DD29


RVS,
update: Заменил в выше указаных местах но все равно вижу одни подчерки :(

jz ROM_DD5D+1 и jz ROM_DD5E одно и тоже?


Как быть уверенным что это имено те самые места?
Вот тут еще одна похожая комбинация:

ROM:0003DB65 EF mov A, R7
ROM:0003DB66 D3 setb C
ROM:0003DB67 94 20 subb A, #0x20 ; ' '
ROM:0003DB69 50 F3 jnc ROM_DB5E
cax
QUOTE (cax @ 18-02-2006, 11:52)
Надо для имплементации сохранения громкости по методу Энди007.
Уф, кажись я его одолел. Добавить сохранение громкости несложно (описано здесь: http://groups.yahoo.com/group/mt13x9/message/6940 ), но правильно вычислить свободную ячейку для сохранения громкости оказалось задачей посложнее, требующей к тому же полевых испытаний.

Без подсказок Энди я вряд ли бы сообразил, что для поиска свободной ячейки в EEPROM надо найти все вызовы PREF_GetChar и построить таблицу используемых ячеек (верхний предел, кажется, 0xC0). Дырки в таблице и есть неиспользованные ячейки. У Энди это была 0x55, у меня же на Юндай заработала 0x77.
ivani4
cax
QUOTE
поиска свободной ячейки в EEPROM
Имеется ввиду скачивать содержимое EEPROM ,изменять и закачивать обратно?
Или в прошивке для флешки есть информация для EEPROM?
Rvs
kisav

В принципе всё правильно, но я делаю немного по другому.

1) ReMaker-ом сохраняю нужный Bank (Page).
2) Открываю его IDA-е.
3) Далее натравливаю скрипты: MT1389_Bank.idc, MT1389_More.idc, MT1389_xCASE.idc, MT1389_Misc.idc, MT1389_PS_x.idc. Для тебя хватит и двух первых!!!
4)Далее переходишь по адресу, но уже без первой цифры, т.е. тот который указал.

А изменять значения будешь в своём редакторе, но адрес уже с учётом номера Bank-а, и то что показывает IDA-а.

QUOTE
jz ROM_DD5D+1 и jz ROM_DD5E одно и тоже?
почти одно и тоже, если сделаешь как описывал, то увидишь как я написал....

QUOTE
update: Заменил в выше указаных местах но все равно вижу одни подчерки
Надо менять в обоих процедурах, если да то переделай процедуру так (дважды):
CODE

ROM:DD21 EF mov A, R7
ROM:DD22 64 00 xrl A, #0x00
ROM:DD24 60 38 jz ROM_DD5E
ROM:DD24
ROM:DD26 EF mov A, R7
ROM:DD27 64 FF xrl A, #0xFF
ROM:DD29 60 33 jz ROM_DD5E
ROM:DD29
ROM:DD2B EF mov A, R7
ROM:DD2C 00 nop
ROM:DD2D 00 nop
ROM:DD2E D3 setb C
ROM:DD2F 94 00 subb A, #0x00
ROM:DD31 40 05 jc ROM_DD38
ROM:DD31
ROM:DD33 EF mov A, R7
ROM:DD34 94 7F subb A, #0x7F; ':'
ROM:DD36 40 26 jc ROM_DD5E
ROM:DD36
ROM:DD38
ROM:DD38 ROM_DD38:
ROM:DD38 EF mov A, R7
ROM:DD39 D3 setb C
ROM:DD3A 94 A0 subb A, #0xA0
ROM:DD3C 40 05 jc ROM_DD43
ROM:DD3C
ROM:DD3E EF mov A, R7
ROM:DD3F 94 FF subb A, #0xFF
ROM:DD41 40 1B jc ROM_DD5E
ROM:DD41
ROM:DD43
ROM:DD43 ROM_DD43:
ROM:DD43 00 nop
ROM:DD44 00 nop
ROM:DD45 00
ROM:DD47 00
ROM:DD48 00 ......
ROM:DD49 00
ROM:DD4A 00
ROM:DD4C 00 nop
ROM:DD4D 00 nop
ROM:DD4E
ROM:DD4E ROM_DD4E:
ROM:DD4E 90 FB 8E mov DPTR, #0xFB8E
ROM:DD51 E0 movx A, @DPTR
ROM:DD52 FF mov R7, A
ROM:DD53 A3 inc DPTR
ROM:DD54 E0 movx A, @DPTR
ROM:DD55 FC mov R4, A
ROM:DD56 A3 inc DPTR
ROM:DD57 E0 movx A, @DPTR
ROM:DD58 FD mov R5, A
ROM:DD59 7B 5F mov R3, #0x5F; '_'
ROM:DD5B 12 0C 31 lcall BS:396_B0:F77E



cax
QUOTE (ivani4 @ 21-02-2006, 10:05)
cax
QUOTE
поиска свободной ячейки в EEPROM
Имеется ввиду скачивать содержимое EEPROM ,изменять и закачивать обратно?
Или в прошивке для флешки есть информация для EEPROM?
Вся работа только с прошивкой, никаких скачиваний ЕЕPROM.

Патч работает так:

1) в место в прошивке, где устанавливается громкость в 20 при включении аппарата, вставляется код, который вместо этого читает уровень громкости из ячейки EEPROM и устанавливает его соответственно.

2) в место в прошивке, вызываемое при нажатии Volume, вставяется код, который сохраняет текущую громкость в ту самую ячейку EEPROM.
ivani4

cax
видал?
www.divx-israel.cjb.net

cax
QUOTE (ivani4 @ 21-02-2006, 15:46)
cax
видал?
www.divx-israel.cjb.net
Пока там не появляются мои файлы, я не имею к ним претензий.
Свои деньги они берут за подъехать, подключить, установить, и это в принципе копейки - много так не заработать, да и много мороки и временных затрат.

Единственное, что мне приходит в голову - это предложить им за деньги добавление в их прошивки переворота иврита, если они сами ещё не научились.
Но это тоже обречено на провал - во-первых, они сами имеют копейки и им не с чего платить, а во-вторых мне кажется, что они и сами не дураки :)
ivani4
cax
А сколько стоит купить у вас переворот иврита?
cax
QUOTE (ivani4 @ 21-02-2006, 17:22)
cax
А сколько стоит купить у вас переворот иврита?
Во первых, автор переворота всё-таки moroz.
Во вторых, такие вопросы на форуме не решают.
И в третьих, разработка ещё не окончена.
Задача оказалась далеко не тривиальной. Статистический анализ большой выборки файлов с ивритскими субтитрами показал, что в природе достаточно часто встречаются некорректно созданные файлы субтитров, и moroz прилагает титанические усилия, чтобы переворот и работал правильно во всех случаях, и поместился в прошивке.

Попытки китайцев написать свой переворот иврита, как видно из отзывов на форуме LioNetwork, выглядят насмешкой над здравым смыслом - то знаки препинания скачут, то числа и английские надписи переворачиваются.

moroz, заранее извиняюсь, если выдал какие-то профессиональные секреты.
ivani4
cax&moroz
А можно ли получить у вас эти некорректно созданные файлы субтитров?Просто у меня есть китаец с перевёрнутым ивритом(я писал об этом раньше).
При первом приближении работает нормально.Вот и хотелось бы проверить его с проблематичными файлами.
ivani4
Rvs
QUOTE
скрипты: MT1389_Bank.idc, MT1389_More.idc, MT1389_xCASE.idc, MT1389_Misc.idc, MT1389_PS_x.idc. Для тебя хватит и двух первых!!!
Не подскажешь где можно их скачать?
И что это есть натравливать?
ivani4
cax
QUOTE
и в одном из следующих окон "Choose the device name" выбираю MT1389
Из всего твоего объяснения по пользованию идой этот момент остался для меня не понятым.Просто не нахожу такое окно.
Имею IDA.Pro.v4.8.0.
cax
QUOTE (ivani4 @ 21-02-2006, 19:29)
cax
QUOTE
и в одном из следующих окон "Choose the device name" выбираю MT1389
Из всего твоего объяснения по пользованию идой этот момент остался для меня не понятым.Просто не нахожу такое окно.
Имею IDA.Pro.v4.8.0.
Насколько я помню, я скачал набор скриптов, и в инструкции к ним было сказано раззиповать их внутрь IDA, что я и сделал. После этого стало выскакивать это окно.
kisav
QUOTE (Rvs @ 21-02-2006, 13:12)
kisav

В принципе всё правильно, но я делаю немного по другому.

1) ReMaker-ом сохраняю нужный Bank (Page).
2) Открываю его IDA-е.
3) Далее натравливаю скрипты: MT1389_Bank.idc, MT1389_More.idc, MT1389_xCASE.idc, MT1389_Misc.idc, MT1389_PS_x.idc. Для тебя хватит и двух первых!!!
4)Далее переходишь по адресу, но уже без первой цифры, т.е. тот который указал.

А изменять значения будешь в своём редакторе, но адрес уже с учётом номера Bank-а, и то что показывает IDA-а.

QUOTE
jz ROM_DD5D+1 и jz ROM_DD5E одно и тоже?
почти одно и тоже, если сделаешь как описывал, то увидишь как я написал....

QUOTE
update: Заменил в выше указаных местах но все равно вижу одни подчерки
Надо менять в обоих процедурах, если да то переделай процедуру так (дважды):
CODE



ROM:DD21 EF mov A, R7
ROM:DD22 64 00 xrl A, #0x00
ROM:DD24 60 38 jz ROM_DD5E
ROM:DD24
ROM:DD26 EF mov A, R7
ROM:DD27 64 FF xrl A, #0xFF
ROM:DD29 60 33 jz ROM_DD5E
ROM:DD29
ROM:DD2B EF mov A, R7
ROM:DD2C 00 nop
ROM:DD2D 00 nop
ROM:DD2E D3 setb C
ROM:DD2F 94 00 subb A, #0x00
ROM:DD31 40 05 jc ROM_DD38
ROM:DD31
ROM:DD33 EF mov A, R7
ROM:DD34 94 7F subb A, #0x7F; ':'
ROM:DD36 40 26 jc ROM_DD5E
ROM:DD36
ROM:DD38
ROM:DD38 ROM_DD38:
ROM:DD38 EF mov A, R7
ROM:DD39 D3 setb C
ROM:DD3A 94 A0 subb A, #0xA0
ROM:DD3C 40 05 jc ROM_DD43
ROM:DD3C
ROM:DD3E EF mov A, R7
ROM:DD3F 94 FF subb A, #0xFF
ROM:DD41 40 1B jc ROM_DD5E
ROM:DD41
ROM:DD43
ROM:DD43 ROM_DD43:
ROM:DD43 00 nop
ROM:DD44 00 nop
ROM:DD45 00
ROM:DD47 00
ROM:DD48 00 ......
ROM:DD49 00
ROM:DD4A 00
ROM:DD4C 00 nop
ROM:DD4D 00 nop
ROM:DD4E
ROM:DD4E ROM_DD4E:
ROM:DD4E 90 FB 8E mov DPTR, #0xFB8E
ROM:DD51 E0 movx A, @DPTR
ROM:DD52 FF mov R7, A
ROM:DD53 A3 inc DPTR
ROM:DD54 E0 movx A, @DPTR
ROM:DD55 FC mov R4, A
ROM:DD56 A3 inc DPTR
ROM:DD57 E0 movx A, @DPTR
ROM:DD58 FD mov R5, A
ROM:DD59 7B 5F mov R3, #0x5F; '_'
ROM:DD5B 12 0C 31 lcall BS:396_B0:F77E


RVS,
Вроде сделал все как ты сказал. Но.... эти ЛыЖи по русски не катят. :rolleyes:

Небольшая корректировка 2-го адреса: (вместо DBCE использовал 9BCE) Правильно?

ROM:9BCE 90 FB 9A mov DPTR, #0xFB9A
ROM:9BD1 E0 movx A, @DPTR
ROM:9BD2 FF mov R7, A
ROM:9BD3 64 20 xrl A, #0x20
ROM:9BD5 60 36 jz ROM_9C0D
ROM:9BD5
ROM:9BD7 EF mov A, R7
ROM:9BD8 64 5F xrl A, #0x5F
ROM:9BDA 60 31 jz ROM_9C0D

Хочешь, вышлю прошивку с последними изменениями а ты может сравнишь со своей (то есть моей но тобой правленой). Если это направление мертвое, то готов идти в другом направлении :p

Вот еще что:
Сравнивал твой пост с тем что имею у себя в IDe. Есть отличия (выделены красным). Может я должен в своей прошивке это соответственно откорректиравать?

Это не большой фрагмент из моей прошивки:

ROM:DD2E D3 setb C
ROM:DD2F 94 2B subb A, #0x2B ; '+'
ROM:DD31 40 05 jc ROM_DD38
ROM:DD31
ROM:DD33 EF mov A, R7
ROM:DD34 94 3A subb A, #0x3A ; ':'
ROM:DD36 40 26 jc ROM_DD5E
kisav
QUOTE (cax @ 22-02-2006, 00:32)
QUOTE (ivani4 @ 21-02-2006, 19:29)
cax
QUOTE
и в одном из следующих окон "Choose the device name" выбираю MT1389
Из всего твоего объяснения по пользованию идой этот момент остался для меня не понятым.Просто не нахожу такое окно.
Имею IDA.Pro.v4.8.0.
Насколько я помню, я скачал набор скриптов, и в инструкции к ним было сказано раззиповать их внутрь IDA, что я и сделал. После этого стало выскакивать это окно.

ivani4,
вот этот IDAPro47_CONFIG_2006-01-03.RAR.RAR от сюда http://groups.yahoo.com/group/mt13x9/files/Disassembling/!IDA scripts/
Звиняй если ужо не ахтуально. Часовой пояс у нас с тобой разный :wink:
ivani4
kisav
:handup:
Rvs
kisav
QUOTE
Небольшая корректировка 2-го адреса: (вместо DBCE использовал 9BCE) Правильно?

Да всё правильно, опечатка!!! :D

QUOTE
Сравнивал твой пост с тем что имею у себя в IDe. Есть отличия (выделены красным). Может я должен в своей прошивке это соответственно откорректировать?


Нет это не отличия, это ты должен был сделать как я написал, причём по двум адресам!!! ;) Будь внимателен, вроде должно было заработать :( , но я ещё посмотрю как можно переделать, если не пойдёт!!!! ;)

ivani4
QUOTE
Не подскажешь где можно их скачать?
И что это есть натравливать?

kisav указал файлы config, всё что внутри архива распихиваешь по нужным папкам с заменой существующих, после этого появиться и окно "Choose the device name", также скачай все скрипты (лишние не помешают) из указанного адреса, также вставь папку idc. После этого в IDA-е File->IDC file..., там увидишь все эти файлы, запускай как я писал. Но перед MT1389_xCASE.idc надо нажать цветок на ToolBar или Shift+F5, далее Insert и если правильно раскидал файлы, то должен появиться список файлов выбери mtk8032. И далее запускай скрипты по списку. Всё должно быть ОК.

Надеюсь разжевал!!!! :D
ivani4
Rvs&kisav
:handup: Большое спасибо за помощь :handup:
ivani4
cax
http://lionetwork.net/modules.php?name=Forums&showtopic=391441
Видал?Человек просит что бы ты инструкцию написал.
Rvs
cax

Может опять туплю, но не догоняю хоть тресни.... :(
Вы с moroz разобрались как передовать значения в ARM и обробатывать их, и вот есть кусок:

mov R5, #01
mov R7, #0x80
mov R6, #0x0F
lcall ARM_PutChar


Если я правильно понимаю смысл такой в SharedMem +0F80 записывается значение R5, т.е. 1.
Как найти процедуру в ARM-е которая работает с этой ячейкой??????

Если где ошибся подправь!!!!
cax
Если я правильно понял вопрос, то в ARM вроде бы нет специальной процедуры. В каждом месте, где нужно прочесть ячейку, она просто считывается со своего адреса. Встань на SharedMem, вызови xref (нажми X), и ты получишь список адресов, ссылающихся на него. Выбери один, и аналогично посмотри кто на него ссылается. Так ты придёшь к коду, который читает число из SharedMem.
Rvs
cax
Понял!!! Были сомнения насчёт общей процедуры, ушли...

Исходя из твоих слов должна быть примерно вот такая последовательность:
LDR R0, =ptrSHARED_MEMORY
LDR R1, 0x0F80
LDRB R2, [R0,R1]

либо

LDR R0, =ptrSHARED_MEMORY
ADD R0, 0x0F80
LDRB R1, [R0]

либо другие вариации на эту тему, но значения 0x0F80, я не где не нашел... :(
Вариант xref возник сразу, но проверить надо около 100 ссылок, проверив с 20-30, похожего не нашел..., :( думаю и не найду т.к. последовательности 0x0F80 нигде нет, в чём засада не догоняю...., как же всё таки найти.

А у меня идея такова. Хочу найти процедуру WriteFileName от NewAge-а, знаю что в эту ячейку он пишет значения для её работы. Значит найдя место где он её читает и находиться процедура, либо её часть.
Как идея на твой взгляд тупиковая или нет???? Если есть у тебя идеи на этот счёт поделись пожалуйста!!!! :mol:
cax
Я, как и ты, тоже не смог найти нужных мне чтений/записи в общую память в АРМ. Что касается изменения имени файла, я знаю об этом не более, чем требует установка функции Unicode2CP.
Rvs
cax

Ещё один тупой вопрос в чём разница этих двух команд:

LDR R0,=unk_7E2A0 и LDR R0,=loc_5E354 и как их расчитать???? :(
moroz
QUOTE (ivani4 @ 21-02-2006, 21:20)
cax&moroz
А можно ли получить у вас эти некорректно созданные файлы субтитров?Просто у меня есть китаец с перевёрнутым ивритом(я писал об этом раньше).
При первом приближении работает нормально.Вот и хотелось бы проверить его с проблематичными файлами.
Да, это было бы интересно. Вот кривой файл.
ivani4
moroz
Спасибо за файл.
При первом приближении не пугает.Переворот в норме.Цифры в норме.Есть проблема со знаками препинания.Как я вижу, файл создан так ,что ,например ,точка и вопросительный знак стоят в разных концах предложений.Точно так они и отображаются на экране телевизора.
А на что нужно ещё обратить внимание?Какую кривость ты имел ввиду?
kisav
QUOTE (Rvs @ 22-02-2006, 11:55)

Нет это не отличия, это ты должен был сделать как я написал, причём по двум адресам!!! ;) Будь внимателен, вроде должно было заработать :( , но я ещё посмотрю как можно переделать, если не пойдёт!!!! ;)


ROM:DD22 64 00 xrl A, #0x00 и ROM:DD22 64 00 xrl A, #0 одно и тоже?

Если в XVI32 меняю #0х20 на #0х00 то после перегрузки файла в IDe вижу просто #0. С этим заморачиваться или ты используешь другую версию IDы?

А делать едит прямо в IDe мона? Пока вижу только окно HEX-View.



Rvs
kisav

QUOTE
ROM:DD22 64 00 xrl A, #0x00 и ROM:DD22 64 00 xrl A, #0 одно и тоже?

Ну конечно одно и тоже!!!! :D Я тоже вижу xrl A, #0, но пишу 00 что-бы было меньше вопросов при едите!!! :)

На счёт едита в IDA-е не знаю!!! :(

Уезжаю в командировку до понедельника, так что звыняй. Если не пойдут эти изменения, в понедельник до думаем!!! Дерзай!!! :)
cax
kisav, в моей версии IDA редактировать нельзя, про другие не знаю.
А ноль он и в Африке ноль, не заморачивайся :)
Страницы: 1 2 3 [4] 5 6 7 8