Page 1 of 1

Completely stuck, trying to extract BIOS info

Posted: Tue Aug 17, 2004 5:14 pm
by ShadowGuy
This was first posted in another forum (I just recently found this one)

http://www.thetechzone.com/forums/showt ... adid=61195

What I am trying to do is get the POST splash screen image file off my BIOS, so I can implant it into other motherboiards down the road. Before anyone says its on Intels site, its not an Intel splash screen, its a special one specific to this BIOS.

My first thoughts were using Intels program specifically designed for making/implanting custom images into the BIOS (iFlash), but I have been unable to find the command for backing up the current one. Then after searching I found a program which dumps the current BIOS info and saves it to wherever you want (it was called BIOS 1351). So I dumped the image to the floppy and copied it to my windows folder.

However the dumped file is only 64mb, according to my motherboard tech info sheet, my BIOS is split into 8 (0-7) different 64meg chunks (total 512). So now I dont even know if I have the right chunk, and if it is, I dont know how to extract from the .dmp file the file I need .usr (intel splash screen format according to iFlash)

IF anyone is able to help me get as far as getting the .usr file out of my BIOS, are there any ideas on how I could coinvert the file into a more standardized image format, ie. jpeg, bmp...? I read somewhere that it is actually a renamed .pcx image.

Anyways, heres my info:
Motherboard: Intel VC820
BIOS Manf.: AMI (licensed to Intel)
BIOS version number: VC82010A.86A.0028.P10.0005151707
Chipset: Camino 82820 revision 3
BIOS ID: 51-2300-000000-00101111-030199-

Thanks in advance,
Nick

Posted: Tue Aug 17, 2004 9:52 pm
by cp5184
I'm new at this, and I'm just mucking around, but I've got pretty much the same situation, I've got an intel board, and I'd like to change the bios. here's what I'm trying.

I looked at the memory map in Intel's .pdf about my board, Intel's "technical product Specification" (0009-FC00 to 009-FFFF and 000F-0000 to 000F-FFFF), so now, I have a linux install, so I'm going to use Biew, a hex editor/disassembler, open /dev/mem, and then seek to those locations, and export them, and try to decifer the assembly code.

hope this helps.

Posted: Wed Aug 18, 2004 12:13 am
by ShadowGuy
According to my intel board tech sheet:

"The last two 8kb blocks of the fault tolerance area are the parameter blocks. These blocks contain such data as BIOS updates, vital product data, logo, system managment BIOS interface, and extended system configuration data information. The backup block contains a copy of the fault tolerance block"

So if I understand this correctly I need to get either a copy of my fault tolerance area or backup area, whose memory map is as follows:

000000-00FFFF Backup area
010000-01FFFF Fault tolerance area

The fault tolerance area is split into three blocks:

8kb Parameter block 2
8kb Parameter block 1
48kb Resevered

Which would mean I some how have to get whats in parameter blocks 1 and 2, split them and dig through to find my .usr

All of this would be of great use, but is still of little use until I figure out a way of dumping either just that area or my entire (512) BIOS into a format I can work with.

And yes, cp5184 that actually helped out a lot, every second I'm closer and closer to finally figuring this out.

Thanks again,
Nick

Posted: Wed Aug 18, 2004 1:38 am
by ShadowGuy
OK after disassembling the two demo files included in the iFlash installer I have found out:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 10 00 00 ff 00 ff 4c 6f 67 6f 20 44 61 74 61 20 41 72 65 61 00 00 00 00 00 00 00 00 00 00 30 31 2f 33 31 2f 39 37 2d 31 36 3a 35 38 00 00 00 00 00 00 00 10 00 00 03 ff 46 4c 41 53 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 73 65 72 20 44 61 74 61 20 41 72 65 61 00 00 47 52 46 58 4c 4f 47 4f
TEXT Logo

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 10 00 00 ff 00 ff 4c 6f 67 6f 20 44 61 74 61 20 41 72 65 61 00 00 00 00 00 00 00 00 00 00 31 31 2f 30 34 2f 39 36 2d 31 35 3a 33 31 00 00 00 00 00 00 00 10 00 00 03 ff 46 4c 41 53 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 73 65 72 20 44 61 74 61 20 41 72 65 61 00 00 54 45 58 54 4c 4f 47 4f
GFX Logo

Both files go from: 00000000 to 00001070

Block: 00000040 contains date
Block: 00000080 contains gfx/text type logo

"text" type logo is black and white
"graphics" type logo is color

Nick

Posted: Wed Aug 18, 2004 2:43 am
by ShadowGuy
Forgot to mention, those to runs of hex are only the begining of the files (0-80), they are identical in that part. Except for the area where the date is (40) and the type ((80)gfx/b&w).

Now that I have this info, finding the correct area to extract will be a snap, just have to figure out how to dump what I need in order to search for matches in the disassembler.

Ever closer to the answer...

Nick

Posted: Thu Aug 19, 2004 1:44 am
by ShadowGuy
OK I've tried using a couple programs to backup my BIOS so that I can extract what I need but I cant seem to find one that works. I've used intels iFlash program but it gives me the error "Save area feature is unsupported by this machine" or something to that effect. The unibios program ran but said there was errors and other stuff missing, but I continued and it dumped something, but going through the file I find no matches for the hex above. Then I spent another 2 damned hours looking for an AMI flash program so I can backup, but all I find are PLEASE BAN ME FOR SWEARING old tutorial from two years ago, with broken links and no way to download that damned program! I'm really getting frustrated with that since I've spent a total of 67+ hours searching the net for a link to download one of the AMI flashers its called aminf3 (I cant remember right now, I'm frustrated) with some version numbers, the highest version numbers I found were 339 but then I read on another site that 332 was newer than 339 (WTF IS GOING ON!?!?!?).

So can anyone for the sake of mankind give me a program that can at least dump/backup my entire BIOS to disk!? :evil:

PLEASE!!!

Posted: Thu Aug 19, 2004 10:49 am
by maman
have a look at BorgNoOne BIOS tool collection here. I hope you found what you are looking for :D.

Posted: Thu Aug 19, 2004 4:11 pm
by ShadowGuy
Well last night a guy named "BorgNumberOne" tried to help on ICQ/AIM last night. I've tried every flash tool he had, and none work, afterwards he suggested that I call intel and ask them how to do it.

Anyways, I'll try the stuff in that archive.

Thanks,
Nick

Posted: Thu Aug 19, 2004 5:56 pm
by ruelnov
I've got a memory dump utility that saves your desired hex memory address range to Drive C. It works fine under DOS Box of Win98SE. Filename is savmem.exe

It can dump anything in memory to disk, and found it very useful to dump PCI VGA BIOS in my ongoing assembly coding project to initialize PCI VGA's.

But this was given to me by the author of ROMOS, whose website I learned after maman posted that link in this forum.

Try logging onto his website, and send him an email about this.