hi
please forgive me for this seems a bit off topic.
i am trying to tweak my ROM BIOS of my P4 system. I want to add USB boot support {i think it can be done, read the USB disk's first sector to 7c00 and jump. many things will be similar to booting from floppy. maybe i can reuse major portions of the same existing code. only tough task is to detect on which hub and port is a USB disk attached, and then to read it!. PLEASE correct me if i am (as usual) wrong. i don't know much about accessing USB disks, but i'll learn.}
i need information about the AWDFLASH BIOS upgrade file format. uptil now i've figured out that it is LZH, but i don't know why the LZH compressed file of 128KB BIOS image is 256KB in size? anyway, i backed up my BIOS. the AWDFLASH utility created a 256KB LZH file{BIN}. i decompressed(!) it to get 128KB ROM BIOS image (!).
I tried many disassemblers, but all fail to dis. the file {128KB ROM BIOS image} correctly. many of them exit while disassembling! those who disassemble it without problem, do it wrong, i mean the instructions are very different than you can expect{they are unable to recognize where an instruction starts, resulting in wrong opcode grouping, and wierd instruction}. this error occurs at some places in the code, especially where code has embedded constants. the disassembled code from W32Dasm or Hackman6.0 can be traced tough, but is also has errors. how do i disassemble the file? is there any disassembler to which i can tell which byte groups make up the instructions and modifying the errors at those locations where the BIOS image has stored constants or voids, and it will automatically disassemble the rest of the file again?
or should i try to get the source? {well, i know compatibility problems, and also have a working binary! i can check what has been done differently (if it gets disassembled correctly).}
if anyone has done this before, please let me know. or if anyone has got / knows the source, please give the link.
the details of my system are
Motherboard Manufacturer: U COMPANY
Product : U8648
Motherboard ID : 12/19/2001-P4M266-8233-6A6LW00BC-00
Motherboard Name : VIA P4X266 VL33-S / VIARAMA P047/P147
Motherboard Chipset : P4X266
My current BIOS Properties
BIOS Type : Award Modular
Award BIOS Type : Award Modular BIOS v6.00PG
Award BIOS Message : U8648R12
System BIOS Date : 12/19/01
Video BIOS Date : 10/05/01
BIOS Manufacturer : Phoenix Technologies Ltd.
Any source starting with revision U8648R12 is useful.
One more thing, how do you write to the ROM bios, or read from it? I think it is flash ROM. can be manufacturor dependant. dunno.
BTW, what about VGA BIOS?
Please help me out.
thanx in advance.
BIOS tweak
Re:BIOS tweak
if your bios image is only 128K then most likely it isn't complete! (rather i should say i would be surprised if it is -- that seams quite small)
flashing the chip would require information on the specific design of the board, reading it simply requires you to enter PMode and read from TOP_OF_MEM (entry point is at physical(FFFF_FFF0)
the VGA-ROM is located on the video card, and will likely be much harder to get -- and it is unlikely to be of much use
btw: you do know that the bios image is loaded to the top of 32bit address space - not the top of 20bit address space this will be important to know if you are to do this -- also note that what you are doing is illegal
also note when dissassembling -- the first few lines will be UMode, but then it will enter PMode (most of it will be PMode -- but some of it is RMode -- most assemblers will have trouble with the switches back and forth)
flashing the chip would require information on the specific design of the board, reading it simply requires you to enter PMode and read from TOP_OF_MEM (entry point is at physical(FFFF_FFF0)
the VGA-ROM is located on the video card, and will likely be much harder to get -- and it is unlikely to be of much use
btw: you do know that the bios image is loaded to the top of 32bit address space - not the top of 20bit address space this will be important to know if you are to do this -- also note that what you are doing is illegal
also note when dissassembling -- the first few lines will be UMode, but then it will enter PMode (most of it will be PMode -- but some of it is RMode -- most assemblers will have trouble with the switches back and forth)