netkas.org forum
August 19, 2019, 04:16:22 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Information for registering users http://forum.netkas.org/index.php/topic,2246.0.html
 
   Home   Help Search Login Register  
Pages: 1 2 [3] 4 5 ... 35
  Print  
Author Topic: make your own radeon HD 5770/5870/6870/6850 Mac ROM!  (Read 982871 times)
boli
Jr. Member
**
Offline Offline

Posts: 99


« Reply #30 on: January 11, 2011, 08:17:34 PM »

Cheers for the guide. I tried it, but even after moving the 2nd MCUC all the way to the end I couldn't fit the EFI part. After trying unsuccessfully I remembered that's what Netkas told me as well. Smiley

I just checked, you bios cant fit efi rom, even after relocation of MCuC its still too big, and XFX rom i posted for Rominator is too big too

Anyway, I no longer use that card, as I just got an Apple 5870 (here's why).
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #31 on: January 22, 2011, 03:37:40 AM »

If only one is found, you need to...
3a. Move the mcuc section (last part of the BIOS) to make room for the EFI.
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.
If 2 instances are found...

I am lost...  I past the code, open in textedit and only find one return of mcuc...
so I move to step 3 and do fine till I see the offest on mine doesn't match. (mine shows E5D2).  what am I pasting over the "f's"?

Can this rom be made into an EFI version?
Logged
jeanlain
Full Member
***
Offline Offline

Posts: 246


« Reply #32 on: January 22, 2011, 11:49:05 AM »

I made clearer that, if you find only one MCuC, you need to go back to the original ROM that you should have saved. You can trash any ROM file with only one MCuC.
The offset you indicate is that of the first MCuC. You need to locate the 2nd instance.
« Last Edit: January 22, 2011, 11:57:35 AM by jeanlain » Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #33 on: January 22, 2011, 05:26:18 PM »

I made clearer that, if you find only one MCuC, you need to go back to the original ROM that you should have saved. You can trash any ROM file with only one MCuC.
The offset you indicate is that of the first MCuC. You need to locate the 2nd instance.
I think I checked with both, but I will try again... Smiley
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #34 on: January 22, 2011, 06:31:05 PM »

ok, just tried again on the original rom that i backed up off the card.  and the search does find two entries for mcuc, second has offset of 1A000.

So the question I have now, is what do I do with the rom that is created by pasting the code in terminal?

Sorry I'm so confused...
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #35 on: January 22, 2011, 06:34:24 PM »

ok, just tried again on the original rom that i backed up off the card.  and the search does find two entries for mcuc, second has offset of 1A000.

So the question I have now, is what do I do with the rom that is created by pasting the code in terminal?

Sorry I'm so confused...

edit:
Missed this part:
Quote
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.
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #36 on: January 22, 2011, 06:49:35 PM »

So I do the textedit search the second time and it only finds one instance of MCuC.  So I guess I am still out of luck...
Logged
jeanlain
Full Member
***
Offline Offline

Posts: 246


« Reply #37 on: January 22, 2011, 06:51:37 PM »

What card is this?
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #38 on: January 22, 2011, 11:48:45 PM »

It's a XFX HD-587A-ZND9.
Logged
Rominator
Hero Member
*****
Offline Offline

Posts: 2346



« Reply #39 on: January 23, 2011, 03:26:52 AM »

I know that my value is basically as a card tester but I would like to try to clarify some things. Wink

The MCUC table is needed to initialize the GDDR5 RAM used on 4870/5770/5870 cards. In the PC BIOS that starts the ROM is an address to "look up" the GDDR5 table. To use a "BASIC" analogy, this is a "GOTO" statement with an actual address to load those GDDR5 inits. The table itself starts with "MCUC" so that is your 2 instances, the first in the PC BIOS saying "Hey, to init the GDDR5 RAM, check out the specs at address 'WXYZ' ". The second instance is at address "WXYZ".

Between the PC BIOS and the MCUC table is a bunch of empty space filled with "FFFF"s. It is into this space that we place the Netkasized EFI. In the case of the 5870 I believe this EFI is 43008 long. You can not just wedge it in between where the "FFFF"s start and the beginning of the MCUC however. The PC BIOS has a length specified in blocks of 512 bytes. To find this number look at the very beginning of ROM. It will have a opening that starts with "55AA" the very next 2 characters are the length of the PC ROM. For argument's sake lets say this is "7A".

Download a nifty program called "Magic Number Machine" and hit the "Radix" button. Now you can easily convert from various bases to decimal. Choose "Hexadecimal" and enter "7A" now hit "Decimal" and you will see "122". Next hit the "X" to multiply 122 X 512 and you will get "62464". This tells you that the PC BIOS actually ends RIGHT before this number if you look at addresses in decimal. This also means that the EFI ROM needs to START at 62464. So if you want to see if it fits in there, just select everything from 62464 until beginning of MCUC. If you are in "decimal" view, you will see what is selected. If it is Equal to or more than 43008 (or whatever length the EFI you are working with is) you are good to insert it. If in fact it is LESS than 43008, you have more work to do. While using Hex addresses, note the address of the beginning of the 2nd MCUC.

I would suggest methodically selecting 512 bytes of "FFFF" from BELOW the MCUC at end of ROM and cutting it from there and inserting AHEAD of MCUC. If you are 512 bytes or less short of fitting to begin with, then 512 will do. If you are more than 512 short, than it will obviously take more. It is possible to take less than than 512 at a time, but I like to use that when possible since ROMs work in chunks of that size. When there is enough space, insert the EFI then make sure that the length has always stayed at 131072.  If this ever varies, you have screwed up. It absolutely MUST start at 62464 (or whatever is specified after "55AA" in your ROM)

Once you have made space and inserted the EFI you will need to fix the MCUC lookup address. To do this you will need to use the HEX addresses by unchecking "USE Decimal Addresses" under Options. You find the spot before first MCUC where the Hex address is listed and change it to reflect the new location. Now run the "fixrom.py" script. It is CRUCIAL that it lists 2 at "OpROMs" and notes some "RAW DATA" afterwards. If it sees just one OpROM, I can guarantee that your new ROM won't work. It must also see the "RAW DATA" of the MCUC table. If all 3 of these elements show up in terminal output, you are in a good spot.

The scripts that Jeanlain has in opening post automate the instructions I have listed here, so my explanation is really for people whose ROM using his instructions isn't coming out right. It is very difficult to try to verbalize these things so if you have tried this several times and THOUGHT about it and still this isn't making sense speak up. I will help out as long as I don't feel the questions are from "I don't want to think, please spoon feed me" types.
Logged

Before asking a question, check your "Personal Settings" and be sure that you have "Brain Services" set to "On".
jeanlain
Full Member
***
Offline Offline

Posts: 246


« Reply #40 on: January 23, 2011, 11:53:50 AM »

If I knew how to program like pipomolo42, I would have done all the procedure in a script, including the tricky part of moving the "mcuc" and correcting the offset. It's far too complicated for me though.

Note, the OS X calculator in programmer mode can do conversions form hex to dec and vice versa.
Logged
S.M.T.
Not Newbie
*
Offline Offline

Posts: 17


« Reply #41 on: January 23, 2011, 04:57:24 PM »

wow... now that's heavy reading. Smiley

Think I will just stick with the XFX5870_1.rom  Seams to be working good enough.  Although I looks the small factory overclock...
Logged
bratwurst
Not Newbie
*
Offline Offline

Posts: 5


« Reply #42 on: February 04, 2011, 11:22:33 PM »

Hi there!

Following the first post i flashed my PowerColor 5770. The card seems to be working, but i noticed a very unpleasant flickering (most of the screen flashes/drizzles every 2-3 seconds). Did anyone notice somthing like that before?

Edit:
I forgot to mention: the display is a benq g2200w, connected using a standard dvi cable.
« Last Edit: February 04, 2011, 11:25:09 PM by bratwurst » Logged
jeanlain
Full Member
***
Offline Offline

Posts: 246


« Reply #43 on: February 05, 2011, 10:38:28 AM »

Try another cable, or under Windows.
If it still flickers, it might be a hardware malfunction.
Logged
bratwurst
Not Newbie
*
Offline Offline

Posts: 5


« Reply #44 on: February 05, 2011, 12:53:14 PM »

Try another cable, or under Windows.
If it still flickers, it might be a hardware malfunction.
Display and cable work fine with two other cards (mac + pc). I'll try the flashed card in my pc later this day. Lets see if it works there.


Edit: tried two other dvi cables - still flickers. I also tried a dvi2vga adapter and used a standard vga cable. Interestingly the adapter + vga cable works (same resolution, no flickering at all). Any ideas what might cause this?
« Last Edit: February 05, 2011, 01:10:49 PM by bratwurst » Logged
Pages: 1 2 [3] 4 5 ... 35
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!