Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи 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
Репутация: 2795
Откуда: г.Владимир




 
  #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; 29 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.17 секунд | 12 Запросов | HTML: 51.13 КБ -