%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
本文所涉及到的資料,均來自internet...
造成的後果,與本人無關
| 內容僅為個人意見。由於時間倉促,很多細節沒有驗證,錯誤很多。
| 如果您有不同意見,可聯系[email protected],歡迎指正。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[1].關鍵數據結構
(1).*BBSS*
see AwdBiOSSrc
(2).-lh5-
see AwdbEditSrc
see Xfcous Article 'xxx文件格式xxx'
(3).*KSA (Locate in SystemBiOS中)
see AwdBiOSSrc
[2].幾個鏡像的結構
----------------------------BiOS 6.00PG (512KB /????)----------------------------
BIOS Version:Phoenix - AwardBiOS v6.00PG
BiOS Info:11/05/2003-KT600-8237-6A6LYA1GC-13
BIOS ID:6A6LYA1Gnix - AwardBiOS v6.00PG
Name:KV7_13.BIN Type:50000000 Offset: 0 ModuleSize:129E1
Name:awardext.rom Type:407F0000 Offset: 129E3 ModuleSize:8F5F
Name:ACPITBL.BIN Type:40030000 Offset: 1B943 ModuleSize:1ABA
Name:AWARDEPA.BIN Type:40020000 Offset: 1D3FE ModuleSize:22A
Name:awardeyt.rom Type:400E0000 Offset: 1D629 ModuleSize:3F24
Name:_EN_CODE.BIN Type:40290000 Offset: 2154E ModuleSize:261B
Name:8233LAN.BIN &n
bsp; Type:40860000 Offset: 23B6A ModuleSize:80FE
Name:6420R221.rom Type:40870000 Offset: 2BC69 ModuleSize:6C6A
Name:leaving.bin Type:40A40000 Offset: 328D4 ModuleSize:12C5
External_BootRom_Seg:7000 //4GB-64KB+0x7000 --->FileOffset 0x77000
Decompress_Code_Seg:9400 //hehe,should be '=Award Decompression BiOS ='
WholeBootRomStart_Seg:6000
ROMDrive_Limit_Seg:6000 //4GB-64KB+0x6000 --->file offset 0x76000
ESCD_Data_Seg:FFFF //not exist?
Extract_Entry:9ADE
Expand_Entry:9B34
BootExt_Size:9 //9KB == DecompBlockStart-ExtBootRomSeg=0x9400-0x7000=9KB
+-----------------------------+ 0x00000 '-lh5-' --->LzhModule
| lzh module |
+-----------------------------+
| lzh module |
+-----------------------------+
| lzh module |
+-----------------------------+
| |
+-----------------------------+
| Free Space(0xFF) |
+-----------------------------+
| |
+-----------------------------+ 0x76000 here appear code that !=0xFF
r />| |
+-----------------------------+
| |
+-----------------------------+ 0x79400 '=Award Decompression BiOS ='
| DecompBlock(4KB??) |
+-----------------------------+ 0x79F30 '*BS1'
| |
+-----------------------------+ 0x79F50 '*BBSS*' --->Bootblock Signature struct...
| |
+-----------------------------+ 0x7A000 'IMD$' --->DMI Area
| DMI (8KB) |
+-----------------------------+ 0x7C000
| |
+-----------------------------+ 0x7E000 'Award BootBlock BiOS v1.0'
| BootBlock(8KB) |
+-----------------------------+ 0x7FFFF
----------------------------BiOS 6.00PG (256KB/16K-8K-8K Unit???)----------------------------
Name:6A69VM4H.BIN Type:50000000 Offset: 0 ModuleSize:12AE2
Name:awardext.rom Type:407F0000 Offset: 12AE4 ModuleSize:96C8
Name:CPUCODE.BIN Type:40010000 Offset: 1C1AD ModuleSize:1024
Name:ACPITBL.BIN Type:40030000 Offset: 1D1D2 ModuleSize:17BB
Name:AwardBmp.bmp Type:40020000 Offset: 1E98E ModuleSize:30C
Name:_EN_CODE.BIN Type:40290000 Offset: 1EC9B ModuleSize:1396
Name:ANTI_VIR.BIN Type:40070000 Offset: 20032 ModuleSize:14AB
Name:cafe.bmp Type:40000000 Offset: 214DE ModuleSize:492E
SystemBiOS CRC:AC36
BIOS Version:Award Modular BiOS v6.00PG
BiOS Info:10/09/2001-i845-W627HF-6A69VM4HC-00
BIOS ID:6A69VM4Hd Modular BiOS v6.00PG
External_BootRom_Seg:4000 //bootExt Start=0x34000
Decompress_Code_Seg:7000 //DecompBlock -0x37000
WholeBootRomStart_Seg:4000 //
ROMDrive_Limit_Seg:4000 //
ESCD_Data_Seg:A000 //'ACFG'=0x3A000
Extract_Entry:76DE //
Expand_Entry:7734 //
BootExt_Size:C //bootExt_Size=DecompBlock-ExtBootStart=0x7000-0x4000
+-----------------------------+ 0x00000 '-lh5-' --->LzhModule
| lzh module |
+-----------------------------+
| lzh module
|
+-----------------------------+
| lzh module |
+-----------------------------+
| |
+-----------------------------+
| Free Space(0xFF) |
+-----------------------------+
| |
+-----------------------------+ 0x34000 here appear code that !=0xFF
| |
+-----------------------------+
| |
+-----------------------------+ 0x37000 '=Award Decompression BiOS ='
| DecompBlock(4KB??) |
+-----------------------------+ 0x37B20 '*BS1'
| |
+-----------------------------+ 0x37B40 '*BBSS*' --->Bootblock Signature struct...
| |
+-----------------------------+ 0x38000 'IMD$' --->DMI Area
| DMI (8KB) |
+-----------------------------+ 0x3A000 'ACFG' --->ESCD Area
| ESCD (8KB) |
+----------
| |
+-----------------------------+ 0x3E000 'Award BootBlock BiOS v1.0'
| BootBlock(8KB) |
+-----------------------------+ 0x3FFFF
----------------------------BiOS 6.00PG (512KB/64KB Unit?)----------------------------
Name:ms86517b.BIN Type:50000000 Offset: 20000 ModuleSize:13B4A
Name:awardext.rom Type:407F0000 Offset: 33B4C ModuleSize:9D7E
Name:CPUCODE.BIN Type:40010000 Offset: 3D8CB ModuleSize:3790
Name:ACPITBL.BIN Type:40030000 Offset: 4105C ModuleSize:1AF1
Name:AwardBmp.bmp Type:40020000 Offset: 42B4E ModuleSize:2A9
Name:awardeyt.rom Type:400E0000 Offset: 42DF8 ModuleSize:65E6
Name:_EN_CODE.BIN Type:40290000 Offset: 493DF ModuleSize:1F41
Name:SDG_2731.DAT Type:40800000 Offset: 4B321 ModuleSize:6671
Name:DMBM_Tt.ROM Type:40160000 Offset: 51993 ModuleSize:626
Name:MBINFO.ROM Type:400F0000 Offset: 51FBA ModuleSize:C8
Name:RTSROM_M.LOM Type:40860000 Offset: 52083 ModuleSize:7DA8
Name:L_PII.BMP Type:40000000 Offset: 59E2C ModuleSize:1639
Name:L_HT.BMP Type:40200000 Offset: 5B466 ModuleSize:18EA
Name:L_P4.BMP Type:40210000 Offset: 5CD51 ModuleSize:1858
Analyse BiOS Okay!!!
Decompress okay...!!!
SystemBiOS CRC:656A
BIOS Version:Phoenix - AwardBiOS v6.00PG
BiOS Info:04/04/2005-i865-W83627-6A79Q1JC-00
BiOS ID:6A79Q1J
External_BootRom_Seg:B00E //0xEB000 ---> FileOffset:0x6B000 ?
Decompress_Code_Seg:EE4E //0xEEE40 ---> FileOffset:0x6EE40 !
WholeBootRomStart_Seg:B00E //0xEB000 ---> FileOffset:0x6B000 ?
ROMDrive_Limit_Seg:B00E //0xEB000 ---> FileOffset:0x6B000 ?
ESCD_Data_Seg:1 //0x10000 ---> FileOffset:0x10000 ?
Extract_Entry:F51E
Expand_Entry:F574
BootExt_Size:C //12KB?? ---> ?
+-----------------------------+ 0x00000 'IMD$' --->DMI Area
| DMI Block |
+-----------------------------+ 0x10000 'ACFG' --->ESCD Area
| ESCD Block |
+-----------------------------+ 0x20000 '-lh5-' -->LzhModule
| lzh module |
+-----------------------------+
| lzh module |
+-----------------------------+
| Free Space(0xFF) |
+----------------------------
-+
| |
+-----------------------------+ 0x63FE0 here appear code that !=0xFF
| |
+-----------------------------+
| |
+-----------------------------+ 0x6EE40 '=Award Decomp
------------------------------------------------------------------------------------------
下面是Awd2MbBiOS_Src中的片斷,解釋了上面的問題:
(location:\btromseg.equ)
;================== Flash 64K unit definition ================ External_BootRom_Seg = 0e006h ;physical = 6e000h 對於不同的Flash有不同的Unit 大小? 64KB Unit BIOS鏡像的關鍵信息都包含在BBSS結構中(至少在6.00PG中),對於不同版本的AwdBiOS, 至於BBSS結構和 LZH結構,看下文吧...
ifdef Flash_64k_unit
Flash_2M_support equ 1
ESCD_Data_Seg = 0ffffh ;assume none
ifdef PNP_BiOS
ESCD_Data_Seg = 00000h ;physical = 00000h
ifdef DMI_ENABLED
ESCD_Data_Seg = 00001h ;physical = 10000h
endif ;DMI_ENABLED
ifdef P6_BiOS_ONLY
ESCD_Data_Seg = 00001h ;physical = 10000h
endif ;P6_BiOS_ONLY
endif ;PNP_BiOS
Decompress_Code_Seg = 0f006h+Extra_MemSizing_Space ;physical = 6f000h+Extra_MemSizing_Space
ROMDrive_Limit_Seg = 0e006h ;physical = 6e000h
WholeBootRomStart_Seg = 0e006h ;physical = 6e000h
endif
;==============================================================
16K-8K-8K Unit
4KB Unit
結構不一定一樣/存在?
曾在一個Award BiOS 6.0中沒有找到BBSS結構,卻找到了一個*BBSN*標志,沒辦法,只能將這個位置
看作BBSS結構來計算BiOS (Decompess Block Cksum)效驗和.