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

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

den_po


Developer/Admin


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




 
  #1 [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

den_po


Developer/Admin


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




 
  #2 [18.01.10, 09:27] Re: ARMPC   

 
поправил автодетект базы для старых телефонов




promt is better than google translate

den_po


Developer/Admin


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




 
  #3 [04.03.10, 04:58] Re: ARMPC   

 
обновил fasmarm до версии 1.69.11




promt is better than google translate

GaS


Expert


Регистрация: 18.1.08
Сообщений: 644
Репутация: 2553
Откуда: г.Кимры Россия




 
  #4 [21.03.10, 08:49] Re: ARMPC   

 
den_po писал:
теперь он понимает movs/cmps/adds и прочие "s"

что-то он не захотел понять при компиляции патча "win кодировка", пришлось убирать все"S", и ещё почемуто пару патчей нормально скомпилились с "loc"-ами, а один ну ни в какую




SONY Xperia GO ,J105 R1HA035

den_po


Developer/Admin


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




 
  #5 [21.03.10, 09:22] Re: ARMPC   

 
GaS пишет:
den_po писал:
теперь он понимает movs/cmps/adds и прочие "s"

что-то он не захотел понять при компиляции патча "win кодировка", пришлось убирать все"S",

«какие ваши доказательства?» ©

и ещё почемуто пару патчей нормально скомпилились с "loc"-ами, а один ну ни в какую

может, стоит почитать документацию?




promt is better than google translate

GaS


Expert


Регистрация: 18.1.08
Сообщений: 644
Репутация: 2553
Откуда: г.Кимры Россия




 
  #6 [21.03.10, 09:56] Re: ARMPC   

 
den_po, Код:
c:\>make.bat 1.asm phone_app.cxc v.info>log.txt
1.asm [17]:
                LSLS    R0, R7, 1
error: illegal instruction.




SONY Xperia GO ,J105 R1HA035

den_po


Developer/Admin


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




 
  #7 [21.03.10, 15:17] Re: ARMPC   

 
GaS,
с конкретно lsl/lsr там какая-то отдельная история была




promt is better than google translate

Sandre


Вникающий


Регистрация: 1.5.09
Сообщений: 29
Репутация: 29
Откуда: Брянск




 
  #8 [22.03.10, 09:14] Re: ARMPC   

 
Здорово парни,здорово. Почему то компилятор не сохраняет полученное. Лог такой же,как и во всех факах,а файла почему - то нету ни где. Что делать? Пробовал через асмедитор компилировать и просто через сам компилятор,навоза вместе прощивку и исходник на него


'Фу' сказали: SEVENI

den_po


Developer/Admin


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




 
  #9 [22.03.10, 13:03] Re: ARMPC   

 
Sandre, учись пользоваться командной строкой




promt is better than google translate

breeze81


Пользователь


Регистрация: 26.12.07
Сообщений: 93
Репутация: 140





 
  #10 [22.03.10, 16:49] Re: ARMPC   

 
обновите тогда уж в архиве и файл x.inc, конкретно в блоке
LDR fix ldr
DCD fix dw
DCB fix db
CODE16 fix code16
CODE32 fix code32
MOVL fix movl

жутко не хватает

ADR fix adr




C510 SW-R1HA035
Страница 1 из 11: [1] 2 3 4 5 ... 11 »



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

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