Mix Editor Functions 混合编辑器功能
Join by Byte 通过字节
Join dumps in Raw mode
在原始模式中加入dumps
One byte from first dump, one byte from second
从第一个dumps开始的一个字节,从第二个dumps开始一个字节
0 2 4 6 8.. 1 3 5 7 9.. |
→ | 0 1 2 3 4 5 6 7 8 9.. |
Join by Page 加入页面
Join dumps 加入dumps
One page from first dump, one page from second
Dump_0 Page_0 Dump_0 Page_1 Dump_0 Page_2 Dump_0 Page_3Dump_1 Page_0 Dump_1 Page_1 Dump_1 Page_2 Dump_1 Page_3 |
→ → → |
Dump_0 Page_0 Dump_1 Page_0 Dump_0 Page_1 Dump_1 Page_1 Dump_0 Page_2 Dump_1 Page_2 Dump_0 Page_3 Dump_1 Page_3 |
Join by Dump
Join dumps
All data from first dump. After it all data from second dump
Dump_0
Dump_1 |
→ | Dump_0 Dump_1 |
Block Cut
Cut bytes from data area by formula:
Leave/Cut/Leave/Cut/Leave/Cut/Leave/Cut
Formula repeated endless untill end of dump
Size must be aligned on 512 bytes
Works only for data, not for raw bytes
Block Mutate
Works in Raw mode Cut bytes in each block of dump by formula:
Leave/Cut/Leave/Cut/Leave/Cut/Leave/Cut
Formula is not repeated
Cuted bytes inserted at end of block
Block Pair
Join each two blocks in dump in one block
Block_0 Page_0 Block_0 Page_1 Block_0 Page_2 Block_0 Page_3Block_1 Page_0 Block_1 Page_1 Block_1 Page_2 Block_1 Page_3 |
→ → → |
Block_0 Page_0 Block_1 Page_0 Block_0 Page_1 Block_1 Page_1 Block_0 Page_2 Block_1 Page_2 Block_0 Page_3 Block_1 Page_3 |
Block Renum
If layout have “Renum” marker for each page, sort pages in block in ascending order
Block_0 Page_3 Renum_3 Block_0 Page_0 Renum_0 Block_0 Page_4 Renum_4 Block_0 Page_5 Renum_5 Block_0 Page_7 Renum_7 Block_0 Page_1 Renum_1 Block_0 Page_2 Renum_2 Block_0 Page_6 Renum_6 |
→ → → |
Block_0 Page_0 Renum_0 Block_0 Page_1 Renum_1 Block_0 Page_2 Renum_2 Block_0 Page_3 Renum_3 Block_0 Page_4 Renum_4 Block_0 Page_5 Renum_5 Block_0 Page_6 Renum_6 Block_0 Page_7 Renum_7 |
Block Rotate
If layout have “Rotate” marker for each block, shift pages in block down. Pages that moved out of block added to its front
Block_0 Page_3 Rotate_3 Block_0 Page_4 Rotate_3 Block_0 Page_5 Rotate_3 Block_0 Page_6 Rotate_3 Block_0 Page_7 Rotate_3 Block_0 Page_0 Rotate_3 Block_0 Page_1 Rotate_3 Block_0 Page_2 Rotate_3 |
→ → → |
Block_0 Page_0 Rotate_3 Block_0 Page_1 Rotate_3 Block_0 Page_2 Rotate_3 Block_0 Page_3 Rotate_3 Block_0 Page_4 Rotate_3 Block_0 Page_5 Rotate_3 Block_0 Page_6 Rotate_3 Block_0 Page_7 Rotate_3 |
Cut bad bytes
Some chips have .bb file readed near .dump file
This file contain positions of bad bytes
This step will cut bad bytes at each page
Page size is not changed
Same number of spare bytes added at end of page
Add
Add an constant value to any selected layout marker
Divide
Divide any selected layout marker on constant value
Cross Block
Modify any selected marker value by formula:
Marker = Marker*Parts + n%Parts
where:
% – remainder from divide
n – position of block in dump
Example for Parts = 4:
Block_0 Marker 7 Block_1 Marker 22 Block_2 Marker 1 Block_3 Marker 10 Block_4 Marker 2 Block_5 Marker 3 Block_6 Marker 4 |
→ → → |
Block_0 Marker 7*4 + 0 = 28 Block_1 Marker 22*4 + 1 = 89 Block_2 Marker 1*4 + 2 = 6 Block_3 Marker 10*4 + 3 = 43 Block_4 Marker 2*4 + 0 = 8 Block_5 Marker 3*4 + 1 = 13 Block_6 Marker 4*4 + 2 = 18 |
Cross Dump
Make Join by Dump and modify marker value by formula:
if Step = 1 all is easy:
Marker = Marker*Parts + Dump
where:
Dump – dump number
Example for Parts = 2, Step = 1:
Source dumps: | Joined dump: | |||
Dump_0 Marker 0 Dump_0 Marker 1 Dump_0 Marker 2Dump_1 Marker 0 Dump_1 Marker 1 Dump_1 Marker 2 |
→ → → |
Marker 0*2 + 0 = 0 Marker 1*2 + 0 = 2 Marker 2*2 + 0 = 4Marker 0*2 + 1 = 1 Marker 1*2 + 1 = 3 Marker 2*2 + 1 = 5 |
If Step > 1:
Marker = trunc(Marker/Step)*Step*Parts + Dump*Step + Marker%Step
where:
trunc – truncates a number to an integer by removing the fractional part of the number
% – remainder from divide
Dump – dump number
Cross Dump Example for Parts = 4, Step = 2
Cross Bank
Move each second block in next bank
Example for Bank Space = 4
Block_0 Block_1 Block_2 Block_3 Block_4 Block_5 Block_6 Block_7 |
→ → → |
Block_0 Block_2 Block_4 Block_6 Block_1 Block_3 Block_5 Block_7 |
Backward 逆向
Sort blocks in dump in backward order
按逆向顺序排列转储中的块
Block_0 Block_1 Block_2 Block_3 Block_4 Block_5 Block_6 Block_7 |
→ → → |
Block_7 Block_6 Block_5 Block_4 Block_3 Block_2 Block_1 Block_0 |