Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

PBSCT

macrumors newbie
Jul 19, 2020
6
1
Do you mean the efi-part or header? Post a screenshot please, if possible.
The script will correct the dev-id before compressing, the vendor-id will always remain 0x1002 (=AMD/ATI). The efi is from the "real" mac-edition-card 7950.
 

PBSCT

macrumors newbie
Jul 19, 2020
6
1
Sorry I did not mention that it is in efi-image, so the absolute address is 0x10022-23. Here is what I have at 0x10020-0x10023 in hex: 0x02100867. The first word is 0x1002, which is the vendor ID, while the second word is for Device ID, which should be 0x679A for HD 7950 or 0x6798 for HD7970. But it is 0x6708, and no such GPU with this ID.
 

Borowski

macrumors 6502
Oct 22, 2018
254
72
Impossible to find this. Please make a screenshot and tell me in which file you found this or attach the file to your posting.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Don't know where that 6708 coming from. I owned the genuine Sapphire HD7950 Mac Edition card before. It's 679A at that address.
Screenshot 2020-09-07 at 04.57.51.png


And the Netkas script can also create Mac EFI UGA ROM with the correct device ID at there. Tested.
 

Borowski

macrumors 6502
Oct 22, 2018
254
72
This is part of the legacy-vga-bios and won't be touched by the script, except the last rom indicator and checksum.

The PCIR-String is not always at the same position, but in any case, behind it you will find the vendor- and device-id.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
This is part of the legacy-vga-bios and won't be touched by the script, except the last rom indicator and checksum.

The PCIR-String is not always at the same position, but in any case, behind it you will find the vendor- and device-id.
The VBIOS is from 0000 to FFFF.

As you can see, the above capture is start from address 10000, start with 55AA. It's the EFI part, not the VBIOS.

Anyway, this is also from the genuine Sapphire HD7950 Mac Edition card. But the UEFI ROM.
Screenshot 2020-09-07 at 05.24.01.png

As you can see, very different that the Mac EFI UGA ROM, but same device ID still at the address 0x10020.

And this is from another R9 280, which has no EFI. So, start from 0x10000, only FF but nothing else.
Screenshot 2020-09-07 at 05.24.41.png
 

Borowski

macrumors 6502
Oct 22, 2018
254
72
Yes, you're right, i didnt see the 0xf10e, which indicates the efi-image. :cool:

The efi-image is compressed, but has an uncompressed, readable header, which is with UGA-efi 0x160 bytes long; the GOP-efi from the genuine Sapphire-bios has a header-lenght of 0x5c, so the compressed part will start at 0x1005d.
The same vendor- and device-id as in the vbios will follow after the PCIR-string in the efi-header.
 

PBSCT

macrumors newbie
Jul 19, 2020
6
1
The VBIOS is from 0000 to FFFF.

As you can see, the above capture is start from address 10000, start with 55AA. It's the EFI part, not the VBIOS.

Anyway, this is also from the genuine Sapphire HD7950 Mac Edition card. But the UEFI ROM.
View attachment 950817
As you can see, very different that the Mac EFI UGA ROM, but same device ID still at the address 0x10020.

And this is from another R9 280, which has no EFI. So, start from 0x10000, only FF but nothing else.
View attachment 950818

The vbios image should be changed from the last image to a non last image when flashing. The flag is at location with offset 0x15 in PCIR portion. If the 7th bit of that byte is set to 1, then that image is the last image. Otherwise there are other images to follow. Also the offset 0x14 is to tell the types of the image. For an efi image, it has to be 0x3. Not sure how this flag is used during booting.

I found the source of the device ID 0x6708. It is in the MAC7970.rom posted by Rominator, (post #119 in the netkas' long post 7xxx rom creating test.) Does it mean that rom is not from a mac edition card?
 

Attachments

  • Screen Shot 2020-09-06 at 7.32.17 PM.png
    Screen Shot 2020-09-06 at 7.32.17 PM.png
    154.3 KB · Views: 191

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
The vbios image should be changed from the last image to a non last image when flashing. The flag is at location with offset 0x15 in PCIR portion. If the 7th bit of that byte is set to 1, then that image is the last image. Otherwise there are other images to follow. Also the offset 0x14 is to tell the types of the image. For an efi image, it has to be 0x3. Not sure how this flag is used during booting.

I found the source of the device ID 0x6708. It is in the MAC7970.rom posted by Rominator, (post #119 in the netkas' long post 7xxx rom creating test.) Does it mean that rom is not from a mac edition card?
I am very sure the EFI part is from the Sapphire Mac Edition card, but just was modified for other 7xxx cards. If straightly copy the 7950 Mac EFI to the 7970, there will be a mismatched device ID, which doesn't sounds a good idea to me. Modify the Mac EFI to fit another card make much more sense.

Of course, there is no guarantee the modified Mac EFI compatible to Windows. In fact, even non modify Mac EFI may not compatible to Windows. It's been like that since day 1.

As I said before, I owned the genuine HD7950 Mac Edition card before. And it can never boot EFI Windows (will cause BSOD), but only legacy Windows. If I want to boot EFI Windows, I have to boot rom the UEFI ROM.

And Mac EFI isn't standard EFI. You can compare it to the standard to learn the Mac EFI, but don't expect that allow you fully decode the Mac EFI. They are non standard.
 

PBSCT

macrumors newbie
Jul 19, 2020
6
1
I am very sure the EFI part is from the Sapphire Mac Edition card, but just was modified for other 7xxx cards. If straightly copy the 7950 Mac EFI to the 7970, there will be a mismatched device ID, which doesn't sounds a good idea to me. Modify the Mac EFI to fit another card make much more sense.

Of course, there is no guarantee the modified Mac EFI compatible to Windows. In fact, even non modify Mac EFI may not compatible to Windows. It's been like that since day 1.

As I said before, I owned the genuine HD7950 Mac Edition card before. And it can never boot EFI Windows (will cause BSOD), but only legacy Windows. If I want to boot EFI Windows, I have to boot rom the UEFI ROM.

And Mac EFI isn't standard EFI. You can compare it to the standard to learn the Mac EFI, but don't expect that allow you fully decode the Mac EFI. They are non standard.

Thank you, h9826790. I guess Rominator made of the 7970 rom out of the 7950 one. I was recently trying to better understand data structure of bios roms for both AMD and Nvidia cards. And found many zero pointers in the MAC7970.rom file, plus the mis-device id. Therefore I doubt it was from an Mac edition card.

For Nvidia cards, there is a table called Display Path Information (4 bytes for each entry) in VBIOS portion to describe each port, such as connector index and port type. I thought I also found a pointer in AMD bios called IntegratedSystemInfo, which should have description of each port. But unfortunately they are zeros in Mac7970.rom. Do you have any idea where to find this info? I should ask questions on netkas, but it seems the sending-email function is not working there, and I simply cannot receive any email to verify my account. Thanks
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Thank you, h9826790. I guess Rominator made of the 7970 rom out of the 7950 one. I was recently trying to better understand data structure of bios roms for both AMD and Nvidia cards. And found many zero pointers in the MAC7970.rom file, plus the mis-device id. Therefore I doubt it was from an Mac edition card.

For Nvidia cards, there is a table called Display Path Information (4 bytes for each entry) in VBIOS portion to describe each port, such as connector index and port type. I thought I also found a pointer in AMD bios called IntegratedSystemInfo, which should have description of each port. But unfortunately they are zeros in Mac7970.rom. Do you have any idea where to find this info? I should ask questions on netkas, but it seems the sending-email function is not working there, and I simply cannot receive any email to verify my account. Thanks
Fl0r!an may able to help you
 

gwieczorek

macrumors newbie
Jun 2, 2020
23
1
Krakov|Poland
it seems i have same MSI R9 280x card a s descibed in post #3 do the flash under win7homepremium (used the rom from post #3) and system shows strange info about vram


Screen Shot 2020-12-05 at 23.06.45.png


Screen Shot 2020-12-05 at 23.07.04.png
 

gwieczorek

macrumors newbie
Jun 2, 2020
23
1
Krakov|Poland
done ...
i have a copy of oryginal bios (taken with atiflash -s not cpu-z) which is 262144 bytes size
i patched it with netkas script and then flashed card with it

What You think?
 

Attachments

  • Screenshot 2020-12-06 at 18.14.18.png
    Screenshot 2020-12-06 at 18.14.18.png
    169.8 KB · Views: 149
  • Screenshot 2020-12-06 at 17.32.15.png
    Screenshot 2020-12-06 at 17.32.15.png
    175 KB · Views: 157

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
done ...
i have a copy of oryginal bios (taken with atiflash -s not cpu-z) which is 262144 bytes size
i patched it with netkas script and then flashed card with it

What You think?
Interesting, I think the netkas script can only handle 128K ROM properly.
 

gwieczorek

macrumors newbie
Jun 2, 2020
23
1
Krakov|Poland
Can you pls attach your dumped rom?
sure ... please remember that the card is second hand maybe previous user modified this bios

i attach some info from atiflash too

bios switch was in left position (the end with the power connectors is a left end of card) ... hope its clear :)
 

Attachments

  • oryginal-rom.zip
    97.5 KB · Views: 104
  • IMG_0755 copy.JPG
    IMG_0755 copy.JPG
    147.7 KB · Views: 122
Last edited:

Borowski

macrumors 6502
Oct 22, 2018
254
72
Your rom has a second image for GOP-support. Most roms from this generation are build without.
 
Last edited:

gwieczorek

macrumors newbie
Jun 2, 2020
23
1
Krakov|Poland
second attempt ... :)
started MP with bios switch set to right position (the end with the display ports is a right end of card) and took a copy of this second oryginal bios (taken with atiflash -s not cpu-z) which is 262144 bytes size too.

and then patched it with netkas script - it seems that there were no error messages (see screenshot)

went back with bios switch to left position and flash

system profiler sees the rad_7950 (see screenshots)

work DVI and both miniDP (tested with mDP to DVI) HDMI not tested

strange thing is that for few seconds appear pink paralel lines on the boot screen (photo)
 

Attachments

  • Screenshot 2020-12-06 at 21.51.21.png
    Screenshot 2020-12-06 at 21.51.21.png
    179.2 KB · Views: 136
  • Screenshot 2020-12-07 at 21.19.53.png
    Screenshot 2020-12-07 at 21.19.53.png
    126.2 KB · Views: 136
  • Screenshot 2020-12-07 at 21.19.21.png
    Screenshot 2020-12-07 at 21.19.21.png
    138.8 KB · Views: 145
  • IMG_0764 copy.JPG
    IMG_0764 copy.JPG
    76.9 KB · Views: 134
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.