Jump to content

Asus EAH6450 Video BIOS UEFI GOP Upgrade (And GOP UEFI binary in .efi for many ATI cards)


Andy Vandijck
 Share

139 posts in this topic

Recommended Posts

  • 2 weeks later...

STLVNUB I set my bios to boot into "Windows 8" system and appeared to "CSM" option. Put to "Disable":

 

140825220415.BMP

 

The boot was on the clover native resolution of the monitor without the EFI driver "CSM" so Clover. Now my video card is running in UEFI mode with DVI-I and VGA ports with no problem.
Next step is to test with the Bootloader "Ozmosis", but only when it is supported video cards from AMD and allow changing the "framebuffer".
Link to comment
Share on other sites

Does fast boot work?

I suspect it won't as bios is not signed.

I saw no difference in startup speed. The only difference is the resolution of the clover boot screen, which was the native resolution of the monitor. I had not before, the resolution was 1024 x 768 The "CsmVideoDxe-64.efi" driver was causing problems on ports DVI + VGA.

Link to comment
Share on other sites

I finally make a working 5770 rom (Resolution works without black borders, full uefi boot without cms support)  but rom works only 1 time. i can reboot many times without any problem but if shutdown the computer 5770 never comes again until reflash it with original rom.

After searching about my rom i found many posts from netkas about MCuC instance in this rom. Maybe that rom needs different modding from others card.

Anyone ant idea?

 

 

Maybe i found the problem:

After reading netkas notes about 5770-5870 and 4xxx roms i note coz MCuC instance must be 2 times in rom


3a. Move the mcuc section (last part of the BIOS) to make room for the EFI.
At this stage you can trash the modified myrom.rom that only has one "MCuC". Open the original myrom in 0xed. Scroll down to the end, it should show a long string of "F". Select a large part of it. Cut. 
Look for "mcuc" (text search field) and locate the 2nd instance, near the end of ROM. Note its offset, as indicated at the bottom of the window. It should be 1A000 (hex). You can switch between decimal and hexadecimal by double clicking on the "dec" or "hex" text on the bottom left. 
Upward "mcuc" is a long string of "F" where the EFI should be inserted. Put the cursor anywhere in that string. Switch to insert mode ("edit" menu) and paste. Note the new offset of "mcuc". If the offset hasn't changed, or if you have lost the 2nd instance of mcuc, close the ROM without saving and do these steps again. 
Save a copy of myrom.rom (with this name) in your home directory.

Then redo steps 2a and 2b. If only one instance of mcuc found, you're screwed. You cannot make a custom ROM with your original BIOS.

After that must set the new offset of MCuC on first MCuC instance:
 

If 2 instances are found...
3b. Correct the new offset of mcuc in myrom. Say it has changed from 1A000 to 1A200 (if you have pasted a 512-Byte string of Fs). In 3 Bytes, this new offset is written 01 A2 00. In BIOS code, bytes are written backwards: 00 A2 01. To find where to indicate this offset, locate the first instance of mcuc. 8 Bytes upward (16 chars) you should see the original offset 00 A0 01. Go to overwrite mode and replace this with the new offset. Save myrom.rom in your home directory. 

After that must fix checksums and indicator (using fixrom.py).

The problem of all that is not enough space exist for 2 MCuC instances and uefi, rom file goes 140kb.
I cropped the last lines of 2 MCuC instance but im not sure if that works.
I will checked home and i will report back.

If finally that works i will edit your script for 5770 support.

UPDATE: UEFI BIOS isnt possible to works on 5770 because 5770 rom not have enough space to keep UEFI.

5770 BIOS: 62.904KB
MCuC Table: 22.944KB
UEFI: 59.849KB

5770 BIOS SIZE: 128kb
UEFI+BIOS+MCuC= 145.697KB

(MCuC table is code for GDDR5 Initialization)

original.zip

uefi_rom.zip

UEFI_2MCuC_full.rom.zip

UEFI_2MCuC_128kb.rom.zip

Edited by KonstantinosNks
Link to comment
Share on other sites

I finally make a working 5770 rom (Resolution works without black borders, full uefi boot without cms support)  but rom works only 1 time. i can reboot many times without any problem but if shutdown the computer 5770 never comes again until reflash it with original rom.

After searching about my rom i found many posts from netkas about MCuC instance in this rom. Maybe that rom needs different modding from others card.

Anyone ant idea?

 

 

Maybe i found the problem:

After reading netkas notes about 5770-5870 and 4xxx roms i note coz MCuC instance must be 2 times in rom

3a. Move the mcuc section (last part of the BIOS) to make room for the EFI.
At this stage you can trash the modified myrom.rom that only has one "MCuC". Open the original myrom in 0xed. Scroll down to the end, it should show a long string of "F". Select a large part of it. Cut. 
Look for "mcuc" (text search field) and locate the 2nd instance, near the end of ROM. Note its offset, as indicated at the bottom of the window. It should be 1A000 (hex). You can switch between decimal and hexadecimal by double clicking on the "dec" or "hex" text on the bottom left. 
Upward "mcuc" is a long string of "F" where the EFI should be inserted. Put the cursor anywhere in that string. Switch to insert mode ("edit" menu) and paste. Note the new offset of "mcuc". If the offset hasn't changed, or if you have lost the 2nd instance of mcuc, close the ROM without saving and do these steps again. 
Save a copy of myrom.rom (with this name) in your home directory.

Then redo steps 2a and 2b. If only one instance of mcuc found, you're screwed. You cannot make a custom ROM with your original BIOS.

After that must set the new offset of MCuC on first MCuC instance:

 

If 2 instances are found...
3b. Correct the new offset of mcuc in myrom. Say it has changed from 1A000 to 1A200 (if you have pasted a 512-Byte string of Fs). In 3 Bytes, this new offset is written 01 A2 00. In BIOS code, bytes are written backwards: 00 A2 01. To find where to indicate this offset, locate the first instance of mcuc. 8 Bytes upward (16 chars) you should see the original offset 00 A0 01. Go to overwrite mode and replace this with the new offset. Save myrom.rom in your home directory. 

After that must fix checksums and indicator (using fixrom.py).

The problem of all that is not enough space exist for 2 MCuC instances and uefi, rom file goes 140kb.

I cropped the last lines of 2 MCuC instance but im not sure if that works.

I will checked home and i will report back.

 

If finally that works i will edit your script for 5770 support.

 

How did you get rid of the black borders?

Link to comment
Share on other sites

on my R9 270 i had no "black borders" even before using UEFI-GOP-Maker to create a gop rom

Yeah it seems to be either specific to the card or the display. My 6670 has black bars on my tv. I've never tried it on any other display though. Every other card I have never had any black bars.

Link to comment
Share on other sites

  • 1 month later...

I finally make a working 5770 rom (Resolution works without black borders, full uefi boot without cms support)  but rom works only 1 time. i can reboot many times without any problem but if shutdown the computer 5770 never comes again until reflash it with original rom.

After searching about my rom i found many posts from netkas about MCuC instance in this rom. Maybe that rom needs different modding from others card.

Anyone ant idea?

 

 

Maybe i found the problem:

After reading netkas notes about 5770-5870 and 4xxx roms i note coz MCuC instance must be 2 times in rom

3a. Move the mcuc section (last part of the BIOS) to make room for the EFI.
At this stage you can trash the modified myrom.rom that only has one "MCuC". Open the original myrom in 0xed. Scroll down to the end, it should show a long string of "F". Select a large part of it. Cut. 
Look for "mcuc" (text search field) and locate the 2nd instance, near the end of ROM. Note its offset, as indicated at the bottom of the window. It should be 1A000 (hex). You can switch between decimal and hexadecimal by double clicking on the "dec" or "hex" text on the bottom left. 
Upward "mcuc" is a long string of "F" where the EFI should be inserted. Put the cursor anywhere in that string. Switch to insert mode ("edit" menu) and paste. Note the new offset of "mcuc". If the offset hasn't changed, or if you have lost the 2nd instance of mcuc, close the ROM without saving and do these steps again. 
Save a copy of myrom.rom (with this name) in your home directory.

Then redo steps 2a and 2b. If only one instance of mcuc found, you're screwed. You cannot make a custom ROM with your original BIOS.

After that must set the new offset of MCuC on first MCuC instance:

 

If 2 instances are found...
3b. Correct the new offset of mcuc in myrom. Say it has changed from 1A000 to 1A200 (if you have pasted a 512-Byte string of Fs). In 3 Bytes, this new offset is written 01 A2 00. In BIOS code, bytes are written backwards: 00 A2 01. To find where to indicate this offset, locate the first instance of mcuc. 8 Bytes upward (16 chars) you should see the original offset 00 A0 01. Go to overwrite mode and replace this with the new offset. Save myrom.rom in your home directory. 

After that must fix checksums and indicator (using fixrom.py).

The problem of all that is not enough space exist for 2 MCuC instances and uefi, rom file goes 140kb.

I cropped the last lines of 2 MCuC instance but im not sure if that works.

I will checked home and i will report back.

 

If finally that works i will edit your script for 5770 support.

 

UPDATE: UEFI BIOS isnt possible to works on 5770 because 5770 rom not have enough space to keep UEFI.

5770 BIOS: 62.904KB

MCuC Table: 22.944KB

UEFI: 59.849KB

5770 BIOS SIZE: 128kb

UEFI+BIOS+MCuC= 145.697KB

 

(MCuC table is code for GDDR5 Initialization)

So do you get your card working now?

Because i want to patch my MSI 5770.

Link to comment
Share on other sites

  • 2 weeks later...

I used atiwinflash and had no problems. My card is only displaying with hdmi out on boot so you might want to check that if you're using dvi.

 

No it´s not the output, it´s related to GDDR5 init. (mcuc)

Because it´s working after restart but if a cold boot is done it isn´t working anymore because the GDDR5 isn´t able to initialize.

 

Do you have a 5770? It´s hard to imagine for me. ;)

 

If you have one it wouldn´t be enough to use this tool.

Link to comment
Share on other sites

  • 2 weeks later...

Just did a little mod for a friend's Nvidia Geforce GT210 with success.

Little tip: Gigabyte's site is a powerhouse for getting video card updates and my UEFIRomExtract tool is a little help in getting the .efi GOP part ;)

Link to comment
Share on other sites

Is there much to it? It would be nice to get a UEFI bios on my Asus GT210.

 

I had a look at the Gigabyte bios back when I first found this topic but the device IDs and clock speeds differ between the Gigabyte and Asus cards.

You need this little tool which I just uploaded.

Dump your VBIOS, put in roms directory.

Run script.

Flash under Windows with NVFlash.

Reboot, enjoy UEFI GOP ;)

EDIT: But please be careful, there are many models of the GT210, wrong model might make card useless...

AMD-UEFI-GOP-MAKERV2.zip

  • Like 2
Link to comment
Share on other sites

Thanks Andy!

 

I built the UEFI rom, flashed it and disabled CSM in the BIOS. Seems to be working fine (same clocks as before).

Voila!

Here you go, free GOP upgrade :D

Makes that card worth a bit more directly, minimal work ;)

One for GT640 here...

This one is from a 2GB Gigabyte model, should work for all GT640...

Enjoy :D

AMD-UEFI-GOP-MAKERV2.zip

Link to comment
Share on other sites

Hi Andy,

Could you, please post a link to the working Windows version of the script?

Have any of you guys here managed to successfully flash a dual GPU card with UEFI GOP?

I have a XFX 6990 BE.

Any help will be appreciated.

 

Have a great one!

 

Here's your BIOS, but you have to flash 2 BIOS because your card four BIOS , 2 backup, and 2 cards used for its operation. Please note that a BIOS master, and the second slave!!! It is very important!!! 

Consult with someone how to flash the BIOS, so that would not have been reversed master with slave!!! 

 

UEFI GOP BIOS http://1drv.ms/1s7g98i

bcweubok.pngno49a7jo.png

  • Like 2
Link to comment
Share on other sites

Hi Andy,

Could you, please post a link to the working Windows version of the script?

Have any of you guys here managed to successfully flash a dual GPU card with UEFI GOP?

I have a XFX 6990 BE.

Any help will be appreciated.

 

Have a great one!

Post your VBIOS dump,

I'll make you a ROM...

Link to comment
Share on other sites

Hi Andy,

There are two 6990 vBIOS' , master and slave in this card, but you, most likely know that already:

Link to files:  http://goo.gl/UJnFKk

 

Thank you

I had to cut everything beyond 64KB.

I also have determined the proper device ID for the card and made these sets of ROMs.

These should work as they are 123KB (about like the originals).

Flash these and enjoy :D

6990_UEFI.zip

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

Voila!

Here you go, free GOP upgrade :D

Makes that card worth a bit more directly, minimal work ;)

One for GT640 here...

This one is from a 2GB Gigabyte model, should work for all GT640...

Enjoy :D

Hi Andy,

 

I'm trying to build my own uefi gop vbios, but always get an error with the script. I have an Asus GT640, so I thought this could work for me.

 

I put my dumped Vbios in rom directory and run the script as you said, but I get this:

 

post-921385-0-05289800-1423765782_thumb.jpg
 
Thanks for your help. :)
Link to comment
Share on other sites

 

Hi Andy,

 

I'm trying to build my own uefi gop vbios, but always get an error with the script. I have an Asus GT640, so I thought this could work for me.

 

I put my dumped Vbios in rom directory and run the script as you said, but I get this:

 

 
Thanks for your help. :)

 

GT640 Use script above.

The one made for Nvidia GT640.

It'll work fine (proven).

  • Like 1
Link to comment
Share on other sites

GT640 Use script above.

The one made for Nvidia GT640.

It'll work fine (proven).

 

Thanks for your answer.

 

Yes, I used this script for nvidia, but I get the described error.

 

Updated: Didn't renamed correctly the vbios name. Now with the correct name, I get a different error:

 

post-921385-0-28293600-1423770325_thumb.jpg

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...