skyfox Posted January 30, 2008 Share Posted January 30, 2008 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 https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/ Share on other sites More sharing options...
mitch_de Posted August 1, 2008 Share Posted August 1, 2008 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 https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/#findComment-841621 Share on other sites More sharing options...
Krazubu Posted August 1, 2008 Share Posted August 1, 2008 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 https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/#findComment-841791 Share on other sites More sharing options...
mitch_de Posted August 2, 2008 Share Posted August 2, 2008 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). Link to comment https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/#findComment-842159 Share on other sites More sharing options...
mitch_de Posted August 3, 2008 Share Posted August 3, 2008 Funny: I switched for an test back to ATI 2600 XT (using 1.5.24 Version ATI2000, 3850 all OK ). Now ATI 2600XT had the whitemenü problems ! Back to 3850 , all OK. Link to comment https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/#findComment-843147 Share on other sites More sharing options...
BSpot Posted March 9, 2009 Share Posted March 9, 2009 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 -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 https://www.insanelymac.com/forum/topic/84693-possible-3850-solution/#findComment-1102396 Share on other sites More sharing options...
Recommended Posts