Autor


Martin Kolka
  Ako na Apatcher pre SX1 - II. - expert
Vydáno dne:  16.02.2006
Průměrné hodnocení:  
1111.21.21.21.41.41.41.61.61.61.81.81.82222.22.22.22.42.42.42.62.62.62.82.82.83333.23.23.23.43.43.43.63.63.63.83.83.8444   4 (hodnoceno 8x)
1111.21.21.21.41.41.41.61.61.61.81.81.82222.22.22.22.42.42.42.62.62.62.82.82.83333.23.23.23.43.43.43.63.63.63.83.83.8444
 
návod

Tak ako som sľúbil je tu druhá časť návodu pre Apatcher, ale tato časť je určená len pre skúsených užívateľov.

Tento návod může, bez bezvadného pochopení postupu, vést až k poškození Vašeho telefonu (i trvalému). Před zahájením práce si jej celý důkladně přečtěte a máte-li jakékoliv nejasnosti, konzultuje je předem na určeném diskusním fóru!



Co budeme potřebovat:

 Apatcher     
Stáhnout


Musím upozorniť, že som „takmer“ všetky príkazy preštudoval a pochopil. Bohužial jeden tu ani nespomeniem (rundll|x.dll|y[|dialog]) a príkazy replacetext a replaceunicode som netestoval. Kto by chcel vediet viac práve o týchto príkazoch bude musieť navštíviť fórum na www.oslik.ru. Ostatné fungujú skvele, viď príklad na konci.

Ako na Apatcher je spomenuté tu.
Okrem formátovania textov v patchoch, dokáže Apatcher do patchov vkladať dialógové okná, ktoré môžu byť zobrazené počas aplikovania patchu. Tieto dialógy slúžia nielen na zobrazenie rôznych informácií, ale poskytujú možnosť výberu užívateľom. To znamená, že je možné v patchoch vytvoriť rôzne scénare aplikovania jednotlivých jeho častí.

Zoznam a popis jednotlivých príkazov:

replace:oldhex:newhex[:dialog]
Príkaz nahradí staré „oldhex“ dáta novými „newhex“ dátami. Otázka „dialog“ je nepovinná ,ale v prípade že je, nahradenie sa vykoná len vtedy ak je odpoveď „Yes“. „oldhex“ a „newhex“ musia byť dáta v šestnástkovej sústave (hexadecimálnej).
Príklady použitia:
replace:433A5C7369766F73:45 - nahradí vždy
replace:433A5C7369766F73:45:Aplikovat? - nahradí iba ak je kliknuté na „Yes”.



replacefile:search:entered:file[:dialog]
Príkaz nahradí staré dáta „search“ novými dátami, ktoré sú v „dump“ súbore s názvom „file“. Otázka „dialog“ je nepovinná ,ale v prípade že je, nahradenie sa vykoná len vtedy ak je odpoveď „Yes“. Premenná „entered“ určuje koľko sekcií zo súboru „file“ sa má vložiť do firmwaru. Zvyčajne je „entered“ 0, čo znamená všetky sekcie.
Príklady použitia: replacefile:524F4C465F696D61676500000000000000:0:mod.dmp

replacetext:oldtext:newtext[:dialog]
Príkaz nahradí starý text „oldtext“ novým textom „newtext“. Otázka „dialog“ je nepovinná ,ale v prípade že je, nahradenie sa vykoná len vtedy ak je odpoveď „Yes“. Text sa zapisuje bez úvodzoviek a je vo formáte ASCII.
Príklad použitia: replacetext:sound:music

replaceunicode:oldtext:newtext[:dialog]
To isté ako v príkaze replacetext iba text sa zapisuje vo formáte Unicode.
Príklad použitia:
replaceunicode:sound:music

set:flag:value[:dialog]
Nastaví premennú „flag“ (z rozsahu 0 až 127) na hodnotu „value“ (0 alebo 1) podľa odpovede užívateľa na otázku „dialog“. Hodnota „dialog“ je nepovinná.
Príklady použitia:
set:99:0 - nastaví premennú 99 na 0
set:99:1 - nastaví premennú 99 na 1
set:99:1:Nastavit premennu 99 na 1? - ak je kliknuté na „Yes“ je premenna 99 nastavená na 1, pri kliknutí na „No“ je nastavená na 0.



set:99:0:Nastavit premennu 99 na 1? - vždy je premenná 99 nastavená na 0, nezáleží na výbere užívateľa (to isté ako set:99:0)

not:flag
Invertuje hodnotu premennej „flag“.
Príklad použitia: not:99

label:value
Je návestie pre skok. Hodnota čísla „label“ musí byt jedinečná. Znamienko čísla „label“ sa neberie do úvahy, iba absolútna hodnota. Návestie je využívané príkazmi selectbox, jump a jumpn. Ak použijete niektorý z týchto príkazov, príkazy v patchi sa nevykonávajú až po zodpovedajúce návestie.
Príklad použitia:
label:10

jump:step:flag
Príkaz preskočí na dané miesto ak je premenná „flag“ nastavená na 1. Hodnota „step“ určuje ako sa má dané miesto najsť. Ak je „step“ kladné číslo, alebo 0 (step>=0), preskočí sa „step“ príkazov. Ak je „step“ záporné číslo (step<0), preskočí sa na návestie „step“.
Príklady použitia:
jump:-10:99 - skočí na riadok s "label:10" ak je premenná 99 nastavená na 1
jump:2:99 - preskočí dva príkazy, ak je premenná 99 nastavená na 1 ... label:10

jumpn:step:flag
Príkaz preskočí na dané miesto ak je premenná „flag“ nastavená na 0. Popis je rovnaký ako pre príkaz jump.
Príklady použitia:
jumpn:-10:99 - skočí na riadok s "label:10" ak je premenná 99 nastavená na 0
jumpn:2:99 - preskočí dva príkazy, ak je premenná 99 nastavená na 0 ... label:10

break[:х:dialog]
Príkaz podľa hodnoty „x“ buď ukončí beh patchu a/alebo zobrazí dialógové okno podľa s otázkou „dialog“. Hodnoty „x“ a „dialog“ sú nepovinné. Hodnota „x“ je žiadna,0,1,2 alebo 3.
Príklady použitia:
break - aplikácia patchu sa vždy ukončí
break:0:Iba info! - zobrazí sa text a aplikácia patchu pokračuje.



break:1:Uz otazka. - aplikovanie patchu sa ukončí ak je kliknuté na „Yes“.
break:2:Uz otazka. - aplikovanie patchu sa ukončí ak je kliknuté na „No“.



break:3:Info a koniec. – zobrazí sa text a aplikácia patchu sa ukončí.



include:x.sxp
Príkaz aplikuje patch z externého súboru „x.sxp“.
Príklad použitia:
include:01_Change_eidpic_path_to_E.sxp - aplikuje tento patch.

selectbox:title:str_1:d_1:str_2:d_2:.... str_n:d_n
Zobrazí dialógové okno s otazkou „title“ a s moznosťami výberu „str_1“, „str_2“,... „str_n“. Po výbere užívateľa je vykonaný príslušný skok. Formát skoku je možné zapísať dvomi možnosťami ak d_n je kladné čislo skočí sa o d_n príkazov dopredu, v prípade, že d_n je záporné skočí sa na toto návestie.
Príklad použitia:
selectbox:Pretaktovat MMC ?:na 16MHz:-10:na 24MHz:-20:na 48MHz:-30:nepretaktovat:-40
replace:030052E30900000A020000CA000052E3:02
replace:0320A0E3DC8E00EA0C68005808009FE5:02
label:10
replace:013084120338A0112348A0110C00A0E3FF10A0E3:0000A0E10A0054E30340A093
break
label:20
replace:013084120338A0112348A0110C00A0E3FF10A0E3:0000A0E10A0054E30240A093
break
label:30
replace:013084120338A0112348A0110C00A0E3FF10A0E3:0000A0E10A0054E30140A093
label:40
break



Tak to je asi tak všetko, a teraz hurá do úprav patchov. Jeden taký upravený je v poslednom príkaze. Stačí skopírovať a vložiť do Apatchera. Niektorý budú namietať, že to išlo spraviť ešte elegantnejšie, ale toto bol môj prvý pokus a viem, že funguje. Takže ak niekto upraví nejaký patch, nech sa s nami oň podelí vo fóre.



Nikdo nesmí bez souhlasu autorů kopírovat grafiku, texty ani cokoliv jiného z těchto stránek. Veškeré informace uveřejněné na těchto stránkách jsou určené pouze pro vzdělávací účely a nesmí být použity pro komerční využití nebo v rozporu se zákony. Autoři nenesou zodpovědnost za nevhodné použití dat z těchto stránek.
   ©2003-2004 Radim Zeman | ©2004 Roman Gregor