TUT ● Tab "Patches" di V_KLay

Forum utk membahas tentang Software/program/Driver yg berkaitan dgn Siemens

TUT ● Tab "Patches" di V_KLay

Postby Hendz » December 12th, 2010, 4:49 pm

Tab "Patches" di V_KLay
Direkomendasi oleh maziLham
Diterjemahkan "live" dari
http://www.vi-soft.com.ua oleh Image

Image

Tab ini untuk keperluan flash atau dipakai secara langsung ke henfon dari sebuah file patch .VKP. Urutan cara menggunakannya sudah dijelaskan dalam file VKP-nya sendiri. Berikut adalah penjelesannya langkah²nya secara umum:

Pemakaian File Patch

• Pilih tab "Patches"
• Load patch dg cara klik "Open..." untuk memilih 1 saja file VKP. Atau plih "Add..." umtuk pilh beberapa file VKP untuk ditambahkan. -- Teks patchnya akan ditambahkan di akhir teks patch yg sedang aktiv.
• Untuk meng-apply patch, klik saja "Apply Patch". -- Semua data patch akan ditulis kedalam data flash yg anda pilih.
• Jika anda bekerja dg file flash: Pilih tab "Flasher", load dahulu sebagian dari data flash ke program, lalu masukkan addressnya dari awal record, ukuran record, kemudian tulis flash ke henfon.
• Klik "Cancel Patch" untuk membatalkan proses patching secepat mungkin.

Cara Memformat Teks Patch

Setiap Teks Patch bisa kita beri bentuk tampilan dengan cara memformatnya, yaitu: Warna Font, Font, Ukuran Font, Warna Latarbelakang/Bekgron, dll. Anda cukup menyorot/blok teks yg ingin diformat, klik-kanan mouse anda maka sebuah Menu Pop-up akan tampil, kemudian pilih item menunya seperti terlihat pada gambar di bawah ini. -- Anda juga dapat menyisipkan sebuah obyek bergambar di sana.

Image

Cara Membuat file .VKP dari File .BIN

• Buatlah dahulu 2 file backup dari file .BIN
• Lalu buka dua-duanya dengan program BIN-editor.
• Beberapa program untuk mencocokkan file .BIN dapat anda download di sini atau disini viewtopic.php?f=30&t=1049.

Cara Membuat file .VKP Secara Manual

Untuk mengkonversi semua patch yg ada dalam file .BIN menjadi .VKP dapat anda lakukan dengan mudah menggunakan program HexWorkshop. -- Buka file .BIN-nya, pilih data yg diperlukan dlm bentuk heksadesimal, lalu kopi ke clipboard. Kemudian dalam "Patches", setelah menulis semua remark yg diperlukan (atau tanpa remark, karena remark sudah ditulis otomatis setelah tanda titik-koma ";"). Perhatikan contoh di bawah ini:
Code: Select all
; Very abrupt patch
; A patch only for super-puper phone with class wearing
; The patch will make the cool 21 inch TV of phone :).
; () very abrupt dude, 2003
56AD45: C9B6067820B8BBCBC1DD

DATA DI ATAS TIDAK BISA DI-"UNDO" SAMASEKALI!. Karena, pertama kali anda harus menyebutkan data-lama. Data tsb dimasukkan di antara titik-dua ":" dan data-baru. Untuk keperluan ini, buka datanya dengan HexWorkship Original Fullflash, cari di address yg sama, pilih sebanyak mungkin data yg sekiranya cocok dlm patchnya (seperti diperlihatkan dalam statusbar HexWorkshop), kopi ke clipboard, kemudian klik "General Patch", lalu masukkan. Maka akan kita dapati:
Code: Select all
; Very abrupt patch
; A patch only for super-puper phone with class wearing
; The patch will make the cool 21 inch TV of phone.
; () very abrupt dude, 2003

56AD45: 3EC009000D0048BA38DA C9B6067820B8BBCBC1DD

Jadi formatnya "resminya" adalah:
ADDRESS<titik-dua><spasi>DATA-LAMA<spasi>DATA-BARU

Keterangan Format File .VKP

Code: Select all
; Contoh teks patch dari file .VKP untuk program V_KLay 2.6 +
; Di file ini bisa terdapat banyak teks dalam remark.
; Barisan remark harus diawalin dengan titik-koma --> ";"
; Huruf awalan remark dari kompailer C++ misalnya, juga diperbolehkan di sini. Contoh: /* ...*/ atau //
;
; Lalu ada juga yg dinamakan "proofer", dg awalan huruf "+" atau "-" sebagai identifier nya.
; Contoh:
; -0x34a68; remark di sini.
; Proofer dari sebuah address, kalau anda perhatikan, bisa saja seringkali anda temui dalam sebuah teks patch. Contoh:

+0x345; artinya: semua address yg sama dengan heksa 0x345 akan dinaikkan nilainya
045df2: 4567 e123; di sini akan dinaikkan...
+0; ...ke address yg sama bernomor "0",
; ... yaitu untuk mereset operand dari Proofer sebelumnya.


; Jika definisi data patch berformat seperti ini:
; ADDRESS: [DATA_LAMA] DATA_BARU
; maka artinya:
; [ ] adalah data_lama (yaitu data yg sekarang aktiv dalam flash) dan tidak boleh salah tulis.
; Membatalkan patch adalah tidak mungkin.
; Sebelum ADDRESS boleh dikosongkan jika diperlukan.
; Tetapi setelah ADDRESS, harus diberi tanda titik-dua ":", demikian dan seterusnya.
;
; Contoh penulisan 1-byte data patch:

3e0002: ee 55; remark mulai dari sini

; Contoh beberapa byte data patch:
; Byte harus ditulis tanpa ada yg kosong.
; Dan jumlah byte data_lama harus sama dengan jumlah data_baru.
3e0008: 445566 778899

; Contoh beberapa byte yg langsung TANPA data_lama:
3e0004: ffddee33; di sini tanpa ada data lama samasekali.

; Lebih ditailnya anda bisa lihat di sini: http://www.vi-soft.com.ua/siemens/vkp_file_format.txt

Selesai.
Demikianlah TUT ini dibuat, seobyektiv mungkin, semoga bermanfaat bagi para Praktisi Patch SXP.
Mohon maaf jika ada kekurangan, karena memafami tenses Russia & Ukraina tidaklah semudah bahasa Inggris sendiri.
Thankz =(^_^)=
:)
REF: http://www.vi-soft.com.ua/siemens/patcher.htm
Last edited by Hendz on December 12th, 2010, 8:15 pm, edited 15 times in total.
User avatar
Hendz
Member Kesayangan
 
Posts: 3178
Joined: February 16th, 2010, 7:51 pm
Location: JazLoMa

Re: TUT П Tab "Patches" di V_KLay

Postby ilham » December 12th, 2010, 5:29 pm

Thanks KangMazHendz...
Code: Select all
; Contoh teks patch dari file .VKP untuk program V_KLay 2.6 +
; Di file ini bisa terdapat banyak teks dalam remark.
; Barisan remark harus diawalin dengan titik-koma --> ";"
.
.
.
.
; Lebih ditailnya anda bisa lihat di sini: http://www.vi-soft.com.ua/siemens/vkp_file_format.txt

Atau di sini : http://translate.google.com/translate?j ... xt&act=url :D
User avatar
ilham
Site Admin
 
Posts: 3036
Joined: December 29th, 2009, 1:22 am
Location: Tangerang

Re: TUT ● Tab "Patches" di V_KLay

Postby Hendz » December 12th, 2010, 7:56 pm

anytime bozzz :)

ni juga udah aq ringkez dlm SPOILER nih:
Spoiler: show
And (c) ValeraVi (http://www.vi-soft.com.ua)
; Example text patch (. Vkp file) for program V_KLay 2.7.2 +
, Where the file can be any text in the form of comments.
; Comment line must begin with a semicolon ';'
, And allowed comments in C + + (/*...*/ and //...)
;
; Then itet string specifying the corrector address (HEX) - the number that
; Will be added (taken away) to all addresses. I think it will be useful,
And if too lazy to change all the addresses.
; Corrector vsedga address must be the sign (+ or -) - is it
; Identifier.

-0x34a68; a comment, you can write here.

; Proof of address could occur in the test patch many times, for example:

+0 X345; all subsequent addresses will be added the number of 0x345
045df2: 4567 e123; here for this, it will be added
0, for all subsequent addresses will be added to 0,
, Ie discharge of the previous corrector.
;! The value of this checker is added to the previous!
; It simply replaces the previous one!

; Data descriptions patch makes the following format:
; _Adres_: [_starye_dannye_] _novye_dannye_
; Brackets - mean that the old data (ie those who
And now there in a flash) is optional. But if they do not specify
; Cancel the patch will fail.
, Before the address can be anything How many gaps.
; Immediately after the address, should go a colon ':'
; Between the colon, old and new data must be at least one
; A space or tab. After the new data should be immediately terminated
, A string or a space - no comments.
;
; An example of one byte of data:

3e0002: ee 55, you can write a comment

; An example of several bytes of data: for every byte - 2 symbols
; Bytes are written without spaces. Number of bytes of the old must be
; Count of new bytes.
3e0008: 445566 778899

; An example of several bytes without the old data:
3e0004: ffddee33; here now do not have old data






; Also there are additional opportunities to present data in the body of the patch:

; Binary number.
; Modifier: 0n, example:
123456: 4546 0n1011001001001110; juzat possible to specify any there masks, etc.
; Number of bytes occupied by a number is [number of characters after 0n] / 8 c rounding.
And maximum number of 2 ^ 32 (DWORD)

; Signed (unsigned) decimal number (integer).
; Modifier: 0i
, Example 1:
000000: 01 0i255; 3-digit => takes 1 byte
000010: 0102 0i65535; 5-digit number => 2 bytes (WORD)
000030: 010203 0i16777215; an 8-digit number => 3 bytes
000040: 01020304 0i4294967295; a 10-digit => 4 bytes (DWORD)
000050: 0102030405 0i1099511627775; 13-digit number => 5 bytes
000060: 010203040506 0i281474976710655; a 15-digit number => 6 bytes
000070: 01020304050607 0i72057594037927935; 17-digit number => 7 bytes
000090: 0102030405060708 0i18446744073709551615; 20-digit number => 8 bytes (UINT64)
, Example 2:
000000: 01 0i-005
000010: 0102 0i00010
000020: 0i10112 0i00003
000030: 01020304 0i0000000050
000040: 0001020000 56,0 i00090, 78AD
000040: 01020000 0i00100, 123D
; Separate the decimal separator data (,) - this will help prevent future
; Error, because if the decimal number bududut go 16-hexadecimal data with decimal numbers, such
; Figures may be falsely considered in determining the count of bytes occupied by a decimal number.
; As can be seen from the examples, number of bytes occupied by a decimal determined by count-tion marks
; In decimal (for details see example 1). If the number is placed in a lower number of signs
, (Level) to finish as many leading zeros as needed (example 2). Item Type characters (digits)
; In a decimal number must necessarily be one of the above in Example 1.
; Before deyatichnym number (after the identifier 0i) can indicate the sign number, but we need
; Will make sure that this number fits into a given size, such as 0i-255 is not correct,
, Because in bytes can be placed a minimum of -127, -255 hence a need to reserve
And the word (WORD), ie need to write: 0i-00255
; The program works with 64-bit numbers, so use numbers more 18446744073709551615
; (For unsigned), more or less 9223372036854775807 -9223372036854775808 (to sign)
; Lead to unpredictable results.

; Hex number.
; Modifier: 0x, example:
123456: 454545 0x123456; juzat possible to specify 16 hexadecimal numbers size
; More bytes in the normal form, but not upside down. Number of bytes occupied
; Number is [number of characters after 0x] / 2 c rounding.
And maximum number of 2 ^ 32 (DWORD)

; String ASCII.
; Line should be written between the quotes - double quotes (") or single ('), for example:
123456: 00000000000000000000112233445566 06 "© cool hacker"; in line dopuskayustya Escape
; Sequence (\ n, \ r, \ "etc.). Encoding - Windows.
; If the string in quotation marks - a symbol will be represented by 1 byte;
And if the string in single quotation marks - a symbol will be represented by 2 bytes (UNICODE);
And in any case it is recommended to use only numbers, English letters and other characters
; ACSII codes less than 0x80, because natsionalnyh alphabet characters can be displayed differently
; To not UNOCODE operating systems in different locations.
; If you want the inside line combination of symbols corresponding comments
, (/ * * / Or / /), then they must be separated by Ecsape sequence
, (/ \ * * \ / Or / \ /) or put a symbol Ecsape sequence limits of each symbol
, (\ / \ * \ * \ / Or \ / \ /).

; In the older data may be more bytes than the new, ie old data to indicate how
, Max. allowable buffer size for novyyh bytes.

; In older data also allowed the above modifiers, and strings.

; Data (old or new) on a single line can be grouped (separated) comma (it is ignored)
For example:
123456: 0102030405 1112,13,1415

; All modifiers except "" and''operate from the place of their appearance before the end of the data or to a comma,
, Thus if one line you need to burn 2 16-ary numbers - Separate them with a comma, for example:
123456: 0102030405060708 11120x0001, 0x0002, 2345

; Rows of data patch can be split using the symbol of bonding lines - '\', for example:
123456: 0000000000000000000011223344556677 \
06 "© cool hacker" 07; comment only here.
; Bonding character can be inserted only for spaces and right after it should be
; End of the line - no gaps or comments.




; Signed (unsigned) decimal number (integer).
; Modifier: 0i
; Example:
123456: 4546 0i32768
123456: 4546 0i-300
; Number of bytes occupied by a number equal to the number of bytes of the old data in the corresponding
; Group of bytes. Groups of bytes are separated by commas, decimal numbers must also be
, Separated by commas.
; Ispolzanie delyatichnyh numbers in the old data is not allowed.
; Use decimal numbers in a string patch where there are no old data is not allowed.
; Before desyatichnoego ID number, you can specify the data, then the Item Type byte
; Decimal number is calculated as the number of bytes in the old data in the current group minus the number of
; Bytes that are occupied by the data before the identifier of the old data. For example:
000 000: 32302e30, 1938 ffed0i-300, 0i +30
; Here before the decimal 0i-300 is 2 bytes of data and ff ed, therefore, as
; Old data for this group is reserved 4 bytes (32302e30), then the decimal
; Number 0i-300 is 4.2 = 2 bytes.
; If the data to a decimal number as a separate group (point), but the decimal
, The number will take up all his place in the group of bytes, rather than balance. Example:
000000: 3230,2 e30, 1938 ffed, 0i-300, 0i +30
; After the decimal number can also indicate other data, separated by a decimal
; Number of places and provide them with a new team in place of the old data. For example:
000 000: 32302e30, 38,0000 ffed0i-300, 0i +30,12 de
; Here 12de - an additional 2 bytes of data after the decimal
, 0000 - A new group of older data (before it by a comma) for additional 2 bytes.
; WARNING! overflow in groups of bytes, separated by a comma is not monitored, thus if you will:
000000: 32,2 e30, 1938 ffed, 0i-300, 0i +30
, The result can be unpredictable, thus If using decimals -
; In old and new data commas should have the same number and they should stand on
; Identical positions (if you count in bytes). If the string patch ID decimal
, And the number is not used, commas do not matter and are ignored (except as described
; Higher than for other identifiers).



; In the text of the patch, you can use the directive:

# Pragma disable warn_no_old_on_apply; for subsequent blocks of data off the patch
; Warning that the unit does not contain old data and the subsequent cancellation of the patch
, Can not fully implemented.
; Will be useful when you have to patch a large piece of data to write to flash
And if everything else still the old data of the block in flash is hard to predict.
, For example - Database T9.
# Pragma enable warn_no_old_on_apply; cancel the effect of this directive

# Pragma disable warn_if_new_exist_on_apply; when applying the patch, for subsequent blocks
; Data patch off a warning from the fact that the old data in flash not found
And if in a flash are already new data.
; Is useful if a patch is data that may already be written to flash.
, For example - patch to not check CRC.
# Pragma enable warn_if_new_exist_on_apply; cancel the effect of this directive

# Pragma disable warn_if_old_exist_on_undo; when you cancel the patch for the subsequent data blocks
; Patch off a warning from the fact that the new data in the flash is not found, if at
; Flash are already old data.
# Pragma enable warn_if_old_exist_on_undo; cancel the effect of this directive

# Pragma disable undo; when you cancel the patch does not use posleduschego
; Data blocks patch.
; Used only in extreme cases, and those data blocks that are 100% nothing
; Spoil. For example, you can use on the blocks of data patch to not check CRC,
, Because their presence is necessary for many patches, and if they will cancel one of them, all other
; Patches will not work.
# Pragma enable undo; cancel the effect of this directive

# Pragma enable old_equal_ff; if the old data is not specified, assume they are equal to FF.
, Is used to reduce the file size patch if the patch has data blocks with the old
; Data equal to FF. In addition, these older data may be omitted, and write to such
; This directive.
; On the data blocks that have the old data, this directive has no effect.
# Pragma disable old_equal_ff; cancel the effect of this directive

;! If you are using directives, be sure at the end of the patch undo the effect, because if someone
; Will mindlessly glued texts patches in one patch, it is not repealed directive one patch will
; Act for the next patch!


; Patch is applied from the top down and bottom-up is canceled!
; This is done in order to correctly place abolition of overlapping blocks of data patch.
; Example patch:
0e5267: 45e0 2345
0e5267: 23 db
And now canceled correctly and reports no new data found.
lalu silakan disimpen ke hape masing² :)
User avatar
Hendz
Member Kesayangan
 
Posts: 3178
Joined: February 16th, 2010, 7:51 pm
Location: JazLoMa

Re: TUT ● Tab "Patches" di V_KLay

Postby mamed_3279 » November 22nd, 2011, 5:36 pm

baru liat tutorial yang ini..save dulu yah mas Hendz,sambil dibaca-baca pastinya ;)
Image
User avatar
mamed_3279
Gaul
 
Posts: 1453
Joined: November 18th, 2009, 10:16 pm
Location: Djakarta

Re: TUT ● Tab "Patches" di V_KLay

Postby Boowin » November 24th, 2011, 9:42 am

masih belum begitu paham, perlu baca baca lagi nih.....
My Phone: C25, M35, ME45, S45i, SL45, MT50,
M55, S55, SX1, M65, S65, CX70, CX75
User avatar
Boowin
Rada Gaul
 
Posts: 421
Joined: October 24th, 2010, 1:48 pm
Location: Solo The Capital of Batik


Return to Software Siemens

cron