As long as the checksum is ok and nothing else is wrong with the bios it will post.
But you won't have a working bios menu or bootup menu.
If you need to mod the menu's, you might have to learn how to doit by hand, and that does take a while to write the thing out into asm.
I was gonna try to make a decompiler just for this, because it's the most time consuming part about modding an award bios but I never got toit.
Award encode goes something like this:
Code:
;Item #: Starts with 0, not 1.
;Group #: 0xFF = 1, 0x00 = 2, 0x01 = 3, 0x02 = 4, 0x03 = 5, 0x04 = 6, 0x05 = 7, 0x06 = 8 (guessing, close enough)
db "_EN_CODE.BIN", 0x00, 0x00, 0x00, 0x00
Menu_Group_List:
dw (((Menu_Group_List_End - Menu_Group_List) / 2) - 1)
dw Menu_Group_0
dw Menu_Group_1
dw Menu_Group_2
dw Menu_Group_3
dw Menu_Group_4
dw Menu_Group_5
dw Menu_Group_6
dw Menu_Group_7
dw Menu_Group_8
dw Menu_Group_9
if Cleanup = 1
dw Menu_Group_10
end if
Menu_Group_List_End:
........
if Cleanup = 1
Menu_Group_10_Item_0: ;0x0A00
db "[tCLK]: ", 0x00
Menu_Group_10_Item_1:
db "1X ", 0x00
db "1.125X", 0x00
db "1.25X ", 0x00
db "1.375X", 0x00
db "1.5X ", 0x00
db "1.625X", 0x00
db "1.75X ", 0x00
db "1.875X", 0x00
db "2X ", 0x00
db "2.5X ", 0x00
db "3X ", 0x00
db "3.5X ", 0x00
db "4X ", 0x00
Menu_Group_10_Item_2:
db "BUI/SIP Strap: ", 0x00
Menu_Group_10_Item_3:
db "Auto ", 0x00 ;0x00
db "100 ", 0x00 ;0x01
db "113 ", 0x00 ;0x02
db "125 ", 0x00 ;0x03
db "138 ", 0x00 ;0x04
db "150 ", 0x00 ;0x05
db "163 ", 0x00 ;0x06
db "175 ", 0x00 ;0x07
db "188 ", 0x00 ;0x08
db "200 ", 0x00 ;0x09
db "213 ", 0x00 ;0x0A
db "225 ", 0x00 ;0x0B
db "238 ", 0x00 ;0x0C
db "250 ", 0x00 ;0x0D
db "256 ", 0x00 ;0x0E
db "263 ", 0x00 ;0x0F
db "269 ", 0x00 ;0x10
db "275 ", 0x00 ;0x11
db "Hellfire 3EG-REV2", 0x00 ;0x12
db "tictac XT ", 0x00 ;0x13
db "Test Strap ", 0x00 ;0x14
Menu_Group_10_Item_4:
db "Debug ROM: ", 0x00
Menu_Group_10_Item_5:
db "Disabled ", 0x00
db "Skip DMI Pooling", 0x00
db "Debug ", 0x00
Menu_Group_10:
dw (((Menu_Group_10_End - Menu_Group_10) / 2) - 1)
dw Menu_Group_10_Item_0
dw Menu_Group_10_Item_1
dw Menu_Group_10_Item_2
dw Menu_Group_10_Item_3
dw Menu_Group_10_Item_4
dw Menu_Group_10_Item_5
Menu_Group_10_End:
end if
This is not the greatest example.
It's all about the offsets of each setting and there values.
And the length's of these tables and so on.
The very begining of the file lists each group offset.
If the bios gets this wrong then everything gets offset and everything appears corrupted in the bios menu and boot menu (sometimes f8 or hammering on the esc key during post).
If the menu and item file was made correctly, then it's possible a value in the uncompressed section of the bios is incorrect, or maybe it's just in the wrong location (modbin will compile it and it'll be wrong type of thing).
Here's an example of _item.bin
Code:
;;; Begining Of 2nd Segment
;0x09 should be the last group
;0x0A offset or group (group if I defined it, this might be a prob...)
;0x00 group2, used as the dmi pool text
;0x0D direct offset
;0x0E direct offset
;0x0F Direct offset
;0x10 direct offset
;0x11 direct offset
;0x12 direct offset
;0x13 direct offset
;db Item_2, Menu_Group_4 ;ItemName
Item_Null equ 0x0000
Menu_Group_0 equ 0x00
Menu_Group_1 equ 0x01
Menu_Group_2 equ 0x02
Menu_Group_3 equ 0x03
Menu_Group_4 equ 0x04
Menu_Group_5 equ 0x05
Menu_Group_6 equ 0x06
Menu_Group_7 equ 0x07
Menu_Group_8 equ 0x08
Menu_Group_9 equ 0x09
Menu_Group_10 equ 0x0A
Menu_Group_11 equ 0x0B
Menu_Group_12 equ 0x0C
Menu_Group_13 equ 0x0D
Menu_Group_14 equ 0x0E
Menu_Group_15 equ 0x0F
Menu_Group_16 equ 0x10
Menu_Group_17 equ 0x11
Menu_Group_18 equ 0x12
Menu_Group_19 equ 0x13
Menu_Group_20 equ 0x14
Menu_Group_21 equ 0x15
Menu_Group_22 equ 0x16
Menu_Group_23 equ 0x17
Menu_Group_24 equ 0x18
Menu_Group_25 equ 0x19
Menu_Group_26 equ 0x1A
Menu_Group_27 equ 0x1B
Menu_Group_28 equ 0x1C
Menu_Group_29 equ 0x1D
Menu_Group_30 equ 0x1E
Menu_Group_31 equ 0x1F
Item_0 equ 0x00
Item_1 equ 0x01
Item_2 equ 0x02
Item_3 equ 0x03
Item_4 equ 0x04
Item_5 equ 0x05
Item_6 equ 0x06
Item_7 equ 0x07
Item_8 equ 0x08
Item_9 equ 0x09
Item_10 equ 0x0A
Item_11 equ 0x0B
Item_12 equ 0x0C
Item_13 equ 0x0D
Item_14 equ 0x0E
Item_15 equ 0x0F
Item_16 equ 0x10
Item_17 equ 0x11
Item_18 equ 0x12
Item_19 equ 0x13
Item_20 equ 0x14
Item_21 equ 0x15
Item_22 equ 0x16
Item_23 equ 0x17
Item_24 equ 0x18
Item_25 equ 0x19
Item_26 equ 0x1A
Item_27 equ 0x1B
Item_28 equ 0x1C
Item_29 equ 0x1D
Item_30 equ 0x1E
Item_31 equ 0x1F
Item_32 equ 0x20
Item_33 equ 0x21
Item_34 equ 0x22
Item_35 equ 0x23
Item_36 equ 0x24
Item_37 equ 0x25
Item_38 equ 0x26
Item_39 equ 0x27
Item_40 equ 0x28
Item_41 equ 0x29
Item_42 equ 0x2A
Item_43 equ 0x2B
Item_44 equ 0x2C
Item_45 equ 0x2D
Item_46 equ 0x2E
Item_47 equ 0x2F
Item_48 equ 0x30
Item_49 equ 0x31
Item_50 equ 0x32
Item_51 equ 0x33
Item_52 equ 0x34
Item_53 equ 0x35
Item_54 equ 0x36
Item_55 equ 0x37
Item_56 equ 0x38
Item_57 equ 0x39
Item_58 equ 0x3A
Item_59 equ 0x3B
Item_60 equ 0x3C
Item_61 equ 0x3D
Item_62 equ 0x3E
Item_63 equ 0x3F
Item_64 equ 0x40
Item_65 equ 0x41
Item_66 equ 0x42
Item_67 equ 0x43
Item_68 equ 0x44
Item_69 equ 0x45
Item_70 equ 0x46
Item_71 equ 0x47
Item_72 equ 0x48
Item_73 equ 0x49
Item_74 equ 0x4A
Item_75 equ 0x4B
Item_76 equ 0x4C
Item_77 equ 0x4D
Item_78 equ 0x4E
Item_79 equ 0x4F
Item_80 equ 0x50
Item_81 equ 0x51
Item_82 equ 0x52
Item_83 equ 0x53
Item_84 equ 0x54
Item_85 equ 0x55
Item_86 equ 0x56
Item_87 equ 0x57
Item_88 equ 0x58
Item_89 equ 0x59
Item_90 equ 0x5A
Item_91 equ 0x5B
Item_92 equ 0x5C
Item_93 equ 0x5D
Item_94 equ 0x5E
Item_95 equ 0x5F
Item_96 equ 0x60
Item_97 equ 0x61
Item_98 equ 0x62
Item_99 equ 0x63
Item_100 equ 0x64
Item_101 equ 0x65
Item_102 equ 0x66
Item_103 equ 0x67
Item_104 equ 0x68
Item_105 equ 0x69
Item_106 equ 0x6A
Item_107 equ 0x6B
Item_108 equ 0x6C
Item_109 equ 0x6D
Item_110 equ 0x6E
Item_111 equ 0x6F
Item_112 equ 0x70
Item_113 equ 0x71
Item_114 equ 0x72
Item_115 equ 0x73
Item_116 equ 0x74
Item_117 equ 0x75
Item_118 equ 0x76
Item_119 equ 0x77
Item_120 equ 0x78
Item_121 equ 0x79
Item_122 equ 0x7A
Item_123 equ 0x7B
Item_124 equ 0x7C
Item_125 equ 0x7D
Item_126 equ 0x7E
Item_127 equ 0x7F
org 0x0000
include "Makefile"
........
db "$ml$"
dw 0x0000 ;Kernel_Do_NO
dw 0x0000 ;Kernal_Show_NO
db "$SpeCR" ;Kernal Sepcial Code or something
......
dw 0x0000 ;ItemStat ;"Advanced BIOS Features"
db Item_0, Menu_Group_1 ;ItemName
dw 0xF800 ;CtReg
dw 0x0001 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x48 ;Item_Xaxis
db 0x18 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_20, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"Advanced Chipset Features"
db Item_1, Menu_Group_1 ;ItemName
dw 0xF800 ;CtReg
dw 0x0002 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x48 ;Item_Xaxis
db 0x20 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_21, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"Power Management Setup "
db Item_3, Menu_Group_1 ;ItemName
dw 0xF800 ;CtReg
dw 0x0004 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x88 ;Item_Xaxis
db 0x28 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_22, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"PnP/PCI Configurations"
db Item_2, Menu_Group_1 ;ItemName
dw 0xF800 ;CtReg
dw 0x0008 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x88 ;Item_Xaxis
db 0x30 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_23, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"Integrated Peripherals"
db Item_4, Menu_Group_1 ;ItemName
dw 0xF800 ;CtReg
dw 0x0010 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x48 ;Item_Xaxis
db 0x38 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_24, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"PC Health Status"
db Item_5, Menu_Group_1 ;ItemName
dw 0xF801 ;CtReg
dw 0x0080 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x88 ;Item_Xaxis
db 0x68 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_28, Menu_Group_1 ;HelpOffset
dw 0x0000 ;ItemStat ;"Genie BIOS Setting "
db Item_6, Menu_Group_1 ;ItemName
dw 0xF802 ;CtReg
dw 0x0001 ;CtRegMask
db 0xFD ;CmosLoc
dw 0x0001 ;CmosMask
dw Item_Null ;ItemValName
dw 0x0000 ;ItemMin
dw 0x0000 ;ItemMax
db 0x88 ;Item_Xaxis
db 0x08 ;Item_Yaxis
dw 0x0000 ;RomDefault
dw 0x0000 ;SetupDef
db Item_29, Menu_Group_1 ;HelpOffset
if Board_ID = "6A61BD49"
.....
That actually was the older ver of it before item existed.
But it was the most worked on ver I've done.
I've done real item.bin files, each setting thingy is the same layout.
The odd ptr's and stuff on top I don't even understand myself anymore since it's been so long.
Award bios is like, a dead art I guess you could say :|.
Edit:
Oh I remember, those were to tell each _item entry where the location of the setting or value was in the _en_code file...
Bookmarks