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

docone_DK

macrumors newbie
Original poster
Jul 24, 2018
11
3
Hi
I have a Saphire HD7970 that I had flashed and it was working fine in my MacPro 2009 updated 5.1 running Mojave but it couldn’t startup with startdisk choice (+ ALT) so it was thinking that it wasn’t flashed correct.
After a lot trying I’m almost tearing my hair off.
The card has a 1 -2 dip switch with original bios in position 1 and flushable i 2.
I have lost my original rom so I can only start i position 1. When I do that and save the rom, change to book 2 and load the rom in I get subsystem mismatch.
I have tried downloading rom from techpowerup but none of them works. Som can’t be programmed and others can be programmed but the computer get i a startup cycle.
What can I do, I only would like to have it mac’ed with bootscreen.
 
Always make the Mac EFI ROM from your original ROM, don't download it.

If position 2 still with factory ROM, you can boot with position 2.

Then create the Mac EFI ROM, press the switch, flash the modded ROM to position 1.

I posted the step by step guide about how to use the Netkas script to create the Mac EFI ROM
 
I have saved the ROM from the working BIOS (position 1) if I then do the NETKAS steps and try to program the card in BIOS (position2) I get a SubSystemID missmatch.
 
You need your card's id and not from the example.

And somewhere in the instructions is an id typo, something reversed like 679 to 697, but dont matter if you understand the steps.
 
Hi,

Can one of you guys give me some help here?

I have the original file and created the netkas file, flashed, but seems not to be working. :(

Thank you
 
Make sure you created the ROM correctly
 
Make sure you created the ROM correctly
I think I did everything correctly.
Can you please check it? Or try to create a correct one for me?

Would be much appreciated.

Thank you
 

Attachments

  • Arquivo.zip
    212 KB · Views: 245
I think I did everything correctly.
Can you please check it? Or try to create a correct one for me?

Would be much appreciated.

Thank you
I checked your ROM image, you didn't do that correctly, please follow my exact steps to do that. Any modification to the process may fail to create the required Mac EFI UGA ROM.
 
I checked your ROM image, you didn't do that correctly, please follow my exact steps to do that. Any modification to the process may fail to create the required Mac EFI UGA ROM.
Can you create the correct one for me?
 
Sorry, no.

I did that before, and end up the member use that ROM to sell cards on eBay. Since then I will only post the "how to" but won't do that for others.
That's a fair subject and won't even debate it.
Can you tell me what I did wrong, or where is the mistake?

Thank you for your help
 
That's a fair subject and won't even debate it.
Can you tell me what I did wrong, or where is the mistake?

Thank you for your help
It's hard to know which step you did wrong. All I can see is that your EFI ROM is practically identical to the original ROM. Which means you did something wrong in the command, and the script fail to replace the 2nd half of the ROM by the Mac EFI UGA.

That's why I suggest you follow the exact steps in my post (with all the details, e.g. use USB thumb drive with no space in any drive's / folder's name)
 
Ok, so I tried to do as your advice.

This is what I get:

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Mac-Pro-de-Rui:~ admin$ cd /Volumes/UNTITLED\ 1/fixrom
Mac-Pro-de-Rui:fixrom admin$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --originalrom=7950OC.rom --devid=679a
running on 7950mac.efi, efiromheader.rom with devid 679a
No Java runtime present, requesting install.
./makerom.sh: line 42: /Volumes/UNTITLED: No such file or directory
dd: 7950mac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
No Java runtime present, requesting install.
orig size -
dd: no value specified for seek
rm: 7950mac.efi.comp: No such file or directory
Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=65536, indicator_offset=0x31, indicator=0x80, checksum=0xff)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=65536, indicator_offset=0x31, indicator=0x80, checksum=0x78)
the rom is ready at 7950OC.rom.efi.rom
Mac-Pro-de-Rui:fixrom admin$


The only part that seems that is getting something wrong is here:
EFI part is ready at 679a.efipart.rom
No Java runtime present, requesting install.
orig size -
dd: no value specified for seek
rm: 7950mac.efi.comp: No such file or directory


7950mac.efi.comp no such file or directory ????
 
Installed Java JDK, just in case.
Result:

Mac-Pro-de-Rui:fixrom admin$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --originalrom=7950OC.rom --devid=679a
running on 7950mac.efi, efiromheader.rom with devid 679a
Patching files 7950mac.efi, efiromheader.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file
./makerom.sh: line 42: /Volumes/UNTITLED: No such file or directory
dd: 7950mac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
orig size - 65536
65536+0 records in
65536+0 records out
65536 bytes transferred in 0.243849 secs (268757 bytes/sec)
rm: 7950mac.efi.comp: No such file or directory

Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)
RawData (size=17408)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x87)
RawData (size=17408)
the rom is ready at 7950OC.rom.efi.rom
Mac-Pro-de-Rui:fixrom admin$
 

Of course you will need to edit the path in Terminal to suit where the Netkas script is located - I suggest that the script folder be on your desktop.

The correct DEVICE ID is crucial

This worked for me with my Sapphire Dual-X 3gb HD 7970 ( BIOS switch set to position #2 )

Mikes-Mac-Pro:bundle2 mikejones$ ./makerom.sh --efifile=7970mac.efi --romfile=efiromheader_7970.rom --originalrom=cardname.rom --devid=6798


running on 7970mac.efi, efiromheader_7970.rom with devid 6798
Patching files 7970mac.efi, efiromheader_7970.rom for device-id 0x6798
Successfully patched efi file
Successfully patched efi rom file

==========================================================

This worked for my HIS Ice Q HD 7950 ( BIOS switch set to position#2 )


Mike-Joness-Mac-Pro:bundle2 mikejones$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader_7950.rom --originalrom=cardname.rom --devid=679a


running on 7950mac.efi, efiromheader_7950.rom with devid 679a
Patching files 7950mac.efi, efiromheader_7950.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file

Download and use this Netkas Bundle2 package for either a 7950 or 7970:
 

Attachments

  • bundle2_YES.zip
    158.2 KB · Views: 308
Ok, so I tried to do as your advice.

This is what I get:

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Mac-Pro-de-Rui:~ admin$ cd /Volumes/UNTITLED\ 1/fixrom
Mac-Pro-de-Rui:fixrom admin$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --originalrom=7950OC.rom --devid=679a
running on 7950mac.efi, efiromheader.rom with devid 679a
No Java runtime present, requesting install.
./makerom.sh: line 42: /Volumes/UNTITLED: No such file or directory
dd: 7950mac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
No Java runtime present, requesting install.
orig size -
dd: no value specified for seek
rm: 7950mac.efi.comp: No such file or directory
Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=65536, indicator_offset=0x31, indicator=0x80, checksum=0xff)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=65536, indicator_offset=0x31, indicator=0x80, checksum=0x78)
the rom is ready at 7950OC.rom.efi.rom
Mac-Pro-de-Rui:fixrom admin$


The only part that seems that is getting something wrong is here:
EFI part is ready at 679a.efipart.rom
No Java runtime present, requesting install.
orig size -
dd: no value specified for seek
rm: 7950mac.efi.comp: No such file or directory


7950mac.efi.comp no such file or directory ????
1) Your USB drive named "UNTITLED 1", which can be a problem, NO SPACE in the name

2) Java... it seems you fixed this already.
 
Of course you will need to edit the path in Terminal to suit where the Netkas script is located - I suggest that the script folder be on your desktop.

The correct DEVICE ID is crucial

This worked for me with my Sapphire Dual-X 3gb HD 7970 ( BIOS switch set to position #2 )

Mikes-Mac-Pro:bundle2 mikejones$ ./makerom.sh --efifile=7970mac.efi --romfile=efiromheader_7970.rom --originalrom=cardname.rom --devid=6798


running on 7970mac.efi, efiromheader_7970.rom with devid 6798
Patching files 7970mac.efi, efiromheader_7970.rom for device-id 0x6798
Successfully patched efi file
Successfully patched efi rom file

==========================================================

This worked for my HIS Ice Q HD 7950 ( BIOS switch set to position#2 )


Mike-Joness-Mac-Pro:bundle2 mikejones$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader_7950.rom --originalrom=cardname.rom --devid=679a


running on 7950mac.efi, efiromheader_7950.rom with devid 679a
Patching files 7950mac.efi, efiromheader_7950.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file

Download and use this Netkas Bundle2 package for either a 7950 or 7970:
Tried your "bundle", but I think it got worst.
Tried the 3 models...

Last login: Tue Apr 21 17:06:32 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Mac-Pro-de-Rui:~ admin$ cd /Users/admin/Downloads/bundle2
Mac-Pro-de-Rui:bundle2 admin$ ./makerom.sh --efifile=7950mac.efi --romfile=efiromheader_7950.rom --originalrom=vtx.rom --devid=679a
running on 7950mac.efi, efiromheader_7950.rom with devid 679a
Patching files 7950mac.efi, efiromheader_7950.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file
./makerom.sh: line 42: /Users/admin/Downloads/bundle2/EfiCompress.macosx: Bad CPU type in executable
dd: 7950mac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
orig size - 65536
65536+0 records in
65536+0 records out
65536 bytes transferred in 0.436263 secs (150221 bytes/sec)
rm: 7950mac.efi.comp: No such file or directory
Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)
RawData (size=17408)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x87)
RawData (size=17408)
the rom is ready at vtx.rom.efi.rom

Mac-Pro-de-Rui:bundle2 admin$ ./makerom.sh --efifile=280Xmac.efi --romfile=efiromheader_280X.rom --originalrom=vtx.rom --devid=679a
running on 280Xmac.efi, efiromheader_280X.rom with devid 679a
Patching files 280Xmac.efi, efiromheader_280X.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file
./makerom.sh: line 42: /Users/admin/Downloads/bundle2/EfiCompress.macosx: Bad CPU type in executable
dd: 280Xmac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
orig size - 65536
65536+0 records in
65536+0 records out
65536 bytes transferred in 0.434229 secs (150925 bytes/sec)
rm: 280Xmac.efi.comp: No such file or directory

Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)
RawData (size=17408)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x6b)
RawData (size=17408)

the rom is ready at vtx.rom.efi.rom

Mac-Pro-de-Rui:bundle2 admin$ ./makerom.sh --efifile=7970mac.efi --romfile=efiromheader_7970.rom --originalrom=vtx.rom --devid=679a

running on 7970mac.efi, efiromheader_7970.rom with devid 679a
Patching files 7970mac.efi, efiromheader_7970.rom for device-id 0x679a
Successfully patched efi file
Successfully patched efi rom file
./makerom.sh: line 42: /Users/admin/Downloads/bundle2/EfiCompress.macosx: Bad CPU type in executable
dd: 7970mac.efi.comp: No such file or directory
EFI part is ready at 679a.efipart.rom
orig size - 65536
65536+0 records in
65536+0 records out
65536 bytes transferred in 0.443682 secs (147709 bytes/sec)
rm: 7970mac.efi.comp: No such file or directory
Before:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x0)
RawData (size=17408)

After:
OpRom (size=65536, indicator_offset=0x22d, indicator=0x0, checksum=0xff)
OpRom (size=48128, indicator_offset=0x31, indicator=0x80, checksum=0x85)
RawData (size=17408)
the rom is ready at vtx.rom.efi.rom
Mac-Pro-de-Rui:bundle2 admin$


:(
 
Without Java it won't work to create the file. It should be good now.
I guess not. I tried the file that came out with Java, but still no...
Somehow I think the "damn" GPU refuses to get flashed. I mean, yes it says it got flashed, but when restart Winflash and he check it, it´s exacty the same as before. :(

I leave attached the efi rom that came out.
[automerge]1587512231[/automerge]
USB is named UNTITLED only :(
[automerge]1587512350[/automerge]
1) Your USB drive named "UNTITLED 1", which can be a problem, NO SPACE in the name

2) Java... it seems you fixed this already.
No, it´s named UNTITLED only, exactly as you say to do on your post on the other thread.

Do I need to unlock something for the flashing process to succeed?
 

Attachments

  • 7950OC.rom.efi.rom.zip
    42.4 KB · Views: 225
Last edited:
I guess not. I tried the file that came out with Java, but still no...
Somehow I think the "damn" GPU refuses to get flashed. I mean, yes it says it got flashed, but when restart Winflash and he check it, it´s exacty the same as before. :(

I leave attached the efi rom that came out.
[automerge]1587512231[/automerge]
USB is named UNTITLED only :(
[automerge]1587512350[/automerge]

No, it´s named UNTITLED only, exactly as you say to do on your post on the other thread.

Do I need to unlock something for the flashing process to succeed?
Is there any other drive named UNTITLED? You capture shows your USB named UNTITLED 1. Therefore, the script can't locate the reuqired files.
Screenshot 2020-04-22 at 12.57.06 PM.png


If that name doesn't work, try another name. e.g. ABCDEFG
 
I'm having the same issue. were you able to figure this out?

Update: I was able to create the rom file after booting from High Sierra instead of Catalina. My sapphire 7950 was flashed and everything works fine except the HDMI port. Any suggestions? Thank you
 
Last edited:
Good night, I have a HD 7970 3GB ID 6798. whenever I use the command it returns with the following error.


MacBook-Pro-de-Dirran:7970 dirranpratti$ ./makerom.sh --efifile=7970mac.efi --romfile=efiromheader_7970.rom --originalrom=cardname.rom --devid=6798


running on 7970mac.efi, efiromheader_7970.rom with devid 6798


No Java runtime present, requesting install.





Orig Size = 125440


Comp Size = 47591


47591+0 records in


47591+0 records out


47591 bytes transferred in 0.088378 secs (538494 bytes/sec)


EFI part is ready at 6798.efipart.rom


No Java runtime present, requesting install.


orig size -


dd: no value specified for seek


Before:


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


OpRom (size=65024, indicator_offset=0x31, indicator=0x80, checksum=0xff)


RawData (size=512)


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


MacBook-Pro-de-Dirran:7970 dirranpratti$



alguém poderia fazer o arquivo para mim?

attached is the original backup of my 7970
 

Attachments

  • IMG_3850.jpeg
    IMG_3850.jpeg
    1.2 MB · Views: 110
  • bios A.zip
    102.7 KB · Views: 125
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.