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

Irvingoh999

macrumors newbie
Original poster
Dec 17, 2016
18
2
Hi! I am trying to flash my Powercolor HD 7970 (AX7970 3GBD5-2DHE/OC) with a compatible mac efi rom. I used the script provided at nektas.org(7xxx creating rom test) and flashed it but it didn't work. Tried to register an account at nektas.org but still have not received the activation email. I tried flashing all the HD 7970 roms on the 7xxx forum page and even a r9 280x rom but to no avail. Could someone please help me maybe generate a rom from my original one or provide a link to a suitable rom to flash? Thanks! (Macrumors doesnt allow .rom files so i have zipped it)
 

Attachments

  • Powercolor.HD7970.3072.130307.zip
    101.3 KB · Views: 658
Hi! I am trying to flash my Powercolor HD 7970 (AX7970 3GBD5-2DHE/OC) with a compatible mac efi rom. I used the script provided at nektas.org(7xxx creating rom test) and flashed it but it didn't work. Tried to register an account at nektas.org but still have not received the activation email. I tried flashing all the HD 7970 roms on the 7xxx forum page and even a r9 280x rom but to no avail. Could someone please help me maybe generate a rom from my original one or provide a link to a suitable rom to flash? Thanks! (Macrumors doesnt allow .rom files so i have zipped it)

Please post the screen capture of the terminal when you running the fixrom script. Usually some hit at there.

Also, did you check your card's ROM is 128k in size?
 
Please post the screen capture of the terminal when you running the fixrom script. Usually some hit at there.

Also, did you check your card's ROM is 128k in size?
Last login: Wed Sep 5 21:45:47 on console

Irvins-Mac-Pro:~ irvingoh$ cd /Volumes/7970

Irvins-Mac-Pro:7970 irvingoh$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --originalrom=cardname.rom --devid=6978

running on 7950mac.efi, efiromheader.rom with devid 6978

Patching files 7950mac.efi, efiromheader.rom for device-id 0x6978

Successfully patched efi file

Successfully patched efi rom file


Orig Size = 125440

Comp Size = 47590

47590+0 records in

47590+0 records out

47590 bytes transferred in 0.105497 secs (451102 bytes/sec)

EFI part is ready at 6978.efipart.rom

orig size - 65536

65536+0 records in

65536+0 records out

65536 bytes transferred in 0.207910 secs (315213 bytes/sec)

Before:

OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0x0)

OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)

RawData (size=17408)

Traceback (most recent call last):

File "fixrom.py", line 110, in <module>

op_rom.fix()

File "fixrom.py", line 90, in fix

self.data[-1] = chr(0x100 - sum)

ValueError: chr() arg not in range(256)

the rom is ready at cardname.rom.efi.rom

^^ Above is the outcome. And yes both the original rom and the refi patched rom are 128kb in size.
 
That's interesting . .my Sapphire Dual-X 7970's EFI (working ) ROM is 131k.
 
Last login: Wed Sep 5 21:45:47 on console

Irvins-Mac-Pro:~ irvingoh$ cd /Volumes/7970

Irvins-Mac-Pro:7970 irvingoh$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --originalrom=cardname.rom --devid=6978

running on 7950mac.efi, efiromheader.rom with devid 6978

Patching files 7950mac.efi, efiromheader.rom for device-id 0x6978

Successfully patched efi file

Successfully patched efi rom file


Orig Size = 125440

Comp Size = 47590

47590+0 records in

47590+0 records out

47590 bytes transferred in 0.105497 secs (451102 bytes/sec)

EFI part is ready at 6978.efipart.rom

orig size - 65536

65536+0 records in

65536+0 records out

65536 bytes transferred in 0.207910 secs (315213 bytes/sec)

Before:

OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0x0)

OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)

RawData (size=17408)

Traceback (most recent call last):

File "fixrom.py", line 110, in <module>

op_rom.fix()

File "fixrom.py", line 90, in fix

self.data[-1] = chr(0x100 - sum)

ValueError: chr() arg not in range(256)

the rom is ready at cardname.rom.efi.rom

^^ Above is the outcome. And yes both the original rom and the refi patched rom are 128kb in size.

Wrong Device ID, it should be 6798 for HD7970, not 6978
[doublepost=1536158941][/doublepost]
That's interesting . .my Sapphire Dual-X 7970's EFI (working ) ROM is 131k.

MacOS and Windows use different standard to define 1k (1024 vs 1000).

131k x 1000 / 1024 = 128k
 
  • Like
Reactions: MIKX
I think that the device ID is 6798 .. ( not 6978 ) at least it is on my Sapphire DUAL-X 7970


h9826790 always beats me to the punch :p

Run the script again.
 
Wrong Device ID, it should be 6798 for HD7970, not 6978
[doublepost=1536158941][/doublepost]

MacOS and Windows use different standard to define 1k (1024 vs 1000).

131k x 1000 / 1024 = 128k
I think that the device ID is 6798 .. ( not 6978 ) at least it is on my Sapphire DUAL-X 7970


h9826790 always beats me to the punch :p

Run the script again.
Reran the script and it worked!! Thanks! However, after flashing, when I went back to macOS, The HDMI was not displaying anything. So I went back to windows and it was working on windows. I did a SMC and PRAM reset but still doesn't work. I would try using another display output but I don't have the right adapter as of now. Could it be something to do with the port mapping. Im not good with editing the rom so ill attach it and hope someone would help. (Note: The HDMI port was working before I flashed it with the EFI edited rom). Thanks again!
 

Attachments

  • 7970Patched.rom.zip
    88.2 KB · Views: 717
Reran the script and it worked!! Thanks! However, after flashing, when I went back to macOS, The HDMI was not displaying anything. So I went back to windows and it was working on windows. I did a SMC and PRAM reset but still doesn't work. I would try using another display output but I don't have the right adapter as of now. Could it be something to do with the port mapping. Im not good with editing the rom so ill attach it and hope someone would help. (Note: The HDMI port was working before I flashed it with the EFI edited rom). Thanks again!

That's exactly because you are now using a wrong framebuffer (port mapping issue) for your card. Nothing you can do about it (if you want to keep the boot screen).

Obviously your card has different port layout than the Sapphire HD7950 Mac Edition card. The framebuffer from the Mac EFI is 100% sure not fit your card. And in most of the case, the HDMI port will be disabled.

If you don't need boot screen for every single boot. The best way to use the card is keep the BIOS switch on the PC BIOS. Then all ports will work. And only flip the switch to Mac EFI BIOS when you really need the boot screen.
 
That's exactly because you are now using a wrong framebuffer (port mapping issue) for your card. Nothing you can do about it (if you want to keep the boot screen).

Obviously your card has different port layout than the Sapphire HD7950 Mac Edition card. The framebuffer from the Mac EFI is 100% sure not fit your card. And in most of the case, the HDMI port will be disabled.

If you don't need boot screen for every single boot. The best way to use the card is keep the BIOS switch on the PC BIOS. Then all ports will work. And only flip the switch to Mac EFI BIOS when you really need the boot screen.
When tested, I found that my MiniDisplay ports(only tested the first one which was closest to the end of the card) only worked when HDMI was not plugged in so only either of the ports work at the same time. The second DVI port did not work on the mac Bios or the PC one. Maximum number of screens I can get working at the same time was 2. Trying to get 3 as I have a triple monitor setup.

UPATE: I found a combination which allows for 3 displays, since all my monitors are HDMI, I used 2 Mini-displayports and 1 DVI port. For some reason I couldn't use HDMI natively as one of the 3 ports but when using only 2 monitors the HDMI works. When using the Mini-displayports, I used one active and one passive adapter to convert to HDMI. Ultimately the best option is to use all Mini-displayports with active adapters and a DVI port.Is there a workaround or mod to fix this? (Issue only occurs in macOS, maybe modifying the rom or frame buffer)
 
Last edited:
Hello everyone,

I have a problem with the flashing of my graphics card. I have followed the instructions of netkas and I have a boat screen.

netkas.org instructions:
http://forum.netkas.org/index.php/topic,5619.0.html

in about my Mac is now Radeon HD 7950 and not 7970. How can I change this?
I've uploaded my ROM.

Many thanks for your help

Chris
 

Attachments

  • cardname.rom.efi.rom.zip
    88.3 KB · Views: 429
Hello everyone,

I have a problem with the flashing of my graphics card. I have followed the instructions of netkas and I have a boat screen.

netkas.org instructions:
http://forum.netkas.org/index.php/topic,5619.0.html

in about my Mac is now Radeon HD 7950 and not 7970. How can I change this?
I've uploaded my ROM.

Many thanks for your help

Chris

That's purely cosmetic. If you have no idea how to change that, better leave it as is.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.