Jump to content

Possible 3850 solution


skyfox
 Share

6 posts in this topic

Recommended Posts

Its been determined that the device id is the only thing standing in the way of a perfect working 3850. Take a 3850 rom, change only the device id (from 9505 to 9501), flash it, and suddenly no more white menus. Everything works perfectly in Leopard. Unfortunately, that very same change causes Windows to lose all acceleration. As such, we are having to flash the rom on the card every time we switch between Mac and Windows.

 

I’ve been messing around with disassembling the ATIRadeonX2000 kext in an effort to get my 3850 working natively. I discovered these functions which seem interesting:

 

ATIRadeonX2000getChipID

ATIRadeonX2000getDeviceType

 

I’d bet one of these is returning the 9505 device id to the system, which then causes the white menus. If we could rewrite the function to always return 9501 regardless, then it might fool the system into believing its a 3870 which works fine.

 

I think these functions would have to be run with a breakpoint, and then the contents of the registers examined. If one of them has '9505' then it could be altered at that point. Unfortunately I don’t know assembler well enough to accomplish this. Any assembler pros out there?

 

(edit) I attached a screenshot from Ida Pro

post-581-1201720828_thumb.png

Link to comment
Share on other sites

  • 6 months later...
Its been determined that the device id is the only thing standing in the way of a perfect working 3850. Take a 3850 rom, change only the device id (from 9505 to 9501), flash it, and suddenly no more white menus. Everything works perfectly in Leopard. Unfortunately, that very same change causes Windows to lose all acceleration. As such, we are having to flash the rom on the card every time we switch between Mac and Windows.

 

I’ve been messing around with disassembling the ATIRadeonX2000 kext in an effort to get my 3850 working natively. I discovered these functions which seem interesting:

 

ATIRadeonX2000getChipID

ATIRadeonX2000getDeviceType

 

I’d bet one of these is returning the 9505 device id to the system, which then causes the white menus. If we could rewrite the function to always return 9501 regardless, then it might fool the system into believing its a 3870 which works fine.

 

I think these functions would have to be run with a breakpoint, and then the contents of the registers examined. If one of them has '9505' then it could be altered at that point. Unfortunately I don’t know assembler well enough to accomplish this. Any assembler pros out there?

 

(edit) I attached a screenshot from Ida Pro

 

Yes that would be great !!!

 

But why is win so confused.

Perhaps it helps to uninstall ALL ATI drivers, reboot, install again. Perhaps win/ATI is confused about that change but could handle it by new install.

 

Same can happen if you cange GPU without uninstall/install. I had that switch from 2600 to 3850.

I will give that bios mod (using RBe 1.12) a chance.

Link to comment
Share on other sites

The windows problem should be easily solved editing the .inf file of the windows driver. As with OSX, there are device IDs that allow to identify the board. Find that file, try to locate to correct ID and change it to the new one.

Link to comment
Share on other sites

The windows problem should be easily solved editing the .inf file of the windows driver. As with OSX, there are device IDs that allow to identify the board. Find that file, try to locate to correct ID and change it to the new one.

I will report my RBE modding 3850>3870 at the weekend.

 

Screenshoot (within Fusion, not usable for extract/flash bios!)

 

NO WAY - i tried alot of time starting the modded card getting to work with the ATI Drivers. Driver install works with no problems, but ATI CCC complains that it isnt a ATI card. Drivers are loaded.

 

I went back to my ori. BIOS but used RBE to give my MSI 3850 512 MB (tested in CCC Auto-Overclocking) 690/920 insted of 669/830 MHZ(orig).

Bild_26.jpg

Link to comment
Share on other sites

  • 7 months later...

Hello!

 

Has there been any progress with this subject after the last post? I have x1900 and the black menus problem. Please reply if you know solution :P

 

-Petri

 

_________________________________________________________

 

Its been determined that the device id is the only thing standing in the way of a perfect working 3850. Take a 3850 rom, change only the device id (from 9505 to 9501), flash it, and suddenly no more white menus. Everything works perfectly in Leopard. Unfortunately, that very same change causes Windows to lose all acceleration. As such, we are having to flash the rom on the card every time we switch between Mac and Windows.

 

I've been messing around with disassembling the ATIRadeonX2000 kext in an effort to get my 3850 working natively. I discovered these functions which seem interesting:

 

ATIRadeonX2000getChipID

ATIRadeonX2000getDeviceType

 

I'd bet one of these is returning the 9505 device id to the system, which then causes the white menus. If we could rewrite the function to always return 9501 regardless, then it might fool the system into believing its a 3870 which works fine.

 

I think these functions would have to be run with a breakpoint, and then the contents of the registers examined. If one of them has '9505' then it could be altered at that point. Unfortunately I don't know assembler well enough to accomplish this. Any assembler pros out there?

 

(edit) I attached a screenshot from Ida Pro

Link to comment
Share on other sites

 Share

×
×
  • Create New...