Some correction
CODE
const UINT32 pattern[28] = { 0, 4, 0, 2, 0, 1, 0, 0, 0, 4, 0, 2, 0, 1, 8, 8, 4, 4, 2, 2, 1, 8, 8,
8, 4, 4, 2, 2 }; // values for the adam7 passes
....
UINT32 passstart[7]; //= { 0 };
for (i=0; i<7; i++) {
passstart[i] = 0;
}
// UINT32 pattern[28] = { 0, 4, 0, 2, 0, 1, 0, 0, 0, 4, 0, 2, 0, 1, 8, 8, 4, 4, 2, 2, 1, 8, 8,
// 8, 4, 4, 2, 2 }; // values for the adam7 passes
And no more _memcpy!
Do not hurry! Nobody wants to run faster then you. We should look carefully what iBoot do and what not.
As I previously said there are two parts of The Bootloader. One is EFI image and other is GUI. Before this moment I proposed to rewrite rEFIt to be my GUI.
And many patches must be in GUI but not in EFI.
iBoot is fine for this purpose. But there is also a work to adopt one for other.