Skip to content
Ausdauersportler edited this page Nov 30, 2022 · 3 revisions

Software Tools

ATOMTableResize

When the legacy part has a full size of 128 blocks any change of the data tables made with tool makes a nasty bug appearing: If you parse visually the header of the legacy BIOS with the Hex Fiend tool you spot easily the PCIR signature. Starting after this signature at replative position 14 (0xE) the byte normally set to 00, but the ATOMTableResize tool changes it to an invalid value of FF and the checksum value is calculated including this wrong byte. The checksum value is stored at absolute location 0x21. First change back the wrong byte to 00, now use one of the known AMD BIOS checksum tools to get the correct value. Now fix the checksum manually and save the file back.

Windows may ignore such errors, but the EG2 driver fails to start using a malformed header like this.

(Converting a single byte of 00 into FF should add a value of 1 to the XOR generated CRC value. If you revert this change subtract the same 1 from the CRC value stored at absolute location 0x21 in the BIOS header (CRC hex calculation rules apply mod 255, i.e. 0x0 - 0x1 = 0xFF)).