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

Страницы: 1 2 3 4 5 [6] 7 8
cax
Alt-S (изменить текущий сегмент), указать новый адрес конца сегмента, снова сделать reload.
cax
QUOTE (cax @ 23-04-2006, 09:44)
Господа хорошие, a что вы знаете про полное пропадание звука при пересадке RISC ?
При более детальном рассмотрении вопроса оказалось, что у меня, как обычно, слишком маргинальные тесты, и я с ними налетел на грабли :)

Значит так. Звук не пропал. Вот что есть на самом деле:

- мой тестовый видеофайл имел звук типа "PCM audio 8000Hz 64 kb/s (1 chnl) ".
Звук из него слышен на оригинальных прошивках и Апекса и Юндая, но после замены RISC на Peekton-овский звука на этом файле больше нет ни на одном из плейеров.

- Другие нормальные AVI с MP3 вполне себе воспроизводятся на обоих ДВД и до и после замены RISC.

- Апекс на оригинальное прошивке не умел делать DTS downmix, теперь умеет.
- Юндай на оригинальное прошивке УМЕЛ делать DTS downmix, теперь НЕТ.

- Патч Rvs для имени каталога Апексу не нужен, а Юндаю безразличен.
Юндай вообще ведёт себя странно - раз показывает имя каталога верно, другой - неверно, и чаще всего - неверно.

- Есть ощущение, что Апекс стал дольше читать DVD-R, но это требует доп. проверки.
moroz
QUOTE (cax @ 24-04-2006, 01:02)
Alt-S (изменить текущий сегмент), указать новый адрес конца сегмента, снова сделать reload.
Если сделать reload, то все патчи пропадут :(
cax
Сделай другой трюк - скопируй невлезающие байты на более младшие адреса, потом восстанови вручную же :)
Rvs
cax

QUOTE
Патч Rvs для имени каталога Апексу не нужен, а Юндаю безразличен.
Юндай вообще ведёт себя странно - раз показывает имя каталога верно, другой - неверно, и чаще всего - неверно.

А ты память не пробывал смотреть через MTKTool, что там реально всякий мусор????
cax
QUOTE (Rvs @ 21-04-2006, 09:06)
Я такие вещи проверяю легко. Вычисляю адрес (SHARED MEMORY + Адр.) ввожу в его в MTKToоl в режиме Expert. Снимаю Dump (Byte) 4байта. Не забыть поставить галочку Little Endian. Если получившийся 4-х байтовый адрес находится в пределах SHARED MEMORY, тогда ввожу уже его и снимаю Dump 256 байт. И там уже видно что это такое!!!!
Всё собираюсь попробовать.
Если опишешь поподробнее, с примерами о своём плейере и адресами - типа, вписываю в такое-то окошечко такой-то адрес, жму такую-то кнопочку и т.д., а то я что-то туплю. Там ведь этих видов памяти штук 10, не меньше (у меня MtkTool 1.31).

Апдейт.
Вроде как нащупал как читать - надо выбрать не "ARM DRAM", а "DRAM (BYTE)", после чего по адресу 0338C400 я вижу знакомое содержимое SHARED MEMORY.
Но что-то по адресам 0338C400+022B и 0338C400+0231 и около них не наблюдается никаких поинтеров в SHARED MEMORY.

Может покажешь как это у тебя было или другой умный совет дашь ?
Rvs
cax

Распишу по подробней:
Запускать MTKTool в режиме Expert. Выбрать окошко Memory Dump, поставить точку возле DRAM (Byte). Ввести адрес, указать кол-во байт для считывания и START!!!

Например:
SHARED MEMORY + Адр. папки => 0338C400 + 022B = 0338C62B. Вводим полученный адрес, и ставим галочку Little endian. Считываем и получаем адрес 033828DC. Теперь вводим этот адрес, убираем галочку Little endian, кол-во байт = 64(хватит и меньше...). И вижу 01 01 08 5C 48 69 74 5F 46 4D 5C => 01 01 08 \Hit_FM\.

08 – Пока не знаю что означает.
01 01 – Папку выводить
00 00 – Папку не выводить

Пример для диска с одной папкой в корне и двумя файлами. При нескольких папках в корне, немного сложнее, но в любом случае если войти в папку то она появиться на своём месте по второму адресу. Адрес 033828DC может меняться, в зависимости от диска.
Попробуй!!!
moroz
08 - это случайно не длина строки?
Rvs
moroz

Да похоже!!! :) Не проверял пока!!!
awk
Уважаемые cax и ivani4! Прочитал вашу переписку и попробовал русифицировать своего китайца. У меня вместо русского - смесь английских букв и цифр. Все сделал по описанию cax. Вытащил файл ARM, нашел в нем "41 18 10 39 C9 7B" в двух местах, записал адреса, где находится каждый "10 39 C9 7B". Там, где "сообщения С++ об ошибках" вписал подпрограмму 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. В программу BCalc посчитал адреса, в MTKReMaker заменил ARM. Залил в китайца, CD и DVD читает, MP3 и прошивочный диск не видит. Восстановил старую прошивку через кабель. Проверил, после чего начинается такая бодяга: как только я меняю хотя бы один из "10 39 C9 7B" на посчитанные BCalc адреса. В чем засада? Объясните бестолковому. Может адреса считаю неправильно? У меня так:
23d7a- 04 f0 57 f8
23dae- 04 f0 3d f8
адрес подпрограммы 27e2d
cax
Проверил твои адреса и код, вроде всё сделано правильно.

По адресу 23d7a было 10 39 C9 7B, стало 04 f0 57 f8
По адресу 23d7a было 10 39 C9 7B, стало 04 f0 3d f8
По адресу 27e2d были тексты сообщений об ошибках, теперь там подпрограмма.

Всё так, я ничего не перепутал ?

Если ты вынимал АRM с распаковкой, и если при работе с прошивкой MTK ReMaker ни на что не ругался - тогда я даже не знаю в чём проблема.
Andy007
Проблема очень проста - твоя инструкция к сожалению не универсальна. WriteFilename2List может быть реализована в разных армах по разному. Встречал уже 3 варианта.
awk
CAX, все именно так, а MTK ReMaker ругается не очень понятно на что. Вроде просто предупреждает о возможных проблемах.

Andy007, а нет такой же понятной инструкции по решению проблемы в других ARM? Чтобы через HEX редактор, а не IDA. Об ассемблере я имею крайне слабое представление.
Andy007
Такой же нет. Особенно без IDA
Rvs
Andy007

Помоги разобраться в проблеме, как точно найти обработчик кнопок пульта!!!!

В яхе нашел вот это
CODE
mov DPTR, #XRAM_FB00   ; pressed RC keycode is here
movx A, @DPTR
lcall _C_CASE
word jumpaddress1
byte keycode1         ; some keycode from mtkremote table
word jumpaddress2
byte keycode2
...
0
0
word default_jumpaddress

Ну а дальше что, не догоняю....

Можешь объяснить для примера на кнопке "Пауза" ???
Rvs
awk

QUOTE
MP3 и прошивочный диск не видит
А что значит не видит, зависает или ещё что-то???
Andy007
rvs,
Ты у себя в прошивке цитируемый кусок нашел или нет?
Код паузы если не ошибаюсь - 14
awk
RVS, ты совершенно прав.
MP3 зависает - начинает крутить диск, на экране надпись "ЗАГРУЖАЕТСЯ", и после этого ни на пульт, ни на кнопки не реагирует. И прошивочный диск тоже. А CD и DVD -нормально воспроизводятся. Я так понял CAX именно о такой ситуации как-то раньше писал.
Rvs
Andy007

Да нашёл, причём во многих местах и во многих вариациях.... Я предположил что это опрос пульта в разных режимах работы аппарата, прав я или нет????
У меня есть вот такая инфа:
CODE
0x00 0
0x01 1
0x02 2
0x03 3
0x04 4
0x05 5
0x06 6
0x07 7
0x08 8
0x09 9
0x0D UP
0x0E LEFT
0x0F RIGHT
0x10 DOWN
0x14 STOP
0x15 >>|
0x16 |<<
0x17 REPEAT
0x19 Fast Forward
0x1A Fast Rewind
0x20 REPEAT AB
0x28 AUDIO
0x29 SUBTITLE
0x2B ANGLE
0x2C OSD/DISPLAY
0x2C OSD/DISPLAY
0x2E GOTO
0x32 SCAN/PREVIEW
0x33 PROGRAM/???
0x3B Progressive on/off
0x3D ZOOM
0x41 Normal Colors???
0x42 Green Colors???
0x43 Screen screwed???
0x44 ??? TILT ICON
0x47 ???
0x4C SURROUND
0x4D ??? TILT ICON
0x4E ???
0x56 MUTE
0x57 VOL+
0x58 VOL-
0x59 SOUND
0x5F FREQ 1, 2, 3, 4 ???
0x5C Open/Close Tray
0x5D Play/Pause
0x63 ???
0x66 ???
0x6B ???
0x6C SETUP/SYSTEM MENU
0x74 DIM (VFD brightness)
0x75 SLEEP
0x7C STANDBY (POWER)
0x7D STANDBY (POWER)
0x7E OPEN/CLOSE TRAY
0x84 ???
0x85 RETURN (TITLE)
0x87 PAUSE
0x89 PLAY
0x89 OK
0x8A DISC MENU
По ней я искал jmp адрес, но особо интересного не нашёл. Например у меня играет MP3, нажимаю паузу, останавливается, нажимаю ещё ни чего, не происходит... А вот в ямаде 6600, продолжается исполнение, с места останова.... Исходя из инфы код 0x87 для паузы, посмотрел и там и там разницы ни какой, значит что-то не то, не могу понять!!! :(

awk

Кинь твой измененный вариант на мыло ruslan(тузик)tiraet.com. Посмотрю подскажу!!!
cax
QUOTE (Rvs @ 04-05-2006, 13:11)
Да нашёл, причём во многих местах и во многих вариациях....
Я находил до 11 штук, и научился опознавать режимы DVD, DivX и отчасти браузер файлов.
Научишься опознавать остальные - расскажешь.
Rvs
awk

Вроде всё сделал правильно скорее всего не твоя вина!!!

Если в BCalc-е указать адрес From 23D7A и TO 27E2D то результат 04 F0 57 F8, но если указать пару чисел 23D7A и 27E2C, то результат то же.... :wacko:

Тот же результат и при таких парах 23D7A 27E2A и 23D7A 27E2B. Скорее всего невозможно адресовать в этот адрес либо глюк BCalc или я ещё что-то не знаю...

Так что перемести процедуру на байт выше, т.е. с адреса 27E2C и всё должно быть хорошо!!!!

Если заработает отпиши сюда!!!
Rvs
cax

Ба... я и этого не могу, :mol: научи хоть этому, может пойму и дальше разберусь!!!

Может Andy007 :mol: нам обоим растолкует на примере что я привёл????
cax
Rvs, я узнавал назначение таблиц экспериментально.
Например, в одной из таблиц менял местами вправо и влево, в другой - стоп и паузу, или цифру 2 и цифру 3 и т.д., а затем гонял плейер в разных режимах и смотрел где всплывёт какое изменение.
moroz
Обнаружил проблему с субтитрами в арме от Peekton 6002.

Во-первых, если загружено больше одного файла с субтитрами, то при прыжке (GoTo) субтитры иногда пропадают (иногда нет, зависит от места куда прыгаешь). И больше не возвращаются, пока не прыгнешь на "удачное" место.

Но это еще пол-беды. Так же было и на старом арме (05.00.03.05 к Апекс 2102). И вообще, записывать несколько файлов субтитров - это уже роскошь. Настоящая же беда вот в чем:
Если записать на диск только ОДИН файл с субтитрами типа .srt - плеер все равно показывает, что есть два файла (при нажатии на Subtitles вижу 2/2) и начинается вышеуказанная болезнь :-(

Что интересно, с файлами .sub ничего подобного не происходит - специально проверил.

Грешу на знаменитый фичер "OrgThenAll"

У кого какие мысли?
moroz
...И на этот раз солдатская смекалка не подвела бойца...

Вырубил под корень этот OrgThenAll (в меню у меня этого пока нет) - и насморка как не бывало ;)
Rvs
cax

Дааа..... так там ещё и не одна таблица :wacko: , ладно буду разбирать, есть ещё надежда на Andy007.

moroz

Если я правильно понял ты говоришь о ARM-е над которым мы сейчас колдуем??? А вообще, какие там заложены возможности по субтитрами??? У меня прошивка от NewAge там он субтитрами может вот что:
CODE
1.Выравнивание по горизонтали субтитров  
2.Выравнивание по вертикали субтитров MPEG4
3.Переформатирование субтитров
4.Выбрать страну субтитров (CP125x)
5.Установка межстрочного интервала субтитров
6.Настройка окна субтитров MPEG4
7.Установка цвета фона субтитров MPEG4
8.Настройка прозрачности фона для субтитров
9.Установка цвета окантовки субтитров MPEG4
10.Установка цвета текста субтитров MPEG4

А что из этих вкусностей есть в этом ARM-е????
moroz
На эти вопросы, наверно, сах лучше ответит. Мы с ним в паре работаем. Я со своей стороны добавляю (можно сказать уже добавил) переворот иврита и перенос длинных строк (то, что у тебя, наверно, названо переформатированием) - и для L2R, и для R2L.
Andy007
Я поступал с этими процедурами совершенно аналогично. Что ты имеешь в виду по еще одной таблицей? Кстати, коды команд в принципе уникальны для плеера. Особенно это касается кодов с номерами больше 3F
awk
QUOTE (Rvs @ 04-05-2006, 17:37)
Если в BCalc-е указать адрес From 23D7A и TO 27E2D то результат 04 F0 57 F8, но если указать пару чисел 23D7A и 27E2C, то результат то же.... :wacko:

Тот же результат и при таких парах 23D7A 27E2A и 23D7A 27E2B. Скорее всего невозможно адресовать в этот адрес либо глюк BCalc или я ещё что-то не знаю...

Так что перемести процедуру на байт выше, т.е. с адреса 27E2C и всё должно быть хорошо!!!!

Если заработает отпиши сюда!!!
Rvs, ты оказался совершенно прав. Я переместил процедуру на байт выше и все заработало. Даже русские буквы в родном шрифте уже есть. Непонятно только, почему ъ,ь,э,ю,я не воспроизводятся. Они в шрифте есть.
Rvs
awk

Они должны располагаться в начале шрифта с позиций 0/1/2, у тебя так??? ;)
Rvs
Andy007

Подскажи как найти куда поставить процедуру Show_MP3_TAG?????

У меня сейчас стоит в процедуре DIR_FileBrowser в конце, но тэги обновляються тогда когда обновляеться браузер, т.е. на каждый раз. Помоги найти!!!
cax
QUOTE (Rvs @ 06-05-2006, 06:18)
awk

Они должны располагаться в начале шрифта с позиций 0/1/2, у тебя так??? ;)
А ты человека не путай. Для того кода, что у него есть, они должны быть на позициях 05-10. Я советую просто взять готовый шрифт из моих прошивок.
cax
QUOTE (moroz @ 05-05-2006, 08:29)
На эти вопросы, наверно, сах лучше ответит.
Переведу стрелку обратно на moroz-а :)

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

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

Большая часть упомянутых "вкусностей" ничто иное, как вынесение функций MTK Windows / Font Creator в меню прошивки. Сделать несложно, но и не нужно, ИМХО :)
moroz
Ну, я бы не стал так рубить с плеча. Функции, на мой взгляд, полезные. А MTK Windows не каждый обязан уметь пользоваться. Так что если несложно - то давай. Так каждый легко сможет "заточить" прошивку под свой телевизор и свои вкусы.
А о вкусах не спорят. Тут один сегодня отколол - просил вернуть серый фон субтитрам :lol: А вы говорите...

Только все это не имеет, я думаю, отношения к ARMу. Все эти параметры меняются прямо в 8032 и передаются в АРМ.

А из субтитровых "вкусностей" в пиктоновском ARMe - это то, что субтитры не пропадают при АС3. Ну и пресловутый OrgThenAll.
cax
QUOTE (moroz @ 04-05-2006, 20:31)
...И на этот раз солдатская смекалка не подвела бойца...

Вырубил под корень этот OrgThenAll (в меню у меня этого пока нет) - и насморка как не бывало ;)
Мда. И что нам делать, если фичу эту всё-таки хочется ?

И куда теперь идти солдату ?
moroz
Если фичу хочется - значит фича будет!
Тов. hej456 все сделал культурно. В меню у него добавлен соответствующий пункт, в ARMе проверяется соответствующая ячейка - если не ноль, то фичу обходим.
Вот только чего я не понимаю - как эта ячейка может находиться не в общей памяти, а в обычном раме RAMe. Адрес 66СВС после нашей раздвижки.
moroz
QUOTE
Вот только чего я не понимаю - как эта ячейка может находиться не в общей памяти, а в обычном раме RAMe. Адрес 66СВС после нашей раздвижки.
Сам отвечаю. Никакая это не проверка меню. Это в его документе hej456 написал культурно, а в нашем арме сделал без меню. А может, это и не он?
Ну ничего, сами допишем, не проблема. Вот только все опять упирается в свободную ячейку в общей памяти. Как же нам все-таки ее найти?
cax
Вот автор фичи пишет о ней подробнее:

http://groups.yahoo.com/group/mt13x9/message/7786

твойя понимайт што имэл ввиду аффтар ?
moroz
Ну, это ты лучше меня знаешь. Аффтар берет флажок из ипрома и перкладывает его в общую память. Потому как знает, что эта ячейка свободна. А вот как он это узнал?
awk
QUOTE (cax @ 07-05-2006, 13:21)
QUOTE (Rvs @ 06-05-2006, 06:18)
awk

Они должны располагаться в начале шрифта с позиций 0/1/2, у тебя так??? ;)
А ты человека не путай. Для того кода, что у него есть, они должны быть на позициях 05-10. Я советую просто взять готовый шрифт из моих прошивок.
Спасибо всем за помощь, с шрифтами я уже разобрался. CAX прав - эти буквы должны быть на позициях 05-10. А зачем они дублируются на 251-256? Если оттуда не используются? Может их оттуда удалить?
cax
awk, а они тебе там мешают ? Занимают слишком много места ? :)
Как говорится, работает - не трогай :)
Rvs
cax
QUOTE
А ты человека не путай

Я немного другой процедурой пользуюсь, и не помню что и где и в какой процедуре должно стоять, но главное идея!!! :D
Если MP3 тэги интересны есть решение!!!
moroz
QUOTE
Функции, на мой взгляд, полезные. А MTK Windows не каждый обязан уметь пользоваться. Так что если несложно - то давай.... Только все это не имеет, я думаю, отношения к ARMу. Все эти параметры меняются прямо в 8032 и передаются в АRМ

Так то оно так!!! Я знаю что и куда и при каком пункте меню NewAge передаёт в ARM, при помощи ARM_PutChar, но .... После MP3 тэгов (я их всё таки победил :wacko: ), я уже не в чём не уверен, а именно: Да я могу передать туда все эти значения, а что толку если их не кто не читает, т.е. нет обработчика данного флажка или (это если лучше), читает но из другой ячейки.... Ты писал что у тебя много наработок по ARM-у вот и спрашиваю не попадались, ну так случайно :D эти процедурки....???? А функции действительно полезные, тут у некоторых несколько телевизоров и просят под каждый свой размер, позицию, и т.д. :D
awk
QUOTE (cax @ 10-05-2006, 09:24)
awk, а они тебе там мешают ? Занимают слишком много места ? :)
Как говорится, работает - не трогай :)
CAX, да не мешают они мне. Да и нельзя просто взять и изменить количество знаков в шрифте. Это я уже проходил. Просто до меня не доходит - а зачем нужны повторяющиеся буквы?

Уважаемые, а нельзя ли поподробнее про MP3 тэги? Мне к моей прошивке их тоже хочется приточить.
Rvs
awk

QUOTE
а зачем нужны повторяющиеся буквы?

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

QUOTE
а нельзя ли поподробнее про MP3 тэги

Без знания ассемблера врядли, есть пару моментов надо осознано вносить изменения....
moroz
Rvs
QUOTE
Да я могу передать туда все эти значения, а что толку если их не кто не читает, т.е. нет обработчика данного флажка или (это если лучше), читает но из другой ячейки....

Из другой ячейки - исключено. Тогда вообще не будет субтитров.

Теперь по-порядку:
1.Выравнивание по горизонтали субтитров
2.Выравнивание по вертикали субтитров MPEG4
5.Установка межстрочного интервала субтитров
6.Настройка окна субтитров MPEG4

Этими параметрами точно пользуются все известные мне армы

7.Установка цвета фона субтитров MPEG4
8.Настройка прозрачности фона для субтитров
9.Установка цвета окантовки субтитров MPEG4
10.Установка цвета текста субтитров MPEG4

этими - лично не видел, но уверен, что тоже.


3.Переформатирование субтитров
если это то, что я думаю (самодельный перенос строки), то эта функция может быть где угодно. Оригинальная медиатековская заложена в арм и работает пахабно.

4.Выбрать страну субтитров (CP125x)
Это я не очень понял. Может, имеется в виду выбор фонта? Тогда к арму не имеет отношения.

Rvs
moroz

Хммм... Понял попробую отпишу!!!
cax
Гонял вчера до 3-х часов ночи RISC от Peekton-а на Apex-e (с последним кодом Мороза).

Имеется одна чертовски неприятная особенность - во-первых, все диски опознаются значительно дольше, на десятки секунд. Во-вторых, если с CD всё ещё более-менее терпимо, то DVD-R (с AVI на нём) читается только, если аппарат только что включили. Попытка открыть лоток и перечитать тот же самый диск, или поставить другой, заканчивается через 2-3 минуты пыхтения надписью "No Disk". Изредка диск, вставленный не первым, всё-таки прочитывается, но всё равно неизбежно зависает в дальнейшем при запуске файлов на нём.

Reset to default + выключение из розетки не помогли. После отката на оригинальную прошивку всё снова зачиталось-заработало.

Плохи наши дела, видимо что-то не срослось.
Мороз, ты ничего подобного не наблюдал, или у тебя нет DVD-R ?

Rvs, я так и не отыскал в общей памяти имён файлов и ссылок на них.
Если верить последним вестям от NewAge, прошивка использует не более 0xF80-0x1000 байт из shared memory, может быть имеет смысл сделать дамп этих первых 0x1000 байт и поискать в нём ? Как далеко от начала общей памяти ты находил имена файлов ?
Andy007
Кстати, а каков алгоритм поиска неиспользуемых байт в shared memory?
cax
Как я понял из форума на яху, большинство прошивок использует адреса до 0xF80, значит 0xF81 и выше свободны. На некоторых используются адреса до 0x1000, значит свободные - 0x1001 и выше.
Впрочем, ты можешь и сам об этом почитать или спросить NewAge или hej456.
Rvs
cax

Мдааа.. задал ты загадку!!! У меня этот ARM, работает супер, :punk: не могу нарадоваться!!!! Причём как раз DVD-R/+R с авишками летают лучше чем CD!!!

Я на 34 листе давал пример (033828DC), взял прям сейчас посмотрел адрес, сейчас он 03382B70, т.е. получается он находиться не в общей памяти, а выше :wacko:
А что у тебя находиться по адресу 0338C62B???
Я тут посмотрел, если MP3 тэги разрешены, тогда адрес тэгов 033825DC, что тоже не в общей памяти!!! Либо NewAge ошибся либо не то имел ввиду!!! Тогда лучше снять дамп всех 4Mb DRAM, правда займёт часа полтора два, при этом открыть папку с легко узнаваемым именем и попробовать найти. Но я не знаю какой прогой сливать, та что есть (MTK Memory Dumper v0.1b), не уверен в ней надо её проверить!!!
Кинь мне на ящик твою прошивку посмотрю, что и как, может ещё и диски прочитает!!! От Hyundai работает, но шумно!!!

Andy007

Сами ищем присоеденяйся!!! ;)
cax
>Кинь мне на ящик твою прошивку посмотрю, что и как

А что там кидать - возьми у меня на сайте (cax.nm.ru) файл для Апекса - YWVX2102.BIN - и представь, что ты поменял в нём RISC на пиктоновский.

moroz
cax
QUOTE
Плохи наши дела, видимо что-то не срослось.
Мороз, ты ничего подобного не наблюдал, или у тебя нет DVD-R ?
DVD с авишками у меня нет. Мне обещали принести в воскресенье - проверю. Обычные CD загружаются как обычно - ~10 сек. с момента вставления до браузера, и еще примерно столько же загрузка фильма.
У тебя речь идет о версии 0С.02 с родным 8032?
cax
Пробовал и родной и не родной - результат один.
moroz
Таки плохо :(
Rvs
cax

Взял с сайта прошивку, у меня она заработала, но... проверить ничего не могу ARM, то старый :( . Я хотел память глянуть посмотреть что до как....
Rvs
cax

Скачал вот эту прошивку http://cax.nm.ru/mtk/fw/Apex 202102 YWVX Hebrew-Russian v6.0.zip!!!

Просматривая прошивку выяснилось что с большой вероятностью в ней есть MP3 тэги и ещё одно ты новый ARM в нё вставлял??? Если да то что менял???
Rvs
cax

Заменил ARM. Папок действительно нет!!! :( Нашёл адрес папок (03382B70), но их там не оказалось. Снял для надёжности дамп 4Mb. Нашёл только стандартную таблицу размещения файлов. Сложилось впечатление, что отображение папок не включено, по аналогии с MP3 тэгами, если в определенной ячейки shared memory записан 01 тэги выключены, хотя при этом адрес формируется, и по этому адресу находятся значения очень похожие на те, что в теперешнем случае с папками. :wacko:
Попробуй спросить в яше есть такой переключатель или нет??? Буду искать сам!!!

У меня читает и CD и DVD с авишками с учётом не родного серво можно сказать нормально, по крайне мере NO Disc не было ни разу!!!
Andy007
C папками я сталкивался - некоторые армы для типа файла папка используют код не 0x10 а 0x16. Надо в 8032 править процедуру GetFileType. Обычно это С_CCASE в caseах которого идет return 2 return 1 или return 4 + один case со спецобработкой - это и есть фолдер.
Rvs
Andy007

Хмммм... интересно, покопаюсь....
cax
Andy007 - ты просто кладезь знаний !

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

А фолдеры всё-таки хотелось бы увидеть. Rvs, надеюсь на тебя !
awk
Глубокоуважаемые гуру! Понимаю что лезу со своими мелкими вопросами в разговор мудрецов, но все же - есть ли на ваших модернизированных аппаратах функция Караоке (это когда микрофон можно подключить и песни в него орать)? Хочется приточить ваши навороты к своему китайцу (а он с этой фичей)! Но те прошивки, которые я скачивал и изучал, без этого караоке. Я проглядел в них эту функцию или ее у вас нет? У меня самого мозгов не хватит перелопатить свою прошивку через ассемблер, а прикрутить свой пульт, VFD и кнопки к неродной суперпрошивке вроде попробовал-получилось.
cax
Думаю, что это не умеет никто. Нужна оригинальная прошивка.
А в чём заключается фича ? В меню появляется возможность включать-выключать микрофон, или что-то ещё ?
awk
QUOTE (cax @ 15-05-2006, 11:39)
А в чём заключается фича ? В меню появляется возможность включать-выключать микрофон, или что-то ещё ?
cax, действительно, в меню имеется возможность включать-выключать микрофон, регулировать его громкость, добавлять к звуку из микрофона ECHO (реверберация). cax, я так понял, что ты из Израиля? В Европе эта фича, похоже не популярна. А в Азии (Китай, ну и Россия) популярна. Если интересно, то могу выслать оригинальную прошивку моего китайца на почту.
Я в нем с вашей общей помощью русские имена сделал.
Andy007
C shared memory разобрался.
Действительно дампом можно понять где используемые области, где нет.

Я вот сейчас какую фичу делаю - чтобы можно было двд-видео в броузере папками показать. Собственно это делать уже научился. Осталось меню прикрутить для этого дела.
cax
awk, а что я с ней делать буду ? У меня, слава богу, есть чем заняться. Это Энди желает странного :)
cax
Вот пункт выбора русского языка в меню:

2. Russian | Set Preference To Russian | RUS
0059 012D 03C9 18 - ROM:31A2


А вот скажите мне, повелители кабеля, что пишется в EEPROM при выборе языка субтитров (ячейка 0xB) ? 2 байта кода языка ("ru"), или 1 байт выбранного значение пункта меню (0x18), или чего-то ещё ?

В своё время после опытов я обнаружил, что выбор русского можно сделать таким кодом:

ROM:0001F9C0 7F 0B mov R7, #0xB
ROM:0001F9C2 7E 00 mov R6, #0
ROM:0001F9C4 12 06 61 lcall PREF_GetChar
ROM:0001F9C7 EF mov A, R7
ROM:0001F9C8 94 17 subb A, #0x17
ROM:0001F9CA 60 02 jz ROM_F9CE
ROM:0001F9CC 74 07 mov A, #non-russian font number
ROM:0001F9CE ........................

Код работает ! Но откуда берётся это 0x17 ? Это 0x18 из пункта меню минус один ? Как мне определить какое значение соответствует японскому, китайскому и прочим языкам ?
moroz
QUOTE (Andy007 @ 15-05-2006, 15:03)
C shared memory разобрался.
Действительно дампом можно понять где используемые области, где нет.
Если можно, побольше интимных подробностей!
Andy007
Про shared ram. Смотрю на дамп shared ram и ищу большие области заполненные нулями, причем начинающиеся с круглого числа. С вероятностью близкой к 1 - олбласти не используются.

Про русский язык. В eeprom пишется 18.

в 8032 есть табличка соответствия этого числа двухбайтовому коду:
CODE
0000023A20:  xx xx xx xx xx xx xx xx   xx xx xx xx xx 00 01 66  xxxxxxxxxxxxxxxf
0000023A30:  72 00 02 65 73 00 03 7A   68 00 04 6A 61 00 06 64  r  es  zh  ja  d
0000023A40:  65 00 07 73 76 00 08 64   61 00 09 6E 6F 00 0A 6E  e  sv  da  no  n
0000023A50:  69 00 0B 6E 6C 00 0C 69   73 00 0D 70 74 00 0E 69  i  nl  is  pt  i
0000023A60:  77 00 0F 65 6C 00 10 68   72 00 11 74 72 00 12 69  w  el  hr  tr  i
0000023A70:  74 00 14 70 6C 00 15 68   75 00 16 63 73 00 1A 69  t  pl  hu  cs  i
0000023A80:  6E 00 19 74 68 00 17 6B   6F 00 1B 6D 73 00 1C 67  n  th  ko  ms  g
0000023A90:  61 00 1D 72 6F 00 05 00   00 00 1E 00 00 00 00 65  a  ro          e
0000023AA0:  6E 00 1F 61 72 00 18 72   75 00 20 01 01 4A AF 0A  n  ar  ru    J
В подавляющем большинстве прошивок вместо 18 -> ru идет какая-то хрень или ru отсутствует напрочь! Явно заговор!!!
cax
> Про русский язык. В eeprom пишется 18.

Andy007, я чем тогда ты объяснишь, что в работающем коде используется 0x17 ? У меня этот код во всех прошивках. Проверка на 0x18 не работает.

ROM:0001F9C8 94 17 subb A, #0x17

> В подавляющем большинстве прошивок вместо 18 -> ru идет какая-то хрень или ru отсутствует напрочь!

И как результат того, что русский отсутствует в таблице, в EEPROM пишется 0x17 ???

Кстати, проверяя shared memory, я заметил, что при выборе русского текстовый код языка выставляется в "en". Надо будет попробовать влепить в таблицу русский вместо, скажем, корейского, может тогда всё будет как у людей ?

В прошивке Пионера, кстати, с русским всё пучком. Впрочем, в Пионере и кириллический шрифт имеется :)
Rvs
cax

Andy007 прав у тебя есть обработчик по адресу 2_AC8D, а в нём чтение из таблицы по адресу 3B53. И если я понял то и код и 'ru' пишется в shared. И действительно в прошивках ru нет, я обычно заменяю какой ни будь тайский на ru и всё работает. А код что ты привёл ты сам сделал или...

Но Andy007 подскажи в чём проблема если в меню по умолчанию указать русский, то после сброса по умолчанию в меню русский, а работает английский, пока не зайду и не выберу опять русский хотя он уже выбран!!! :wacko:


Andy007
Надо смотреть процедуру сброса на дефолт - очень может быть что там тоже какой-то косяк есть.
cax
Похоже, что я полный идиот, и что Carry bit у меня на входе всегда 1, соответственно "subb A, #0x17" даёт ноль при A=0x18 :)
Andy007
Вопрос - есть у кого-нибудь карта shared memory ?
Rvs
Andy007

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

А как найти процедуру сброса по дефолт???? Тот обработчик из меню, что-то маловат!!!

И ещё может, кто знает. На MP3 у меня строка состояния (та что в левом верхнем углу), по умолчанию выкл. Где храниться её состояние, что бы она была в состояние "00:00 от начала"????

cax
Ты не ответил. Процедуру ты сам сделал или заводская??? Может мне не париться с дефолтом, да подцепить её на обработчик и пусть будет русский!!!
Andy007
Rvs,
можешь привести примеры разных армов? Я пока еще не встречал различий в диапазоне 0x0-0x1000
cax
QUOTE (Rvs @ 16-05-2006, 12:27)
cax
Ты не ответил. Процедуру ты сам сделал или заводская???
Судя по идиотскому багу в ней - моя :)
А вставлена она в Sub_SetStyle вместо статического номера фонта, и теперь его можно менять из меню.
Rvs
Andy007

Я писал что общее есть ;). А первые 0x1000 байт, это от начала shared memory или от начала DRAM? Если от начала shared memory, то не уверен хотя бы по тому что например, есть ARM-ы с тэгами и без, пресловутый адрес названия папок, и тот в разных местах...

cax

А пункт 2. Russian | Set Preference To Russian | RUS это ты тоже писал или ты пользуешься Subtitle Language DVD??? Т.е. используешь это значение????
Rvs
Andy007

Вопрос который уже долго меня мучает, как всё-таки найти SetupDefs_Tab или процедуру инициализации?????? :mol: :mol: :mol:
Andy007
Если бы я знал как искать со 100% вероятностью, то проблемы эквалайзера бы не стояло:)
cax
QUOTE (Rvs @ 17-05-2006, 13:17)
cax

А пункт 2. Russian | Set Preference To Russian | RUS это ты тоже писал или ты пользуешься Subtitle Language DVD??? Т.е. используешь это значение????
Да, использую.
cax
Налетел на такие грабли: если добавляю 10-й фонт [11-12], отрубается показ 0-го, т.е. "всё в пробелах". Добавляя ещё шрифтов можно добиться того, что пропадёт и шрифт для имён файлов.

Доктор, это лечится ? Я хочу много-много шрифтов !
Rvs
cax

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

Для экономии можешь совместить несколько шрифтов, например 0 использовать и для меню и для браузера и для MPEG4 субтиров получаеться три в одном, значит экономишь 2 шрифта.

QUOTE
Да, использую.

Значит выбирая Subtitle Language для DVD, ты выбираишь язык и для MPEG4???
Rvs
cax
Andy007

Кто то делал что-бы screensaver запускался при воспроизведении MP3???

Вроде подправил прошивку, screensaver стартует, но через 1-1,5 сек. стартует опять и так постоянно из-за этого логотипчик успевает пролетет 5 см. и опять начинает с начала.

cax
QUOTE
Я думаю закончилось место выделеное под таблицу шрифтов. Как то баловался с ней, точно не помню, но кажеться она не безграничная....

Если органичение по размеру фонтов - я просто фонты укорочу, повыбрасывав из них ненужные символы, а если по их количеству - то тогда облом.

QUOTE
Для экономии можешь совместить несколько шрифтов.

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

QUOTE
Значит выбирая Subtitle Language для DVD, ты выбираишь язык и для MPEG4???

Да, а что в этом такого ?
Rvs
cax

QUOTE
Если органичение по размеру фонтов - я просто фонты укорочу, повыбрасывав из них ненужные символы, а если по их количеству - то тогда облом.

Я думаю ограничение на размер нет, ну может ооочень большой, хотя не уверен не смотрел. А вот с количеством вполне. Таблица находится в начале Data Part (если память не изменяет). т.е. перед шрифтами. Если при добавлении шрифтов адреса предыдущих не смещаються вниз, тогда всё таблица имеет конечный размер (суши вёсла)!!!

QUOTE
но я не знаю где упоминается его номер

Мне казалось что в Languages :blink:, там же указываеться номер шрифта и позиция символа. Я таким образом перемещаю этот шрифт по номерам. Если переписать Languages, думаю можно совместить.

QUOTE
Да, а что в этом такого ?

Наконец понял мысль!!! :D
Rvs
cax
Andy007

Как поменять значение по умолчанию (на картинке красным прямоугольником). У меня сейчас выкл. хочу что бы было "время от начала трэка"
Rvs
Andy007

Вот что я нашёл может будет интересно.

CODE
Shared memory

Address        Comment – Name - Size

0x0008        Parental Control code – ARM_ParentCode – 1 byte
0x0024        Preferred Menu Language – ARM_PrMenuLang – 2 bytes
        "en" - English
0x0026        Preferred Audio Language – ARM_PrAudioLang – 2 bytes
        "en" – English
0x0028        Preferred Subtitle Language – ARM_PrSubLang – 2 bytes
        "en" - English
0x002A        TV system – ARM_TVsystem – 1 bytes
        0x00 - Multi
        0x01 - NTSC
        0x02 - PAL
0x003F        DVD Region Code – ARM_RegionC – 1 byte
0x0081        Disk format – ARM_DiscType – 1 byte
        0x00 - DVD-Video
        0x02 - MiniDVD
        0x03 - VCD 3.0
        0x04 - VCD 2.0
        0x05 - VCD 1.1
        0x08 - SVCD
        0x09 - CVD
        0x0A – Audio CD
        0x0B - HDCD
        0x0C - DTS CD
        0x0D - CD-G
        0x0E – KODAK Picture CD
0x10 – ISO DVD/CD  (Nevir & Philips Update CD)
        0x11 – Update CD (Nevir SACD)
        0x12 – SACD
0x00A4        Total Tracks = ARM_TotTracks – 1 byte
0x00A5        Current Track = ARM_CurTrack – 1 byte
0x00C3        Number of Audio channels – ARM_ NbAudioCh - 1 byte
        0x00, 0x01, 0x02        - 1CH
        0x03                        - 2CH
        0x04, 0x09                - 3CH
        0x05, 0x0A                - 4CH
        0x06                        - 2.1CH
        0x08, 0x0E                - 4.1CH
        0x0B                        - 5CH
        0x0C                        - 6CH
        0x0F                        - 5.1CH
        0x10                        - 6.1CH
0x00C6        Audio format – ARM_AudioFormat – 1 byte
        0x00 - MPG
        0x01 - DTS
        0x02 - LPCM / PCM
        0x03 - Dolby Digital / AC3
        0x04 - SDDS
        0x05 - MP3
        0x06 - WAV
        0x09 - HDCD
        0x0A – AAC
0x0241        MP3 TAG option – ARM_mp3tag_opt – 1 byte
        0x00 - On
        0x01 – Off
0x024A        MP3 Tag address – ARM_Mp3TAddr – 4 bytes
0x0265        Total minutes remain – 1byte BCD
0x0266        Total seconds remain – 1byte BCD
0x0269        Single minutes elapsed – 1byte BCD
0x026A        Single seconds elapsed – 1byte BCD
0x026D        Single minutes remain – 1byte BCD
0x026E        Single seconds remain– 1byte BCD 
0x0270        Single length hours – 1byte BCD
0x0271        Single length minutes – 1byte BCD
0x0272        Single length seconds – 1byte BCD
0x0274        Total length hours – 1byte BCD
0x0275        Total length minutes – 1byte BCD
0x0276        Total length seconds – 1byte BCD
0x02C0        Video Setup Component – ARM_Compo – 1 byte
        0x00 - Multi
        0x01 - NTSC
0x03E0        Version – ARM_Version – 4 bytes
0x03E4        RISC Version – ARM_RISCVersion – 4 bytes
0x03E8        8032 Version – ARM_8032Version – 4 bytes
0x03EC        DSP Version – ARM_DSPVersion – 4 bytes
0x03F0        Servo Version – ARM_ServoVersion – 4 bytes
0x03F4        Sub Version – ARM_SubVersion – 4 bytes
0x04E0        Firmware Id – ARM_FirmId – x bytes, until null char
0x0500        Firmware FileName – ARM_FirmFile – x bytes, until null char
0x08E0        File/Dir table for Browser – read Info – DiscDir.doc
0x0E00        UPG_Swap_Table – 32 bytes
0x0E60        Subtitle buffer, starts with 16 bit subtitle length
0x1AF9        Preferences
Andy007
ага. спасибо.
cax
Я тут уже давно прыгалку на время через меню хочу сделать, т.е. во время воспроизвдения выбираешь в меню "перейти на 30-ю минуту с начала" и оно прыгает.

Если получится - можно будет и запоминалку сделать (т.е. перейти на то место, где в последний раз нажал "стоп").

Есть мысли как это реализовать ?
Rvs
cax
Насколько я понял ты хочешь, сделать переход в MPEG4, а есть такая функция??!!!??? Что-то не видел ни где!!! А вообще мысль неплохая!!! :punk:


Andy007

Открыл файл MTK1389locs, там указан DefsTab для ямады. Нашел значение такие же и у себя. И что теперь делать??? Что это за значения, не втыкаю!!!!

00D5000A1BE0007F00E1008100181B80007D00DF0099003C1BA0007E00E000DF00001B80008000E2


Ещё вопрос ко всем!!!

Как сделать скип на MP3????
Rvs
Andy007

Я по поводу проблемы cax с папками, ты говорил править функцию DIR_GetFileType, но я не понял что именно!!!

CODE
ROM:D612             DIR_GetFileType:                        
ROM:D612                                                     
ROM:D612 EF                    mov   A, R7
ROM:D613 75 F0 10              mov   B, #0x10                
ROM:D616 A4                    mul   AB
ROM:D617 24 E5                 add   A, #0xE5 ; '&#245;'
ROM:D619 FF                    mov   R7, A
ROM:D61A E5 F0                 mov   A, B                    
ROM:D61C 34 08                 addc  A, #8
ROM:D61E FE                    mov   R6, A
ROM:D61F 12 04 03              lcall BS:47_B0:EEE7
ROM:D61F
ROM:D622 EF                    mov   A, R7
ROM:D623 12 22 1A              lcall _C_CCASE
ROM:D623
ROM:D623             ; ---------------------------------------------------------------------------
ROM:D626 D6 60                 .word ROM_D660
ROM:D628 00                    .byte 0
ROM:D629 D6 60                 .word ROM_D660
ROM:D62B 01                    .byte 1
ROM:D62C D6 60                 .word ROM_D660
ROM:D62E 02                    .byte 2
ROM:D62F D6 60                 .word ROM_D660
ROM:D631 03                    .byte 3
ROM:D632 D6 63                 .word ROM_D663
ROM:D634 05                    .byte 5
ROM:D635 D6 60                 .word ROM_D660
ROM:D637 07                    .byte 7
ROM:D638 D6 60                 .word ROM_D660
ROM:D63A 08                    .byte 8
ROM:D63B D6 66                 .word ROM_D666
ROM:D63D 09                    .byte 9
ROM:D63E D6 66                 .word ROM_D666
ROM:D640 0A                    .byte 0xA
ROM:D641 D6 66                 .word ROM_D666
ROM:D643 0B                    .byte 0xB
ROM:D644 D6 60                 .word ROM_D660
ROM:D646 0D                    .byte 0xD
ROM:D647 D6 69                 .word ROM_D669
ROM:D649 10                    .byte 0x10
ROM:D64A D6 66                 .word ROM_D666
ROM:D64C 12                    .byte 0x12
ROM:D64D D6 66                 .word ROM_D666
ROM:D64F 13                    .byte 0x13
ROM:D650 D6 66                 .word ROM_D666
ROM:D652 14                    .byte 0x14
ROM:D653 D6 60                 .word ROM_D660
ROM:D655 15                    .byte 0x15
ROM:D656 D6 66                 .word ROM_D666
ROM:D658 16                    .byte 0x16
ROM:D659 D6 66                 .word ROM_D666
ROM:D65B 17                    .byte 0x17
ROM:D65C 00                    .byte    0
ROM:D65D 00                    .byte    0
ROM:D65E D6 6C                 .word ROM_D66C
ROM:D660             ; ---------------------------------------------------------------------------
ROM:D660
ROM:D660             ROM_D660:                               
ROM:D660                                                     
ROM:D660 7F 02                 mov   R7, #2
ROM:D662 22                    ret
ROM:D662
ROM:D663             ; ---------------------------------------------------------------------------
ROM:D663
ROM:D663             ROM_D663:                               
ROM:D663 7F 03                 mov   R7, #3
ROM:D665 22                    ret
ROM:D665
ROM:D666
ROM:D666             ; --------------- ------------------------------------------------
ROM:D666
ROM:D666
ROM:D666             ROM_D666:                               
ROM:D666                                                     
ROM:D666 7F 04                 mov   R7, #4
ROM:D668 22                    ret
ROM:D668
ROM:D668             
ROM:D668
ROM:D669             ; ---------------------------------------------------------------------------
ROM:D669
ROM:D669             ROM_D669:                            
ROM:D669 7F 01                 mov   R7, #1
ROM:D66B 22                    ret
ROM:D66B
ROM:D66C             ; ---------------------------------------------------------------------------
ROM:D66C
ROM:D66C             ROM_D66C:                               
ROM:D66C 7F 00                 mov   R7, #0
ROM:D66E 22                    ret
cax
Это скорее к Andy007, его разработка. Он мне объяснять пытался, но я тупой, не понял. Ниасилил.
Andy007
Rvs,
Это все? больше нет? странно. Для начала попробуй ROM:D66C 7F 01 mov R7, #1

cax
А самое интересное с папками, что временами они показываются верно, но время от времени опять начинают сходить с ума.

Первое, что приходит в голову - это что ARM и 8032 по разному управляют памятью и время от времени кто-то один другому что-то затирает.
Rvs
cax

Мне попалась прошивка кем-то переделаная в которй нет такого кода :
CODE
subb  A, #0x20
jc    ROM_5EF5
movx  A, @DPTR
setb  C
subb  A, #0x7E
jc    ROM_5F05

но при этом все символы отображает!!! :wacko: Я сравнил её с заводской изменения стандартные, т.е. сделали широкий браузер, правили ARM, и т.д. судя по всему по твоему описанию, но символы отображает!!! Я пропатчил заводскую у меня не появились от ъ до я.

В чём проблема не в курсе????
Andy007
Проблема в том, что фильтрация может быть не только в 8032 но и в арме
Rvs
Andy007

Эта мысль, проскочила сразу!!! Для эксперемента я заменил ARM на новый в обеих прошивках всё осталось как прежде!!!

Вот процедура что в правленом ARM-е.

CODE
UnicodeToCP  
                                                               
                       SUB     R1, #0x10
                       PUSH    {R0}
                       PUSH    {R1}
                       LDRB    R1, [R1,#0xE]
                       LDR     R0, =unk_681C1
                       CMP     R1, #4
                       BEQ     loc_684E6
                       LDR     R0, =unk_682C2
                       CMP     R1, #0x20 ; ' '
                       BEQ     loc_684E6
                       LDR     R0, =unk_683C3
                       CMP     R1, #0x21 ; '!'
                       BEQ     loc_684E6
                       POP     {R1}
                       POP     {R0}
                       LDRB    R1, [R1,#0xF]
                       BX      LR
             ; ---------------------------------------------------------------------------
             loc_684E6                                         
                       POP     {R1}
                       LDRB    R1, [R1,#0xF]
                       LDRB    R1, [R0,R1]
                       CMP     R1, #0xFA ; '·'    !!!!!!.....!!!!
                       BCS     loc_684F4
                       POP     {R0}
                       BX      LR
             ; ---------------------------------------------------------------------------
             loc_684F4                                         
                       SUB     R1, #0xFA ; '·'
                       POP     {R0}
                       BX      LR
            ; End of function UnicodeToCP

Если я правильно понял то пресловутая проверка это CMP R1, #0xFA, а что тогда за таблица unk_681C1 ?????
Andy007
Это собственно таблица перекодировки. В данной функции применен табличный способ конвертации.
Rvs
Andy007

бааа точно :wall:

А по этим вопрос не подскажешь????

Как сделать скип на MP3????

"время от начала трэка"?????


Andy007
Процедуру для скипа я выкладывал на ixbt - в дух словах - посмотри обработчик в режиме игры двд и для броузера поставь тот же самый вызов. Идея - дернуть в арме setoperationmode
Страницы: 1 2 3 4 5 [6] 7 8