|
|
|
|
Join by Byte
Join dumps in Raw mode
One byte from first dump, one byte from second
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
One page from first dump, one page from second
Dump_0 Page_0
Dump_0 Page_1
Dump_0 Page_2
Dump_0 Page_3
Dump_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_3
Block_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 2
Dump_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 = 4
Marker 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
|
|
|
|
|
|
|
|
|