Hey kizwan I can't find header in my BIOS. Is it okay to use no header, i.e. 30-7FF (49th to 2048th byte) from the f65?
If I'm not given the answer soon I'm gonna flash it without 48 byte header and hope for the best... Who can verify the new BIOS before I flash it? Likewise, I'll have no choice but to flash it without verification if I'm not given an answer soon so please tell me...
OMFG WTF? FFS guys, what's the f**king deal? You wrote long ass articles on the subject yet you won't answer my simple question. If my system is bricked it'll be thanks to you.
Your problem is you didn't bother to read. Your attitude, spamming this thread with your post every minute only make my willingness to reply, reduced drastically. I already gave all the information I know & what manual you should read but you still ask the same question, which means you didn't read at all. I already wrote almost step-by-step instruction with an example but if you unable to read or understand it, you have no business in BIOS mod. Do you understand this? I'm quoting part of the footnote from my post:-
Actually I did bother to read your previous drivel posts, which just consist of info we already know or info that can't be used in my Dell's BIOS and terrible grammar. LOL how much more could your willingness to reply be reduced? You didn't even reply to the mission critical question: If you don't know the answer to my question then why didn't/don't you say so? I read the manual too but it DOES NOT SAY whether the header is absolutely mandatory or not.
aascut you said which was incorrect, and then you changed it to which is correct. Where did you get the 379CB from?
Both address - are correct. The first is from the .rom file, the second from the .hdr file.Offset 379CB is begining microcod update block into you BIOS hdr file. The beginning of the block meant value=12h. Note! Microcode update in you BIOS is without header! Only 2000 bytes pure code. You can change any block of 18'th updates - it does not matter.The main thing - it is accurate. About Checksum calculate: See Apokrif post #80. Regards! IMO:My knowledge in this matter following. Block of microcode called from the boot block (last 64 kB) and its checksum is not verified. This unit is not packaged. Hence if we replace the code enough to count the two CRC32 writing by Apokrif by the method described by kizwan.
Yes,I see. Don't worry! I calculate start address of this module manualy (using disassembly code step by step) . Look at this: Code: beginning 02-0B-14.rom (fragment of D4700A10.hdr by use Apokrif's Split.exe) Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 00000000 12 00 24 0F 92 00 30 42 57 4E 27 0F 62 08 31 43 $ ’ 0BWN' b 1C 00000016 57 4E 29 0F 32 10 31 44 57 4E 25 0F 02 18 30 4D WN) 2 1DWN% 0M 00000032 57 4E 13 0F D2 1F 30 45 4C 43 30 0F A2 27 30 41 WN Ò 0ELC0 ¢'0A 00000048 43 50 31 0F 72 37 30 42 43 50 32 0F 42 47 31 42 CP1 r70BCP2 BG1B 00000064 43 50 33 0F 12 4F 30 43 43 50 37 0F E2 56 31 43 CP3 O0CCP7 âV1C 00000080 43 50 34 0F B2 5E 30 44 43 50 41 0F 82 7A 30 45 CP4 ²^0DCPA ‚z0E 00000096 43 50 49 0F 52 8E 31 47 43 50 60 0F 22 96 30 41 CPI RŽ1GCP` "–0A ..... same into D4700A10.hdr Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 000379C0 12 00 24 0F 92 $ ’ 000379D0 00 30 42 57 4E 27 0F 62 08 31 43 57 4E 29 0F 32 0BWN' b 1CWN) 2 000379E0 10 31 44 57 4E 25 0F 02 18 30 4D 57 4E 13 0F D2 1DWN% 0MWN Ò 000379F0 1F 30 45 4C 43 30 0F A2 27 30 41 43 50 31 0F 72 0ELC0 ¢'0ACP1 r 00037A00 37 30 42 43 50 32 0F 42 47 31 42 43 50 33 0F 12 70BCP2 BG1BCP3 00037A10 4F 30 43 43 50 37 0F E2 56 31 43 43 50 34 0F B2 O0CCP7 âV1CCP4 ² 00037A20 5E 30 44 43 50 41 0F 82 7A 30 45 43 50 49 0F 52 ^0DCPA ‚z0ECPI R 00037A30 8E 31 47 43 50 60 0F 22 96 30 41 Ž1GCP` "–0A Other bytes from 379C8 to 379CA is only used to calculate length of this module and don't used for microcode update. Look: Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 000379C0 32 BD 14 12 00 24 0F 92 2½ $ ’ Blue - length Green - # module Red - beginning Good Luck!
I have one more question, I only changed the checksum at hex offset 70054 (second last 4 bytes) using fakecrc to make whole file CRC32 "FFFFFFFF" like it was before. I checked CRC32 of 54-70053 and it comes up as 5BDDF4F4 so I put that in calc and pressed Not and it gives A4220B0B, when reversed becomes 0B0B22A4 which is exactly what is already there. So my question is, as I only changed that one checksum and the hdr checksum is correct, where is the 2nd checksum I need to change?
The problem is Update Data from microcode for CPUID 0F65h is begin with 00s, While the one in your modified BIOS begin with 20s. EDIT: I compared the rest of Update Data in your modified BIOS with the one from Intel (dated 2011-04-28) & I found both not identical.
The CPU microcodes in my BIOS have no headers, just the pure data (last 2000 bytes (49-2048) for 2 KB ones). The header data is repeated in the update data anyway right? Are you sure?
Does it matter that the offsets aascut gave for the .hdr (like 379CB = 12 00...) are different to the ones in my .hdr? In mine, the same code starts at 378E3 which is 232 bytes behind.