Didn't work! Got the same error. I did notice though that it says "Checksum is not zero." I retried to flash the other one I made earlier and it said that too, I must have just not noticed. I was curious, so I tried to re-flash my original BIOS with the same command, and it worked perfectly. EDIT@Yen: Thanks
Hi Yen! Can you please explain this? I wanna learn. I see that one byte has been changed right above the public key. But how do you identify what to change exactly? Thank you.
Regarding the SLIC checksum byte that fixed itself: was that fixed by phash16? Or is it done every startup before it's loaded into memory? If it was written to the BIOS "fixed," then I'd like to backup that "fixed" BIOS file. I can't get phlash16 to back up, though! It just reboots without saving anything when I do: Code: phlash16.exe /RO
Dear Yen, Thank you for this info, I'm still looking and trying to understand so I'm gonna have questions tomorrow for sure I really really want to understand this. It comes to me little by little. Also if you want to keep this thread just for the requests I can PM you. Whatever you think is better. I really appreciate you sharing your knowledge. Thank you Oh, sorry, there is no such thing here as "PM". Just noticed.
The SLIC checksum byte at offset 9h has to be zero, or acpi conform, otherwise it may not activate. It's the bioscode itself that calculates it at EVERY P.O.S.T, this is the better expression, not to fix or to correct. No worries about the SLIC checksum, the bioscode calculated it right to: C1h No need to save back. The bioscode itself is NOT changed. Btw: If you want to save the bios you have to provide a name for it: phlash16 bios.bak /RO I guess so.. I never owned a PC that is using Phoenix, so I can't do any practical tests...
It's possible to PM at the upper right corner of the board. But IMO it's better to discuss here, even though it's a bit off topic. I'm sure there are others that want to calculate, too. I have to go now...dreaming about sums and stuff..see you again......soon there will be (hopefully) a way for all. And please keep in mind I'm working on different projects and it can take some time for replies....
Does it only do it this way if the checksum in the SLIC header is found to be incorrect? Or do Phoenix BIOS' always do this? Thanks again, Yen.
All Phoenix bios programmer set there a zero byte 00. I only know that it works when there is a zero byte or the already calculated sum. It's reported that at 64-bit OS the OS don't activate if there is another value. This is regarding Award bios. I don't know what will happen if you try that at phoenix. All SLICs at the collection have the calculated sum there to avoid any confusion / problems. At Phoenix I sometimes use a zero byte there just like the bios programmer are doing. Some acpi modules are compressed. A zero byte there results to a smaller compressed size, that can be useful....your SLIC isn't stored at an acpi module. The SLIC header is found at _B01 module, the pubkey at _J00 module and the MARKER at a ROMHOLE3. At P.O.S.T. the bioscode builds the SLIC table reading all these 3 parts... SLIC header at _B01 module: Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000BFF0 53 4C 49 43 00 00 00 00 01 00 4F 45 SLIC......OE 0000C000 4D 49 44 5F 4F 45 4D 54 41 42 4C 45 00 00 00 00 MID_OEMTABLE.... 0000C010 61 63 65 72 00 00 00 00 acer....
I'm confused ... are you saying that even with my stock, unmodified BIOS, the checksum was being calculated during every POST? If so, what's the point of it being there (in the actual BIOS file itself)? I'm sorry if my questions are a noobish, but I'm just trying to understand this as much as I can ...
Yes, even at every other acpi table like RSDT XSDT DSDT...you have to see it like a placeholder. The bios ROM (ReadOnlyMemory) has to map into physical memory to be executed. This all happens before you hear the 'beep'. The bios decompresses, is written into physical memory (mapped). All the parts are created, the hardware is initialised, the SLIC is built , the checksum calculated, every time... The bios rom data itself NEVER changes, except you are flashing the rom, which is in fact a EEPROM (Electrically Erasable Programmable Read Only Memory).