Jump to content

ACPI (DSDT) Patcher for BIOS and AML


koalala
 Share

845 posts in this topic

Recommended Posts

ok, i´ve cleaned out the megalodon code a bit, it seems the image quality has been improved...

 

Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x34)
                           {
                               "@0,compatible", 
                               Buffer (0x0E)
                               {
                                   "ATY,Megalodon"
                               }, 

                               "@0,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer (0x0E)
                               {
                                   "ATY,Megalodon"
                               }, 

                               "@1,compatible", 
                               Buffer (0x0E)
                               {
                                   "ATY,Megalodon"
                               }, 

                               "@1,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer (0x0E)
                               {
                                   "ATY,Megalodon"
                               }, 


                               "AAPL,EMC-Display-List", 
                               Buffer (0x40)
                               {
                                   /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x06, 0x10, 0x00, 0x00, 0x1B, 0x92, 0x00, 0x00, 
                                   /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0020 */    0x06, 0x10, 0x00, 0x00, 0x1C, 0x92, 0x00, 0x00, 
                                   /* 0028 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0030 */    0x06, 0x10, 0x00, 0x00, 0x21, 0x92, 0x00, 0x00, 
                                   /* 0038 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                               }, 


                               "ATY,Card#", 
                               Buffer (0x0E)
                               {
                                   "109-B148xx-00"
                               }, 


                               "ATY,DeviceID", 
                               Buffer (0x02)
                               {
                                   0x88, 0x95
                               }, 


                               "ATY,EFIDriverType", 
                               Buffer (One)
                               {
                                   0x02
                               }, 

                               "ATY,EFIEnabledMode", 
                               Buffer (One)
                               {
                                   0x02
                               }, 

                               "ATY,EFIHWInitStatus", 
                               Buffer (0x08)
                               {
                                   /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                               }, 

                               "ATY,EFIOrientation", 
                               Buffer (One)
                               {
                                   0x01
                               }, 

                               "ATY,EFIVersion", 
                               Buffer (0x0A)
                               {
                                   "01.00.236"
                               }, 

                               "ATY,EFIVersionBios", 
                               Buffer (0x0F)
                               {
                                   "113-B14801-023"
                               }, 

                               "ATY,FrameBufferOffset", 
                               Buffer (0x08)
                               {
                                   /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
                               }, 

                               "ATY,HWGPIO", 
                               Buffer (0x04)
                               {
                                   0x23, 0xA8, 0x48, 0x00
                               }, 

                               "ATY,IOSpaceOffset", 
                               Buffer (0x08)
                               {
                                   /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00
                               }, 

                               "ATY,MCLK", 
                               Buffer (0x04)
                               {
                                   0x00, 0x35, 0x0C, 0x00
                               }, 


                               "ATY,RefCLK", 
                               Buffer (0x04)
                               {
                                   0x8C, 0x0A, 0x00, 0x00
                               }, 

                               "ATY,RegisterSpaceOffset", 
                               Buffer (0x08)
                               {
                                   /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x90, 0xA2, 0x00, 0x00
                               }, 

                               "ATY,Rom#", 
                               Buffer (0x0F)
                               {
                                   "113-B1480A-236"
                               }, 

                               "ATY,SCLK", 
                               Buffer (0x04)
                               {
                                   0x60, 0xAE, 0x0A, 0x00
                               }, 

                               "ATY,VendorID", 
                               Buffer (0x02)
                               {
                                   0x02, 0x10
                               }, 


                               "device_type", 
                               Buffer (0x14)
                               {
                                   "ATY,MegalodonParent"
                               }, 

                               "model", 
                               Buffer (0x1A)
                               {
                                   "ATI Radeon HD 2600 Series"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

Link to comment
Share on other sites

Hi, ROISOFT

i only can see differences (to my 3850)

at bold marked

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One) (3850 : Name (_SUN, Zero)

..

All other changes are due to other GPU card (other efi injections for HD 2600)

What does changes Zero to One (comapred to my 3850 dsdt part) means in the _SUN means ?

And in which part it can change Image Quality ?

Thanks

Link to comment
Share on other sites

in this case SUN (Slot User Number) is not important (Zero, one) , it´s for the info under pci devices on sys profiler... but your version use ATY,PlatformInfo, Pciconfigspace, AAPLAux, AAPLBakclight, etc... without this code the HD2600 has better image quality

Link to comment
Share on other sites

Thanks !

I cant see any pic quali diff to my efi string looking onf the desktop/ using safari.

Are the poor quali of HD2600 an see on first sight (very bad) on desktop or only OpenGL Games ?

I didnt tried games.

Link to comment
Share on other sites

Hi all

could someone write a complete how to on this, I'm getting really confused lol.

 

This is what I get when I try to patch a bios file

 

cbrom.exe V1.82 [04/11/07] ©Phoenix Technologies 2001-2007

[ACPI] ROM is extracted to acpi.xtr

Intel ACPI Component Architecture

AML Disassembler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 221: Method (\_WAK, 1, NotSerialized)

Warning 1080 - ^ Reserved method must return a value (_WAK)

 

dsdt.dsl 284: Store (Local0, Local0)

Error 4050 - ^ Method local variable is not initialized (Local0)

 

dsdt.dsl 289: Store (Local0, Local0)

Error 4050 - ^ Method local variable is not initialized (Local0)

 

ASL Input: dsdt.dsl - 5555 lines, 185354 bytes, 2305 keywords

Compilation complete. 2 Errors, 1 Warnings, 0 Remarks, 646 Optimizations

 

 

Also I can't select use hdef audio its grayed out?

Link to comment
Share on other sites

Hi all

could someone write a complete how to on this, I'm getting really confused lol.

 

This is what I get when I try to patch a bios file

 

cbrom.exe V1.82 [04/11/07] ©Phoenix Technologies 2001-2007

[ACPI] ROM is extracted to acpi.xtr

Intel ACPI Component Architecture

AML Disassembler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a

 

dsdt.dsl 221: Method (\_WAK, 1, NotSerialized)

Warning 1080 - ^ Reserved method must return a value (_WAK)

 

dsdt.dsl 284: Store (Local0, Local0)

Error 4050 - ^ Method local variable is not initialized (Local0)

 

dsdt.dsl 289: Store (Local0, Local0)

Error 4050 - ^ Method local variable is not initialized (Local0)

 

ASL Input: dsdt.dsl - 5555 lines, 185354 bytes, 2305 keywords

Compilation complete. 2 Errors, 1 Warnings, 0 Remarks, 646 Optimizations

 

 

Also I can't select use hdef audio its grayed out?

 

Look at "Fixes..." button on the first tab of fixes. There you can find Local0 and WAK fixes that will remove your errors. But I thought that Phoenix BIOS is not supported by patcher :( . Anyway, if it is unsupported use DSDT.aml and appropriate bootloader to load Mac OS X.

 

Patching HDEF is not yet released: it is just a tab for the future :D

Link to comment
Share on other sites

Look at "Fixes..." button on the first tab of fixes. There you can find Local0 and WAK fixes that will remove your errors. But I thought that Phoenix BIOS is not supported by patcher :( . Anyway, if it is unsupported use DSDT.aml and appropriate bootloader to load Mac OS X.

 

Patching HDEF is not yet released: it is just a tab for the future ;)

 

Thanks for reply managed to patch without errors.

Bios is award ga-p35-dsl

the phoenix bit is nothing to do with me lol.

 

I've given up for the moment, system profiler reports most things wrong and some things not at all (maybe my version of dsmos.kext?). Nvidia 7900gs works with no core image/quartz.(probably picked wrong nvcap value)

Link to comment
Share on other sites

Patcher 0.2 Beta 2 is out.

Hoping that it will work correctly.

 

PEGP not GEGP :D And questions about audio. How does it support ALC888 when AppleHDA do not? And whether Pin Conf is the same for all ALC888 on all motherboards? (or is it just for cosmetics in SysInfo?)

Link to comment
Share on other sites

Thanks a lot for the patcher. It is very helpful for all of us.

 

But the lack of documentation or readme on each setting makes it a little bit hard to use. Could somebody please make one? Especially the new added functions like ATI cards (can't figure out how to set up my HD 3870 512MB - too many checkboxes) and ALC888 on Gigabyte P35-DS3L (i understand that this injects device data like EFI string or HDAEnabler but how do i modify original AppleHDA to load it?) Just trying to get rid of EFI strings.

 

I understand that author is very busy developing this great utility but some sort of documentation or how-to would be greatly appreciated by all members. Thanks again !

Link to comment
Share on other sites

PEGP not GEGP :) And questions about audio. How does it support ALC888 when AppleHDA do not? And whether Pin Conf is the same for all ALC888 on all motherboards? (or is it just for cosmetics in SysInfo?)

PEGP, yes for sure. I won't correct it immediatly, only in RC1.

The label is not the good one, but this function create Device(PEGP) so this isn't a major problem.

For sound, there is a lot of revision of ALC888 and the PinConfiguration depends on the ALC rev. The value in the program is the most common. I may differenciate it later.

 

Dimarzio, for sure, the program is now for advanced users. It need an easy mode and documentation.

 

For HD3870, put 9501 in DevID, choose Megalodon or Triakis in Framebuffer and choose 512MB.

Then choose your Hardware Location depending on your ioreg (If you don't know, use PCI0 with GEGP (should be PEGP) checked.

Check Use DSDT GFX.

 

You will need DGPT fix, in General -> Fixes, and maybe Local0 and WAK fixes.

 

Green boxes are for nVIDIA only.

Red boxes are for ATI only.

Link to comment
Share on other sites

koalala

 

Thanks for quick reply - it just confirmed that i do everything right (even realized that nVCAp is for nVidia only) - just didn't check PEPG. Will try right now.

 

So, you say than i can use patched AppleHDA with Taruga's patcher only without ALCInject or HDAEnabler ? I mean this patched kext works with EFI string from EFIStudio - so will it with DSDT injections?

 

Anyway, i think this is a great advance in hackintosh. Looking for Patcher 1.0 with documentation (or just explanatory tooltips for each combobox). Think this will appear or the frontpage =) How soon shall we expect it from you?

Link to comment
Share on other sites

koalala

 

Thanks for quick reply - it just confirmed that i do everything right (even realized that nVCAp is for nVidia only) - just didn't check PEPG. Will try right now.

 

So, you say than i can use patched AppleHDA with Taruga's patcher only without ALCInject or HDAEnabler ? I mean this patched kext works with EFI string from EFIStudio - so will it with DSDT injections?

 

Anyway, i think this is a great advance in hackintosh. Looking for Patcher 1.0 with documentation (or just explanatory tooltips for each combobox). Think this will appear or the frontpage =) How soon shall we expect it from you?

 

I prefer not saying a date but it's sure that this month, I don't have the time needed to write documentation.

I put some information in the first post about GFX.

DSDT patching is like EFI String.

It should work with patched AppleHDA without enabler.

 

Beta2a is Beta2 with PEGP label instead of GEGP. This is the only difference, only cosmetic.

Link to comment
Share on other sites

Okay. here we go.

 

I can confirm that with Gigabyte P35-DS3L Rev. 2 (F9b BIOS) + HIS HD 3870 512 MB:

 

1. Graphics works great just like it should

2. TM fix works great

3. Sleep, Shutdown, Restart works great (AppleDecrypt + OpenHaltRestart)

4. Sound doesn't work with Taruga's AppleHDA (used to work with EFI string) -> will keep on trying with 889a probably

 

Save your time with documentation - just add explanatory tooltips.

Link to comment
Share on other sites

Okay. here we go.

 

I can confirm that with Gigabyte P35-DS3L Rev. 2 (F9b BIOS) + HIS HD 3870 512 MB:

 

1. Graphics works great just like it should

2. TM fix works great

3. Sleep, Shutdown, Restart works great (AppleDecrypt + OpenHaltRestart)

4. Sound doesn't work with Taruga's AppleHDA (used to work with EFI string) -> will keep on trying with 889a probably

 

Save your time with documentation - just add explanatory tooltips.

 

Thanks for reporting.

If it don't work with ALC888 version included. Don't patch sound.

Included version of ALC888 didn't work for me (I use another one) but I included it because it seems to be the most common.

If you have a sound icon on the top, try changing default output in settings, it may help.

Link to comment
Share on other sites

 Share

×
×
  • Create New...