This thread is now basically a log of my experiments trying to add Athlon64 FX support to an MSI K9ND Speedster-WA6 BIOS
The BIOS I am editing is here - http://global.msi.com.tw/index.php?f...6814&type=bios
This entails 2 steps -
- Disable all ECC options by default, so board can boot with non-ECC RAM after clear CMOS
- Insert AthlonFX Microcode
Step 1
Easy peasy -

Step 2
Extracting microcode from ASUS L1N64 WS/B BIOS -


Now I'm stuck - I don't know where microcode is stored inside the K9ND BIOS, or how to edit it. It doesn't help that I'm extracting microcode from an AMI BIOS and wanting to insert it into a Phoenix one. The BIOS build log from step 1 gives some clues -
Code:
Prepare v2.07 11/02/2002
(c) Phoenix Technologies Ltd.
SCRIPT FILE: ROM.SCR
EXECUTION TIMESTAMP: Sun Sep 14 15:55:22 2008
PREPARE/CATENATE Command Parser Ver 2.3 11/02/2002
Parsing: 'ROM.SCR'
Line: 1 BANKS -N:1 -S:1024
Line: 2 COMPRESS LZINT
Line: 3 BOOTBLOCK BB.ROM -S:64
Line: 5 ACPI ACPI0.AML
Line: 6 ACPI ACPI1.BIN
Line: 7 BIOSCODE BIOSCOD0.ROM
Line: 8 BIOSCODE BIOSCOD1.ROM
Line: 9 BIOSCODE BIOSCOD2.ROM
Line: 10 BIOSCODE BIOSCOD3.ROM
Line: 11 BIOSCODE BIOSCOD4.ROM
Line: 12 BIOSCODE BIOSCOD5.ROM
Line: 13 BIOSCODE BIOSCOD6.ROM
Line: 14 DECOMPCODE DECOMPC0.ROM
Line: 15 DISPLAY DISPLAY0.ROM
Line: 16 LOGO LOGO0.BIN
Line: 17 LOGO LOGO1.BIN
Line: 18 MISER MISER0.ROM
Line: 19 MODULE MOD_4800.ROM -C:H0
Line: 20 MODULE MOD_4B00.ROM -C:K0
Line: 21 MODULE MOD_5100.ROM -C:Q0
Line: 22 OPROM OPROM0.ROM
Line: 23 OPROM OPROM1.ROM
Line: 24 OPROM OPROM2.ROM
Line: 25 ROMEXEC ROMEXEC0.ROM -Z
Line: 26 ROMEXEC ROMEXEC1.ROM -Z
Line: 27 SETUP SETUP0.ROM
Line: 28 STRINGS STRINGS0.ROM
Line: 29 TEMPLATE TEMPLAT0.ROM
Line: 30 UPDATE UPDATE0.ROM
PREPARE/CATENATE Command Parser END
Global Compression Mode = LZINT
Module: BOOTBLOCK
Module: ACPI * COMPRESSED *
Module: ACPI * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: BIOSCODE * COMPRESSED *
Module: DECOMPCODE
Module: DISPLAY * COMPRESSED *
Module: LOGO * COMPRESSED *
Module: LOGO * COMPRESSED *
Module: MISER * COMPRESSED *
Module: MODULE * COMPRESSED *
Module: MODULE * COMPRESSED *
Module: MODULE * COMPRESSED *
Module: OPROM * COMPRESSED *
Module: OPROM * COMPRESSED *
Module: OPROM * COMPRESSED *
Module: ROMEXEC
Module: ROMEXEC
Module: SETUP * COMPRESSED *
Module: STRINGS * COMPRESSED *
Module: TEMPLATE * COMPRESSED *
Module: UPDATE
27 Files Processed 22 Files Compressed.
Prepare Completed with 0 Errors.
Catenate v2.96 11/02/2002
(c) Phoenix Technologies Ltd.
Catenate Start 09/14/08 15:55:23
PREPARE/CATENATE Command Parser Ver 2.3 11/02/2002
Parsing: 'ROM.SCR'
Line: 1 BANKS -N:1 -S:1024
Line: 2 COMPRESS LZINT
Line: 3 BOOTBLOCK BB.ROM -S:64
Line: 5 ACPI ACPI0.AML
Line: 6 ACPI ACPI1.BIN
Line: 7 BIOSCODE BIOSCOD0.ROM
Line: 8 BIOSCODE BIOSCOD1.ROM
Line: 9 BIOSCODE BIOSCOD2.ROM
Line: 10 BIOSCODE BIOSCOD3.ROM
Line: 11 BIOSCODE BIOSCOD4.ROM
Line: 12 BIOSCODE BIOSCOD5.ROM
Line: 13 BIOSCODE BIOSCOD6.ROM
Line: 14 DECOMPCODE DECOMPC0.ROM
Line: 15 DISPLAY DISPLAY0.ROM
Line: 16 LOGO LOGO0.BIN
Line: 17 LOGO LOGO1.BIN
Line: 18 MISER MISER0.ROM
Line: 19 MODULE MOD_4800.ROM -C:H0
Line: 20 MODULE MOD_4B00.ROM -C:K0
Line: 21 MODULE MOD_5100.ROM -C:Q0
Line: 22 OPROM OPROM0.ROM
Line: 23 OPROM OPROM1.ROM
Line: 24 OPROM OPROM2.ROM
Line: 25 ROMEXEC ROMEXEC0.ROM -Z
Line: 26 ROMEXEC ROMEXEC1.ROM -Z
Line: 27 SETUP SETUP0.ROM
Line: 28 STRINGS STRINGS0.ROM
Line: 29 TEMPLATE TEMPLAT0.ROM
Line: 30 UPDATE UPDATE0.ROM
PREPARE/CATENATE Command Parser END
PART DESCRIPTION: 1 Banks of 1024 kBytes (1024 KBytes 8 MegaBits)
KNOWN CLASS CODES
-------------------------------------------------------------------------
* - AUTOGEN A - ACPI B - BIOSCODE
C - UPDATE D - DISPLAY E - SETUP
F - MARKS G - DECOMPCODE I - BOOTBLOCK
L - LOGO M - MISER N - ROMPILOTLOAD
O - NETWORK P - ROMPILOTINIT R - OPROM
S - STRINGS T - TEMPLATE U - USER
W - WAV X - ROMEXEC
------------------------------------------------------------------------
================================== MODULE MAP =================================
Class Code
. Instance
. .
C I B START END LENGTH B LINK1 B LINK2 MODULE NAME
---- ----------- --------- ------ ----------- ----------- ------------
I 0 0 FFFF 0000 FFFF FFFF 10000 ----- ----- BB.MOD
---- 0 FFFE FFF7 FFFE FFFF 9 ----- ----- FREE
X 0 0 FFFE 7F15 FFFE FFF6 80E2 0 FFFE 679A ----- ROMEXEC0.MOD
A 0 0 FFFE 679A FFFE 7F14 177B 0 FFFE 6730 ----- ACPI0.MOD
A 1 0 FFFE 6730 FFFE 6799 6A 0 FFFE 62D5 ----- ACPI1.MOD
G 0 0 FFFE 62D5 FFFE 672F 45B 0 FFFE 5744 ----- DECOMPC0.MOD
D 0 0 FFFE 5744 FFFE 62D4 B91 0 FFFE 4DB0 ----- DISPLAY0.MOD
L 0 0 FFFE 4DB0 FFFE 5743 994 0 FFFE 3117 ----- LOGO0.MOD
M 0 0 FFFE 3117 FFFE 4DAF 1C99 0 FFFE 30F8 ----- MISER0.MOD
2A 0h 0 FFFE 30F8 FFFE 3116 1F 0 FFFE 0B80 ----- AUTOGEN.MOD
B 0 0 FFFE 0B80 FFFE 30F7 2578 0 FFFD 8005 0 FFF9 6C5D BIOSCOD0.MOD (0)
X 1 0 FFFD 8005 FFFE 0B7F 8B7B 0 FFFD 350E ----- ROMEXEC1.MOD
L 1 0 FFFD 350E FFFD 8004 4AF7 0 FFFC DF5E ----- LOGO1.MOD
H 0 0 FFFC DF5E FFFD 350D 55B0 0 FFFC 956A ----- MOD_4800.MOD
K 0 0 FFFC 956A FFFC DF5D 49F4 0 FFFC 612D ----- MOD_4B00.MOD
Q 0 0 FFFC 612D FFFC 9569 343D 0 FFFB DFB4 ----- MOD_5100.MOD
R 0 0 FFFB DFB4 FFFC 612C 8179 0 FFFB 6859 ----- OPROM0.MOD
R 1 0 FFFB 6859 FFFB DFB3 775B 0 FFFB 1CFC ----- OPROM1.MOD
R 2 0 FFFB 1CFC FFFB 6858 4B5D 0 FFFA DD99 ----- OPROM2.MOD
E 0 0 FFFA DD99 FFFB 1CFB 3F63 0 FFFA AB70 ----- SETUP0.MOD
S 0 0 FFFA AB70 FFFA DD98 3229 0 FFFA 7543 ----- STRINGS0.MOD
T 0 0 FFFA 7543 FFFA AB6F 362D 0 FFF9 94C8 ----- TEMPLAT0.MOD
C 0 0 FFF9 94C8 FFFA 7542 E07B 0 FFF9 3503 ----- UPDATE0.MOD
---- 0 FFF9 6C5D FFF9 94C7 286B ----- ----- BIOSCOD0.MOD (1)
B 1 0 FFF9 3503 FFF9 6C5C 375A 0 FFF8 AC9A ----- BIOSCOD1.MOD (0)
B 2 0 FFF8 AC9A FFF9 3502 8869 0 FFF8 2D6A ----- BIOSCOD2.MOD (0)
B 3 0 FFF8 2D6A FFF8 AC99 7F30 0 FFF8 24C0 ----- BIOSCOD3.MOD (0)
B 4 0 FFF8 24C0 FFF8 2D69 8AA 0 FFF7 72D5 ----- BIOSCOD4.MOD (0)
B 5 0 FFF7 72D5 FFF8 24BF B1EB 0 FFF7 43D1 ----- BIOSCOD5.MOD (0)
B 6 0 FFF7 43D1 FFF7 72D4 2F04 ----- ----- BIOSCOD6.MOD (0)
---- 0 FFF0 8000 FFF7 43D0 6C3D1 ----- ----- FREE
---- 0 FFF0 6000 FFF0 7FFF 2000 ----- ----- ESCD
---- 0 FFF0 0000 FFF0 5FFF 6000 ----- ----- FREE
==============================================================================
1st Link = Bank 0 Address: FFFE 7F15
NOTES: Link1 is the module linkage chain.
Link2 is the linkage within a fragmented module.
Total BIOS Size: 8DC26h/ 580646
Total Free Space: 723DAh/ 467930
ROM Size: 100000h/ 1048576
CHECKSUM AT: 0EFFF6(in File) VALUE: D8
0 Errors/0 Warnings.
Catenate Done 09/14/08 15:55:23
This makes me think microcode is stored in the UPDATE0.ROM file, because it is referred to as "CPU Update". Am I barking up the wrong tree here? I have, of course, extracted UPDATE0.ROM from the WPH file and can insert back in once it's modified, but does anyone know how I can extract microcode from that file and replace it with that from the ASUS BIOS?
Bookmarks