Bios Mods -The Best BIOS Update and Modification Source

Full Version: Bios doesn't load my option rom?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have compiled an option rom but my bios doesn't seem to see it neither to load or something. My option rom starts with $55, $aa and checksum is 0. I also have a device id, vendor id, a pcir structure and pnp structure. In my option rom I want to print some information from the bios to the screen. I don't know much asm just a copy and past work. Thank you for your help! My bios is a phoenix bios and I want to update my amd raid driver but bios is nasty to me!
(01-20-2013, 06:53 AM)Stoneage Wrote: [ -> ]I have compiled an option rom but my bios doesn't seem to see it neither to load or something. My option rom starts with $55, $aa and checksum is 0. I also have a device id, vendor id, a pcir structure and pnp structure. In my option rom I want to print some information from the bios to the screen. I don't know much asm just a copy and past work. Thank you for your help! My bios is a phoenix bios and I want to update my amd raid driver but bios is nasty to me!

Success! Since I'm using an amd raid rom I post my patch for the misc.bin. I disassembled the misc.bin and permantently activated the esc-key sequence. Eventually it also solves the load to misc.bin error and maybe I can debug my error again and make a better patch?

<pre>
seg000:016B loc_16B: ; CODE XREF: seg000:00BBj
seg000:016B call sub_CB0
seg000:016E mov ds:byte_5A24, 0
seg000:0173 push bx
seg000:0174 call sub_DFE
seg000:0177 pop bx
seg000:0178 nop
seg000:0179 nop
seg000:017A call sub_26C
seg000:017D call sub_1F0
seg000:0180 mov cx, 0BB8h
seg000:0183
seg000:0183 loc_183: ; CODE XREF: seg000:019Cj
seg000:0183 mov ah, 1
seg000:0185 int 16h ; KEYBOARD - CHECK BUFFER, DO NOT CLEAR
seg000:0185 ; Return: ZF clear if character in buffer
seg000:0185 ; AH = scan code, AL = character
seg000:0185 ; ZF set if no character in buffer
seg000:0187 jz short loc_199
seg000:0189 xor ah, ah
seg000:018B int 16h ; KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY
seg000:018B ; Return: AH = scan code, AL = character
seg000:018D cmp ax, 2106h
seg000:0190 jz short loc_1A0
seg000:0192 cmp ax, 1519h
seg000:0195 jz short loc_1A0
seg000:0197 jmp short loc_1BD
seg000:0199 ; ---------------------------------------------------------------------------
seg000:0199
seg000:0199 loc_199: ; CODE XREF: seg000:0187j
seg000:0199 call sub_2318
seg000:019C loop loc_183
seg000:019E jmp short loc_1BD
seg000:01A0 ; ---------------------------------------------------------------------------
seg000:01A0
seg000:01A0 loc_1A0: ; CODE XREF: seg000:0190j
seg000:01A0 ; seg000:0195j
seg000:01A0 mov ds:byte_5A5B, 1
seg000:01A5 mov ds:byte_573C, 0
seg000:01AA mov ds:byte_5A22, 0
seg000:01AF call sub_27E
seg000:01B2 mov ds:byte_5A21, 3
seg000:01B7 mov dx, 8
seg000:01BA jmp loc_2ED
seg000:01BD ; ---------------------------------------------------------------------------
seg000:01BD
seg000:01BD loc_1BD: ; CODE XREF: seg000:0197j
seg000:01BD ; seg000:019Ej
seg000:01BD call sub_F67
seg000:01C0 retf
</pre>