Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Alright, I'm feeling really stupid now and have some very basic questions regarding the "do it yourself ROM" method.
I found a 4870 Mac ROM, so that's no issue anymore. The basic, maybe stupid first question though is about the PC ROM file. As suggested, I used GPU-Z and got the file I attached to my last post. That's a bin however, not a ROM file.
So for the scripts, I had no better idea than to rename the file including it's extension to "pc4870.rom". This might have not been right but I had no clue, and the script spits this at me:

Code:
Traceback (most recent call last):
  File "fixrom.py", line 104, in <module>
    op_rom = OpRom(f.read())
  File "fixrom.py", line 40, in __init__
    raise TypeError("OpRom at %d is not valid" % offset)
TypeError: OpRom at 0 is not valid

Edit: And yes, I think flashing in DOS (or Windows) is my only option, since OS X boots into a Kernel panic immediately with the card installed.
 
Oh well, here we go, MSI paperweight.

I dumped the ROM again using Winflash this time, the script worked fine and I was under the impression I got something useable.
Went through all the steps from making a DOS ISO with Atiflash, flashed the card successfully, and upon restart all I got was a black screen. On both cards. I couldn't get the Mac to boot any system with the 4870, it just sits and does nothing while the fan of the card runs at full speed and the thing's getting hotter and hotter. Guess I broke it, huh? :(

Attached is the ROM I ended up with.
 

Attachments

  • pc4870.rom.zip
    94.9 KB · Views: 117
Ooof, I revived it... after trying out any possible PCI slot mixture, I managed to boot into OS X with the ATI card installed and was able to reflash it quickly using Cindori's utility. I'm now back at the original ROM and could give it another try. I'm still wondering if I made some mistake during the terminal part which is the most obscure step for me - extraction, DOS disk and flashing from that bootable disk is no real brainer.

All right, I'll post exactly what I do regarding the ROM editing part.

1. Save ROM with Winflash as "pc4870.rom", the result is a 128kb file

2. Take the Mac "4870.ROM", the "pc4870.rom" over to the Mac side. To make it easier for the terminal stuff, I store both files in the root directory of my user fiolder so I don't have to adjust any paths, the same goes for the python script.

3. Run the first command
Code:
dd if=4870.ROM of=efi.part bs=1 skip=63488 count=49152
simply by copy and paste from the post, which results in:
Code:
49152+0 records in
49152+0 records out
49152 bytes transferred in 0.367152 secs (133874 bytes/sec)

4. Run the second and third command
Code:
blocknum=`printf %d "'\`dd if=pc4870.rom bs=1 skip=2 count=1 2>/dev/null\`"`
size=$(($blocknum * 512))
just by copy and paste which the terminal accepts without feedback.

5. Run the 4th command
Code:
dd if=efi.part of=pc4870.rom bs=$size seek=1 conv=notrunc
which results in:
Code:
0+1 records in
0+1 records out
49152 bytes transferred in 0.000135 secs (364237509 bytes/sec)

6. run the last command
Code:
python fixrom.py pc4870.rom pc4870.rom
which results in:

Code:
Before:
OpRom (size=64512, indicator_offset=0x279, indicator=0x80, checksum=0xff)
OpRom (size=49152, indicator_offset=0x31, indicator=0x80, checksum=0xff)
RawData (size=17408)

After:
OpRom (size=64512, indicator_offset=0x279, indicator=0x0, checksum=0x7f)
OpRom (size=49152, indicator_offset=0x31, indicator=0x80, checksum=0xff)
RawData (size=17408)

I then grab the pc4870.rom from the User directory again, burn that on my CD along with ATIFlash and proceed to the flashing process.

Is there anything in these steps I'm missing or doing wrong?
 
OK...you are doing this right, but this ROM apparently is one of the ones that need a little extra work.

Specifically, the finished product fails the "MCUC" test. ie.....the DDR5 lookup table at the end has been partially overwritten.

Peloche wrote a pretty thorough explanation of this, I think mine was a bit more cryptic.

Peloche wrote about making 4890 ROM, but the actions are same, you just use the original Mac 4870 ROM instead of the "rosetta stone" 4890 ROM written by Netkas.

I am sitting at JFK waiting for a delayed flight and on my Macbook....if I was on my Mac Pro at home I would write it for you. Be nice to Peloche, he may help out if you can't do yourself.

DON'T GIVE UP !!!
 
EAH4780 1gig

Trying to get the Asus EAH4870 to work, i dumped the rom using atiwinflash and followed the steps:

dd if=4870.ROM of=efi.part bs=1 skip=63488 count=49152
blocknum=`printf %d "'\`dd if=pc4870.rom bs=1 skip=2 count=1 2>/dev/null\`"`
size=$(($blocknum * 512))
dd if=efi.part of=pc4870.rom bs=$size seek=1 conv=notrunc
python fixrom.py pc4870.rom pc4870.rom

Everything is good till:
dd if=efi.part of=pc4870.rom bs=$size seek=1 conv=notrunc
it outputs:
sh-3.2# dd if=efi.part of=pc4870.rom bs=$size seek=1 conv=notrunc
dd: bs must be between 1 and -1

I have the correct naming and i made sure i got all 128kb in the rom file..
any ideas?
I have uploaded the rom file if anyone has any time to look at it.

Thanks!
Jared
 

Attachments

  • EAH4870.rom.zip
    45.9 KB · Views: 110
Thanks for the reply, Rominator.
At the moment though I'm having the problem of lacking the basic access to the card again. I was stupid enough to give the original Mac ROM a shot after my own failed, and at least it was able to calm down the fan. However, that was hours ago, since then I never managed to boot with the card again. I can't count anymore how often I changed slots and rebooted, I think if not by the wrong ROM, I'll soon ruin the card and my Mac physically.
 
Well, the Mac 4870.ROM finally killed it, there's no way to boot the Mac with the card installed anymore. I noticed it's bootable if no power cables are attached, however the card's not visible nor flashable like that.

There's one last chance though, and that's a PC I have access to over the christmas days. Which leads to another problem: There were no cables in the box. I know the PC I can use has 1 cable (there's a x1950 in it), and now I wonder if the card would be recognized and be flashable with just one power cable attached. Could anyone try if their 4870 is still visible (in Windows or OS X, as you prefer) with only one power cable?

Unless someone can help me with that modified ROM, I plan to just reflash it and keep it for Bootcamp, which probably means that my Mac Pro won't see OS X for a long while, since booting with the original MSI ROM leads to a Kernal panic. I might build a PC for it though, sooner or later.
 
I tried that, Cindori.
The card simply doesn't show up if there's no power, I tried your tool in Snow Leopard (it tells me that the flashing is done, in fact though nothing happened), and I tried booting from the DOS CD and flashing using ATIFlash, which tells me it can't find an adapter. Same story in Windows, Neither GPU-Z nor Winflash nor the Hardware Manager see any other card than my 7300GT.
I wish there was a way to make the Mac ignore the faulty ROM at startup and just get over the critical point of "Check PCI-Slots > hangup" when the card is on power.
 
I had the same problem as you, Casa. I even tried hot-plugging the card after the EFI started up (PCIe hardware is OK with that but it won't init it until soft restart where EFI would crash again.)
 
lol, I didn't want to admit it, but I tried hot-plugging too. :eek:

The only remaining question now is, do I need two power cables in the PC for reflashing the card? I'd hate to travel all the way with the box only to find out I can't do anything, and I can only get a 2nd power cable after christmas.
 
A small update, the card is functional again, reflashing it to the original ROM worked fine in the PC (although I had to talk the PC into booting with it for a while, there's just a 400W noname PS in it and a few times the comp wouldn't start until I switched some cables around) .

The Rominator, I'd appreciate any help if you think there's still a good chance for making a Mac ROM, otherwise I'm not too keen on another failing experiment anymore - it'll be a while until I can get to this PC again. :)

I wonder if there might at least be a fix for the very annoying Kernel Panic issue, that is, with the original PC ROM OS X panics on boot even if there's no display connected to the card. If there was at least a fix for this, I'd be okay with having to plug in and out the display when I want to use OS X. Having to pull out the whole card though is a major pain.
The Kernel panic occurs later in the boot process, in other words, I can get to the OS select screen just fine (alt) and only after selecting OS X, the Mac crashes a couple of seconds later. Maybe there's some kext fix for this I'm not aware of, something from netkas' side by chance?
 
Hi Cindori, I was waiting rom from you for a lot, so I flashed my 4870 Gigabyte card with matthew.russo rom, but I still can’t use it without evoenebler.
And I have some kind of flickers. So I am wondering have I did something wrong?
I have used your ATI Flash tool.
Do I have to do something else except flash card?
 
Unbelievable, and no idea what happened exactly, but I got it to work in OS X without another flashing experiment.
What I did was the following:

- Tried if the Mac boots from the Snow Leopard DVD with the ATI installed (ATI in slot 1, nVidia in slot 4, display connected to nVidia). Test passed, booted fine.

- 2. Tried booting in safe mode (holding shift). Mac boots again, reports ATY_whatever in system profiler under "graphics/displays", but returns an error on the PCI devices tab.

- 3. Thought to myself "what the hell..." and installed netkas' Enabler for nvidia and multiple ATI cards. After the installation is done, the installer gives me a success report, but OS X gives me an error message about non-working extensions I just installed. This was still in safe mode.

- restarted normally (no safe mode), again the Mac boots fine, this time System profiler reports a fully working 4870 in the graphics tab.

- connected the display to the ATI's DVI port (the MSI has one DVI, one VGA, one HDMI port), restarted. After a while, the display wakes up and I get an extended desktop picture. Yay! But... err... how the hell do I get to the display preferences to enable it as 1st or mirrored display, so I can see the damn menu bar?

- Threw out the 7300, rebooted. The card works as 1st display. What can I say... thanks Netkas?

- Played a quick round CoD 4. Absolutely smooth gameplay, impressive! But... no noise? This card is incredibly loud in Windows XP, so loud I already thought about either returning it or getting a 3rd party cooler. Sidenote: MSI cards come with a non-standard cooler already. Anyway, in OS X the fan is spinning absolutely silent.
Played about 10 minutes, the fan doesn't seem to spin up. The card is very hot too touch, however, it's also very hot in Windows, so I'm not sure if it's a bad sign. However, no crash or artifacts occur.
I'd really like to know the temperature the card is running at. I'm very very happy I got it to work in OS X, finally, even if it's just an injector hack, but at this moment I'm not sure if I'd risk long gaming sessions, I'm not even sure about running OS X at all for a long time.

Anyway, this is a lot of progress for a day, I'll sleep well tonight. :eek:
 
Powercolor 4870 successful flash

Hey guys,

I am not a frequent poster, but this thread and the work of everyone here was extremely helpful to me getting my PC 4870 to work in my Mac Pro. Because of that, I wanted to say thanks and post my working ROM. I bought a 1 GB Powercolor 4870 from New Egg (open box item). It resembles the included picture:

Powercolor_HD4870_PCS_1G_01.png


I only have one monitor hooked up and it is non dual-link so I don't know to what extent the ports are working under OS X. I can say that the fan--while louder than the 2600 that I had--runs at a reasonable 7% of max speed under OS X. Hopefully others will find this ROM helpful.
 

Attachments

  • pc4870.zip
    93.5 KB · Views: 140
Hi Cindori, I was waiting rom from you for a lot, so I flashed my 4870 Gigabyte card with matthew.russo rom, but I still can’t use it without evoenebler.
And I have some kind of flickers. So I am wondering have I did something wrong?
I have used your ATI Flash tool.
Do I have to do something else except flash card?

you dont need flashing with hackintosh
 
I got my MSI 4870 1gb working with the original ROM (ie no flashing required) doing what Casa did. The only difference is that I installed netkas' injector without the power cables on because I couldn't boot my mac otherwise. The only problem is that the vga isn't working, but after days of frustration, I couldn't care less.
 
FLASHING DOESN'T HELP WITH A HACKINTOSH

YOU ARE ON THE WRONG FORUM
But I already flashed. How can I restore to oiginal bios?
I have backed up with gpuz and now I have rv770.bin and when I extract bin i have rv770.cpgz can I restorit to original with ati flash tool?
 
if anyone needs a rom for the 11133-00-20R card, i created one yesterday which worked perfectly :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.