Jump to content

fluid | fixed

rr7

rr7

Member Since 24 Nov 2008
Offline Last Active May 13 2013 09:36 PM
-----

need to understand complex _DOD method

24 February 2013 - 10:38 PM

Hi,

it seems the _DOD method should return a value something like :

Method (_DOD, 0) {
Return (
Package()
{
0x00000110, // Primary LCD panel, not detectable by BIOS
0x80000100, // CRT type display, not detectable by BIOS
0x80000220, // TV type display, not detectable by the BIOS
0x80000411, // Secondary LCD panel, not detectable by BIOS
}
)
}


but on modern BIOS it seems to have become something complex like this:

Method (_DOD, 0, NotSerialized)
			 {
				 Store (NDID, Local0)
				 Store (0x00, NDID)
				 If (LNotEqual (DIDL, Zero))
				 {
					 Store (SDDL (DID1), DID1)
				 }
				 If (LNotEqual (DDL2, Zero))
				 {
					 Store (SDDL (DID2), DID2)
				 }
				 If (LNotEqual (DDL3, Zero))
				 {
					 Store (SDDL (DID3), DID3)
				 }
				 If (LNotEqual (DDL4, Zero))
				 {
					 Store (SDDL (DID4), DID4)
				 }
				 If (LNotEqual (DDL5, Zero))
				 {
					 Store (SDDL (DID5), DID5)
				 }
				 If (LEqual (NDID, 0x00))
				 {
					 Store (Local0, NDID)
				 }
				 If (LEqual (NDID, 0x01))
				 {
					 Name (TMP1, Package (0x01)
					 {
						 0xFFFFFFFF
					 })
					 Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
					 Return (TMP1)
				 }
				 If (LEqual (NDID, 0x02))
				 {
					 Name (TMP2, Package (0x02)
					 {
						 0xFFFFFFFF,
						 0xFFFFFFFF
					 })
					 Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
					 Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
					 Return (TMP2)
				 }
				 If (LEqual (NDID, 0x03))
				 {
					 Name (TMP3, Package (0x03)
					 {
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF
					 })
					 Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
					 Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
					 Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
					 Return (TMP3)
				 }
				 If (LEqual (NDID, 0x04))
				 {
					 Name (TMP4, Package (0x04)
					 {
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF
					 })
					 Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
					 Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
					 Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
					 Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
					 Return (TMP4)
				 }
				 If (LGreater (NDID, 0x04))
				 {
					 Name (TMP5, Package (0x05)
					 {
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF,
						 0xFFFFFFFF
					 })
					 Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
					 Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
					 Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
					 Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
					 Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
					 Return (TMP5)
				 }
				 Return (Package (0x01)
				 {
					 0x0400
				 })
			 }



i'm guessing whatever that code is, it must equate to similar values as the spec demands, but how? whats NDID? does anyone understand what this newer style code is doing?

how to hardwire to headphone output?

08 February 2013 - 10:28 PM

Hi,i have a MB with HDMI input, but in HDMI mode it only plays sound to the internal stereo speaker header.i'd like to hardwire it so that all sound from this header goes out to the headphone socket instead. I've had a go but the sound is very low volume and interference, I think perhaps I've not got the ground wires correct. the motherboard has HD_AUDIO header style pinout. can anyone tell me which pins I should direct where?

X86PlatformPlugin not loading

22 December 2012 - 07:55 PM

i've noticed that on my hackintosh builds the X86PlatformPlugin doesn't load, instead ACPI_SMC_PlatformPlugin loads and that brings up unsupported CPU 0x3a errors as that plugin doesnt support modern processors.

i've compared IOREG from actual recent iMacs and MacMinis, and the cpu-type doesnt match, i got 01 05 and it should be 04 06. i've fixed that by changes to SMBIOS.plist but that didnt make it load

i then noticed a plugin-type property 0x1, which is also in IOPropertyMatch within the X86PlatformPlugin info.plist, so i've injected that property and i can confirm it shows in the IOReg, but still it wont load the plugin, it always reverts to the SMC one.

i'm not sure what else i'm missing!

can someone help shed some light into it?

edit: okay why it is, that you always work it out, only after you've posted on a forum ;)

i renamed the

ACPI_SMC_PlatformPlugin.kext and now X86PlatformPlugin loads! so the question now is, really, is what is causing the

ACPI_SMC_PlatformPlugin to load. i suspect something to do with FakeSMC or the

boot loader..... i dont like renaming or deleting kexts as a solution

weird GLAN DSDT entry, should/how fix?

23 August 2012 - 12:06 AM

while trying to mark my built in ethernet as built-in (chameleon isnt doing it, despite the option being set)

i installed the lnx2mac rtl8111e drivers (which work) and the device gets listed in ioreg as RP03@1C,2

in DSDT there is a GLAN entry which i always thought was the lan card, but it seems it isn't linked to that.

should i fix this in DSDT, what part should i fix?

*totally unpatched* DSDT attached for reference

Hacking Intel HD4000 connector tables

11 August 2012 - 11:18 PM

is it possible to hack the connector tables in AppleIntelFrameBufferCapri.kext? none of the AAPL,ig-platform-id values give me a compatible layout. I need @0 DisplayPort, @1 VGA (I know the VGA output is garbled, that's not a problem for me, I only use DP on @0.

© 2013 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy