Hello!
Two things: on AMI BIOS the contents of module 06 (which is the microcode updates) _M_U_S_T_ also contain eight additional zero bytes at the end.
Meaning if someone cats multiple .bin files from the converter together, the eight zero bytes must also be added at the end of the file.
Or using the "CPU PATCH" tab on mmtool.exe will do it for you. (No need to change any converted binary then.)
And Richard, your highly appreciated tool does add additional data.
I've looked at the patches for 0001067a for the three platforms. I'm using microcode-20101123.dat as source. Manually extracted from the text file (.dat) they are the exact same size, but your converter adds the last line on
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
twice.
Meaning the file should be 8192 but is 8208 bytes long, the end looking like this:
1FB0: 3D 43 C0 34-E9 83 FC 3C-6A 73 96 D0-16 E0 3B A5
1FC0: 6C DD A3 EB-61 65 62 2C-8D 0C 16 3C-19 C7 06 85
1FD0: 47 7B 2E 80-96 93 07 16-75 B1 29 6D-B4 AB 91 4E
1FE0: 95 CE 50 E3-A5 1A 48 0D-71 53 E9 94-EC 4D DC 10
1FF0: 35 37 EB BF-4D CB E3 3C-2A 74 FF 32-CB D3 5A AC
2000: 35 37 EB BF-4D CB E3 3C-2A 74 FF 32-CB D3 5A AC
Taken from a hex editor.
If this binary were somewhere in the middle of a concatenated binary, the BIOS would get thrown. (No idea what it would do, just crash, just ignore everything past that point ...? I don't intend on finding out.)
It looks like this is the very last entry and very last line in the .dat file.
It's really a pity you have to do this (putting new microcode updates in as end user) even for a brand new Asus P5P41T/USB3.