Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

ARMPC : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  ARMPC
На печать 
Правила 
Страница 3 из 11: « 1 2 [3] 4 5 6 7 ... 11 »

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #21 [08.11.09, 19:13] ARMPC   

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

ARM Patch Compiler - набор для компиляции патчей. Делал я его для себя, делал так, как удобно работать мне.
В качестве компилятора в пакете используется FASMARM. Обновления и исходники можно взять на http://arm.flatassembler.net/ (следует учесть, что компилятор в armpc может отличаться от того, что на официальном сайте).

Дальше пойдёт набор бессвязных фактов =)

- Многие не знают, но fasmarm вполне можно использовать и вне armpc, он даёт на выходе бинарник.

- make.bat с давних пор нужно передавать максимум два параметра - имя исходника и имя raw/cxc файла. Базовый адрес передавать не нужно, он определяется автоматически. Если внутри make.bat указать полное имя наиболее часто используемого raw/cxc файла, при запуске make.bat достаточно указать только имя исходника.

- Файл x.inc содержит описания макросов. ADR и MOVL - это не команды, это макросы. Некоторые ключевые слова в x.inc заменяются на макросы (code16, code32, ldr, org), поэтому комплияция со включением x.inc и без него даёт разный результат.

- Макросы в fasmarm, в отличие от команд, регистрозависимы. Макросы ldr/code16/code32/movl продублированы и в верхнем регистре, а вот org нет. Поэтому если вы собираете патч, используйте org, а если вы хотите получить простой бинарник, вам нужен ORG.

- В исходниках можно использовать переменные системного окружения (свойства системы, дополнительно, переменные среды). Для себя я добавил переменную FASMINC, в значении которой указал полный путь к каталогу, где лежит armpc (помните, для вступления действия в силу иногда может потребоваться перезагрузка). Так можно компилировать исходники, лежащие в любых папках, без указания полного пути к x.inc.
Код:
include "%fasminc%\x.inc"


FAR+ARMPC
Мало кто использует FAR Manager в повседневности, а вот я в нём постоянно. И компиляцию запускаю из FAR так, как мне удобно. А конкретней - простое нажатие enter на исходнике собирает патч для z610, нажатие ctrl+pgdn выдаёт меню со списком прошивок, для которых будет собираться патч. Делается оно легко:

f9 -> commands -> file associatoins -> ins -> маска файла *.asm -> описание какое вам нужно -> нужная команда на выполнение для enter и ctrl+pgdn.

У меня команды выглядят примерно так:
Код:
make.bat "!.!" C702_R3EF001

или для ручного ввода имени таргета:
Код:
make.bat "!.!" !?$armpc$target?Z610_R6DA001!

Нужно учесть, что если для типа файла есть только одно действие (как у меня на enter), то оно выполняется молча, а если несколько разных (ассоциация с *.asm добавлена несколько раз, команды на выполнение для ctrl+pgdn отличаются), то показывается меню.

В последней версии armpc компилятор чуть поправлен:
- теперь он понимает movs/cmps/adds и прочие "s" в thumb безо всяких макросов (arm режим в патчах используется нечасто, но кто-то мог допустить ошибку, убирая s у арм-команд);
- ldr и adr работают с адресами без скобок, макрос для этого больше не нужен;
- du в качестве аргумента должны подаваться строки в utf8 (т.е. сам исходник при этом должен быть сохранен в utf8 без BOM).

BOM - специальный маркер, позволяющий другим приложениям однозначно идентифицировать этот файл. В частности сохранить файл с BOM или без BOM можно во встроенном редакторе FAR и в notepad.

Скачать текущую версию


Про использование ещё раз: 
маска файла *.asm -

[ Редактировано den_po в 28.5.15 13:50 ]




promt is better than google translate
Спасибо сказали: UltraShot, -DeJaVu-, 273308715, MNS81, MahmudS, DuXeN0N, Olegat0r, ipod, Se-MaG, Slawwan, Ax, JohnNorth, Zormax, SEVENI, Alex1992, MAVER145, PRO100light, vodoo999, Blend, Alex_E, Oganyan-Arthur, TahaSpawn, BigHercules, Therion, Pixel, russ123, H0sseiN, KIBER-DEMON, Melodic_Death, clisto, Vov4ик, farid, LiNkMaN, a6b6

UserX


Новичок


Регистрация: 11.1.08
Сообщений: 20
Репутация: 151
Откуда: 57 [Rus]




 
  #22 [14.09.10, 20:20] Re: ARMPC   

 
нет, ну допустим вот:
Патч: 
    
453ae1fe: FFFF 1CD0

Адрес 453ae202 - это врезка, изначально там не FF.

[ Редактировано UserX в 14.9.10 20:25 ]




I Sе Modding
K800i/Z530i/W380i

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #23 [14.09.10, 20:25] Re: ARMPC   

 
UserX, большинство народу собирают патчи с помощью armpc, у всех, как видишь, нормальные старые данные. значит ты кривой мэйн/рав скармливаешь.




promt is better than google translate
Спасибо сказали: UserX

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #24 [18.09.10, 00:20] Re: ARMPC   

 
для тестирования

теперь вызывается так: make.bat имяфайла.asm таргет

например: D:\programz\armpc\make.bat "javapermissions.asm" W760_R3EF001

в батничке нужно прописать путь к файлам цхц/мбн/рав и дефолтовый таргет. по этому пути могут находиться папки с файлами или просто файлы:

имятаргета\phone_emp_app.cxc
имятаргета\phone_app.cxc
имятаргета\phone_acc.cxc
имятаргета\имятаргета.mbn
имятаргета.mbn
имятаргета.raw

с такой системой скрипт сам выберет нужные cxc/mbn/raw.
в исходнике можно инклюдить не жёстко, а по значению переменной %target% (гляньте устройство примера).

примеры для определения ассоциаций в фаре:

путь\make.bat "!.!" C702_R3EF001
путь\make.bat "!.!" !?$armpc$target?Z610_R6DA001!

в последнем случае будет предложено ввести имя таргета. при этом сохраняется история ввода и можно выбрать один из ранее введённых вариантов (см. скриншот)



Добавлено 18.9.10 06:03

ещё изменил. исправил компилер, теперь "ldr,addr" компилится без макроса.
выходной файл не содержит ".asm" в имени.
в принципе, можно сделать, чтоб и первые комментарии исходника в патч попадали.
как-то так:
Код: 

:outtarget
if exist out%2.vkp (
  echo ;%target% >%1.%target%%2.vkp
  %curpath%\grep -m 1 -n -v ^; %1.asm | for /F "tokens=*" %%a in ('grep -o -P ^\d+') do @grep -m %%a . %1.asm | grep ^; >>%1.%target%%2.vkp
  type out%2.vkp  >>%1.%target%%2.vkp
  del out%2.vkp
)

я ни разу до этого не пользовался grep, поэтому решение скорей всего дико кривое и переусложнённое.
grep у меня из free pascal.


Добавлено 18.9.10 16:27

вместо grep можно заюзать awk
Код:
%curpath%\awk "{ if (match($0, /^;/)) print $0; else exit }" %1.asm >>%1.%target%%2.vkp



Прикрепленный к сообщению файл:
sshot.png


promt is better than google translate
Спасибо сказали: thomassafca, Therion, Va_st, E1kolyan

awg


Patcher/Moder


Регистрация: 10.1.08
Сообщений: 604
Репутация: 2844
Откуда: г.Владимир




 
  #25 [22.09.10, 13:07] Re: ARMPC   

 
+ приложу батник и файл с коментариями для компиляции ЭП. Батник чтобы особо не путаться назвал _make.bat. Его и файл с коментариемя (coment.txt) положить в ту же папку что и выше приложеные файлы.

Соответственно для ассоциации в FAR нужно задать маску файлов ElfPack.elf и, например, по ctrl+page down написать, опять же пример:

Код:
путь\_make.bat "!.!" C702_R3EF001
путь\_make.bat "!.!" !?$armpc$target?Z610_R6DA001!


соответственно при нажатии этого сочетания выбирате соответствующую прошу, жмете энтер и на выходе получаете патч ЭП с названием таржета. Т.е. прямо из папки со скомпиленым файлом ElfPack.elf компилите патч ЭП, не заморачиваясь с копированием и пользованием ком строки.



Прикрепленный к сообщению файл:

armpc.zip armpc.zip (0.80 kb; 33 hits) Скачать файл
FAR1.JPGFAR2.JPGFAR3.JPG


К550->W610->K700->C901->Xperia Sola->Meizu MX2->Meizu M3 Note->Xiaomi Redmi Note 4x (Mido)->Redmi Note 7Pro (Violet)

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #26 [19.10.10, 16:31] Re: ARMPC   

 
погоняйте обновлённую версию компилятора. должно быть меньше проблем "code cannot be generated".
собрано из исходников fasm 1.69.25 и fasmarm 1.21.




promt is better than google translate
Спасибо сказали: Heber

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #27 [25.11.10, 21:52] Re: ARMPC   

 
собрано из исходников fasm 1.69.25 и fasmarm 1.22

добавил директиву PROCESSOR в x.inc. было лень выяснять, какие наборы команд работают на процах наших телефонов, поэтому поставил 0x3FF. инфу о наборах команд и флагах директивы PROCESSOR можете найти в fasmarm на сайте разработчика http://arm.flatassembler.net/




promt is better than google translate

MiFa


Patcher


Регистрация: 28.5.09
Сообщений: 222
Репутация: 2330
Откуда: Польша / Кросно




 
  #28 [15.12.10, 21:29] Re: ARMPC   

 
What is problem with unable to read "temp.bin" when i try compile any patch? :oops:




NLB

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #29 [16.12.10, 13:11] Re: ARMPC   

 
не может прочесть файл, значит файла нет.
раз файла нет, значит компилятор его не создаёт.
компилятор не создаёт, значит ошибка в исходнике.
надо внимательней читать, что пишет компилятор.




promt is better than google translate

MiFa


Patcher


Регистрация: 28.5.09
Сообщений: 222
Репутация: 2330
Откуда: Польша / Кросно




 
  #30 [16.12.10, 13:45] Re: ARMPC   

 
Compiler show this message

When i try compile sourcepatch.asm.
Because i ask that can be problem with unable to read temp.bin.




NLB

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #31 [16.12.10, 14:04] Re: ARMPC   

 
MiFa, try to do all actions from make.bat step by step




promt is better than google translate
Спасибо сказали: MiFa
Страница 3 из 11: « 1 2 [3] 4 5 6 7 ... 11 »



  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.03 секунд | 12 Запросов | HTML: 51.04 КБ -