Bios Mods -The Best BIOS Update and Modification Source

Full Version: Noob question on Video BIOS (OPROM) inside main BIOS
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Would a video BIOS loaded with a TSR be one that could be loaded into the main BIOS? I've got an old (ancient) eMAchines with the Trigem Cognac motherboard which has the Intel video built in and no AGP slot. I know there is a slightly newer version for an HP, but it lacks features like WOL (wake on lan). Both are Phoenix BIOS's so I've decided to go in a completely different direction and try Coreboot, and plan on booting Linux directly from there.

Despite Coreboot itself being opensource, it will still rely on a proprietary video BIOS, in this case. Intel has one on their site that comes with a driver, which loads with a TSR. I had tried to use it to replace the one in the stock firmware, but Phash rejected it. Anyway, while I'm waiting on a PLCC32 socket for the board, I thought I'd find out if I'm still stuck with the older video BIOS or not.
I'm talking this one over with or in house VGA moderator, bear with us Big Grin

TheWiz
(01-31-2011, 10:00 PM)TheWiz Wrote: [ -> ]I'm talking this one over with or in house VGA moderator, bear with us Big Grin

TheWiz
Thanks. I have both files if you want to compare them.
The Coreboot VGA page can be found here
I did see that the device ID is different for some reason, so it may not work anyway.
Device ID: 0x7121 vs Device ID: 0x7123
Worst case I'll use one from the HP machine, since that one doesn't come up on the screen like the eMachines one does, even though both are apparently the same revision.

output of romheaders with stock video bios (eMachines):
Code:
Image 1:
PCI Expansion ROM Header:
Signature: 0x55aa (Ok)
CPU unique data: 0x50 0xeb 0x3d 0x37 0x34 0x30 0x30 0x30
0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30
Pointer to PCI Data Structure: 0x0110

PCI Data Structure:
Signature: 0x50434952 'PCIR' (Ok)
Vendor ID: 0x8086
Device ID: 0x7123
Vital Product Data: 0x0000
PCI Data Structure Length: 0x0018 (24 bytes)
PCI Data Structure Revision: 0x00
Class Code: 0x030000 (VGA Display controller)
Image Length: 0x0050 blocks (40960 bytes)
Revision Level of Code/Data: 0x0104
Code Type: 0x00 (Intel x86)
Last-Image Flag: 0x80 (last image in rom)
Reserved: 0x0000

Platform specific data for x86 compliant option rom:
Initialization Size: 0x50 (40960 bytes)
Entry point for INIT function: 0x42

output of the video BIOS in the HP version:
Code:
Image 1:
PCI Expansion ROM Header:
Signature: 0x55aa (Ok)
CPU unique data: 0x50 0xeb 0x3d 0x37 0x34 0x30 0x30 0x30
0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30
Pointer to PCI Data Structure: 0x0110

PCI Data Structure:
Signature: 0x50434952 'PCIR' (Ok)
Vendor ID: 0x8086
Device ID: 0x7123
Vital Product Data: 0x0000
PCI Data Structure Length: 0x0018 (24 bytes)
PCI Data Structure Revision: 0x00
Class Code: 0x030000 (VGA Display controller)
Image Length: 0x0050 blocks (40960 bytes)
Revision Level of Code/Data: 0x0104
Code Type: 0x00 (Intel x86)
Last-Image Flag: 0x80 (last image in rom)
Reserved: 0x0000

Platform specific data for x86 compliant option rom:
Initialization Size: 0x50 (40960 bytes)
Entry point for INIT function: 0x42

output of the TSR loaded version (AIM less-NO DVI support) :
Code:
Image 1:
PCI Expansion ROM Header:
Signature: 0x55aa (Ok)
CPU unique data: 0x40 0xeb 0x41 0x37 0x34 0x55 0x4e 0x49
0x46 0x49 0x45 0x44 0x30 0x30 0x30 0x30
Pointer to PCI Data Structure: 0x004c

PCI Data Structure:
Signature: 0x50434952 'PCIR' (Ok)
Vendor ID: 0x8086
Device ID: 0x7121
Vital Product Data: 0x0000
PCI Data Structure Length: 0x0018 (24 bytes)
PCI Data Structure Revision: 0x00
Class Code: 0x030000 (VGA Display controller)
Image Length: 0x0040 blocks (32768 bytes)
Revision Level of Code/Data: 0x2683
Code Type: 0x00 (Intel x86)
Last-Image Flag: 0x80 (last image in rom)
Reserved: 0x0000

Platform specific data for x86 compliant option rom:
Initialization Size: 0x40 (32768 bytes)
Entry point for INIT function: 0x46
output for TSR version-AIM(add in module-DVI support):
Code:
Image 1:
PCI Expansion ROM Header:
Signature: 0x55aa (Ok)
CPU unique data: 0x60 0xeb 0x41 0x37 0x34 0x55 0x4e 0x49
0x46 0x49 0x45 0x44 0x30 0x30 0x30 0x30
Pointer to PCI Data Structure: 0x004c

PCI Data Structure:
Signature: 0x50434952 'PCIR' (Ok)
Vendor ID: 0x8086
Device ID: 0x7121
Vital Product Data: 0x0000
PCI Data Structure Length: 0x0018 (24 bytes)
PCI Data Structure Revision: 0x00
Class Code: 0x030000 (VGA Display controller)
Image Length: 0x0060 blocks (49152 bytes)
Revision Level of Code/Data: 0x2682
Code Type: 0x00 (Intel x86)
Last-Image Flag: 0x80 (last image in rom)
Reserved: 0x0000

Platform specific data for x86 compliant option rom:
Initialization Size: 0x60 (49152 bytes)
Entry point for INIT function: 0x46

I'm not sure when I'll get a PLCC32 socket for it, I need to find one where the shipping is cheap enough, something about paying $15 to ship a $1 part doesn't motivate me to jump right on it. If I had a plcc32 socket on the board I would just try it especially since I had to remove the chip to flash it anyway. I'm not too worried about it if it doesn't work, worst case it will release its magic smoke. It's not like it will run any modern version of windows, but it will run a modern minimal Linux Distro with fairly decent performance (like XP used to be before all service packs and patches)
I am not THAT much an expert on these, but I can give you just a little bit of info...

First, the device Id is different on the TSR version so switching between them will likely require modification and checksum fixing. Checksum fixing means manipulating a garbage byte, usually at the end of a file, to be whatever makes the 8-bit checksum of the file equal to 0. Use Hex Workshop for that.

Second, in my experience the ROMs should be compatible between cards and system BIOS...

Other than that, I actually don't have that much experience here... I usually just try stuff out until either it works or I give up.
Interesting, thanks. Cool

Changed the device ID to match. Now I just need to get my hands on an PLCC-32 socket. So far it's looking like I may end up ordering from eBay. My $15 shipping estimate was actually low so far Sad