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

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

den_po


Developer/Admin


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




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

MiFa


Patcher


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




 
  #32 [16.12.10, 15:10] Re: ARMPC   

 
I dont know what is wrong, i try compile other patch.
I wrote full line in cmd with make.bat and ".
Older version armpc work correctly. This last not.




NLB

den_po


Developer/Admin


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




 
  #33 [16.12.10, 15:25] Re: ARMPC   

 
MiFa, почитай внимательно, как надо использовать последнюю версию




promt is better than google translate

blacklizard


Patchmaster


Регистрация: 22.7.08
Сообщений: 347
Репутация: 2213





 
  #34 [25.12.10, 16:27] Re: ARMPC   

 
den_po, this is what i get when manually follow the batch file.

Код: 
G:\Backup\Patch\W995_R1HA035\arm>fasmarm.exe Additional_features_in_the_player_v
1.4.asm temp.bin
flat assembler for ARM  version 1.69.25  (1572863 kilobytes memory)
2 passes, 0.3 seconds, 2791 bytes.

G:\Backup\Patch\W995_R1HA035\arm>elf2vkpex.exe -etemp.bin -fphone_app.cxc
elf2vkpex by den_po v1.0 (Aug 29 2010)
unable to read 'temp.bin'




Respect: mc_kibel, moedjs, myrzeug, den_po, IronMaster

den_po


Developer/Admin


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




 
  #35 [25.12.10, 16:57] Re: ARMPC   

 
существует ли файл temp.bin?
файл имеет формат ELF?




promt is better than google translate

den_po


Developer/Admin


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




 
  #36 [19.02.11, 20:38] Re: ARMPC   

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




promt is better than google translate
Спасибо сказали: E1kolyan, MAVER145, KIBER-DEMON

den_po


Developer/Admin


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




 
  #37 [04.03.11, 22:26] Re: ARMPC   

 
кому-то может быть полезен такой макрос:
Код: 
macro dw [arg]
{
if ~ defined __unaligneddwords
if $ and 3 <> 0
display 13,10,'there are unaligned dwords!',13,10,13,10
__unaligneddwords equ 1
end if
end if
dw arg
}

если есть невыровненные дворды, компилер предупредит




promt is better than google translate

MiFa


Patcher


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




 
  #38 [16.04.11, 12:48] Re: ARMPC   

 
i still can't use last version.
Now i have
Код:
D:\armpc>make patchw902.asm w902.cxc
target = w902.cxc
flat assembler for ARM&#12288;version 1.69.25&#12288;(1711227 kilobytes
5 passes, 1232 bytes.
elf2vkpex by den_po v1.01 (Feb 19 2011)
unable to read 'D:\svn\auto\nightbuilds\data\w902.cxc.raw'

Can someone explain me, what i do wrong?




NLB

MAVER145


Patcher


Регистрация: 11.1.09
Сообщений: 309
Репутация: 2066
Откуда: Краснодар




 
  #39 [16.04.11, 13:52] Re: ARMPC   

 
MiFa, change path in make.bat




K600 R2BB001, J10i2 R7CA064, C905 R1FA035, J108 R7EA011, U10 R7BA084

pavelsh


Expert


Регистрация: 1.3.09
Сообщений: 195
Репутация: 542
Откуда: Ижевск




 
  #40 [16.04.11, 13:53] Re: ARMPC   

 
MiFa, czytaj. Код:
unable to read 'D:\svn\auto\nightbuilds\data\w902.cxc.raw'
W make.bat należy zmienić ścieżkę do pliku firmware.

офф: 


A zaczyna się od Код:
make.bat source.asm firmware.cxc (raw)


Samochody Google Translate, oczywiście :-)

[ Редактировано pavelsh в 16.4.11 13:58 ]

[ Редактировано pavelsh в 16.4.11 13:59 ]




T700 R3EG004

MiFa


Patcher


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




 
  #41 [16.04.11, 14:06] Re: ARMPC   

 
Thanks, so i need to change path there?
Код:
if %firmwares%a==a set firmwares=D:\svn\auto\nightbuilds\data
set target=Z610_R6DA001




NLB
Страница 4 из 11: « 1 2 3 [4] 5 6 7 8 ... 11 »



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

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