1
0
Fork 0

VoodooHDA remove -> AppleHDAPatcher로 정상적으로 돌림

This commit is contained in:
Kelly Kong 2017-03-10 22:50:56 +09:00
parent b4307348f7
commit 4f17e00756
1576 changed files with 35570 additions and 8462 deletions

Binary file not shown.

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>16D32</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>AppleHDA Patcher</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<key>CFBundleIdentifier</key>
<string>com.InsanelyMac.AppleHDA-Patcher</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>AppleHDA Patcher</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.7</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>8C1002</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>16C58</string>
<key>DTSDKName</key>
<string>macosx10.12</string>
<key>DTXcode</key>
<string>0821</string>
<key>DTXcodeBuild</key>
<string>8C1002</string>
<key>LSMinimumSystemVersion</key>
<string>10.7</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2015-2017 insanelymac.com Micky1979 and Mirone. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@ -0,0 +1 @@
APPL????

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

View File

@ -0,0 +1,458 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>15F34</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>CodecCommander</string>
<key>CFBundleGetInfoString</key>
<string>2.6.1, Copyright © 2013-2014 TimeWalker. All rights reserved.</string>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>CodecCommander</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.6.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.6.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7D175</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>10M2518</string>
<key>DTSDKName</key>
<string>macosx10.6</string>
<key>DTXcode</key>
<string>0730</string>
<key>DTXcodeBuild</key>
<string>7D175</string>
<key>IOKitPersonalities</key>
<dict>
<key>CodecCommander</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>Codec Profile</key>
<dict>
<key>1002</key>
<string>Disabled HDMI</string>
<key>10de</key>
<string>Disabled HDMI</string>
<key>10ec_0233</key>
<string>Realtek ALC283,etc</string>
<key>10ec_0235</key>
<string>Realtek ALC283,etc</string>
<key>10ec_0255</key>
<string>Realtek ALC283,etc</string>
<key>10ec_0269</key>
<string>Realtek ALC269</string>
<key>10ec_0269_HDA_1028_04d9</key>
<string>Realtek ALC269VB</string>
<key>10ec_0269_HDA_1458_fa50</key>
<string>Realtek ALC269 BRIX</string>
<key>10ec_0282</key>
<string>Realtek ALC283,etc</string>
<key>10ec_0283</key>
<string>Realtek ALC283,etc</string>
<key>10ec_0292</key>
<string>Realtek ALC292</string>
<key>10ec_0668</key>
<string>Realtek ALC668</string>
<key>10ec_0892_HDA_1458</key>
<string>Realtek ALC892 desktop</string>
<key>10ec_0892_HDA_8086</key>
<string>Realtek ALC892 desktop</string>
<key>10ec_0900</key>
<string>Realtek ALC1150</string>
<key>8086</key>
<string>Disabled HDMI</string>
<key>Default</key>
<dict>
<key>Check Infinitely</key>
<false/>
<key>Check Interval</key>
<integer>3000</integer>
<key>Custom Commands</key>
<array/>
<key>Perform Reset</key>
<true/>
<key>Perform Reset on EAPD Fail</key>
<false/>
<key>Perform Reset on External Wake</key>
<true/>
<key>Send Delay</key>
<integer>300</integer>
<key>Sleep Nodes</key>
<true/>
<key>Update Nodes</key>
<true/>
</dict>
<key>Disabled HDMI</key>
<dict>
<key>Check Infinitely</key>
<false/>
<key>Disable</key>
<true/>
<key>Sleep Nodes</key>
<false/>
<key>Update Nodes</key>
<false/>
</dict>
<key>Realtek ALC1150</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AgUABw==
</data>
<key>Comment</key>
<string>0x20 SET_COEF_INDEX 0x07</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<true/>
<key>On Wake</key>
<true/>
</dict>
<dict>
<key>Command</key>
<data>
AgR8sA==
</data>
<key>Comment</key>
<string>0x20 SET_PROC_COEF 0x7CB0</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
<key>Send Delay</key>
<integer>100</integer>
<key>Sleep Nodes</key>
<false/>
<key>Update Nodes</key>
<false/>
</dict>
<key>Realtek ALC269</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AVcIgw==
</data>
<key>Comment</key>
<string>0x15 SET_UNSOLICITED_ENABLE 0x83</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
</dict>
<key>Realtek ALC269 BRIX</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AVcIgw==
</data>
<key>Comment</key>
<string>0x15 SET_UNSOLICITED_ENABLE 0x83</string>
<key>On Init</key>
<false/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<false/>
</dict>
</array>
</dict>
<key>Realtek ALC269VB</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AhcIgw==
</data>
<key>Comment</key>
<string>0x21 SET_UNSOLICITED_ENABLE 0x83</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
<key>Send Delay</key>
<integer>20</integer>
<key>Sleep Nodes</key>
<false/>
</dict>
<key>Realtek ALC283,etc</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AZcHJQ==
</data>
<key>Comment</key>
<string>0x19 SET_PIN_WIDGET_CONTROL 0x25</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
<dict>
<key>Command</key>
<data>
AhcIgw==
</data>
<key>Comment</key>
<string>0x21 SET_UNSOLICITED_ENABLE 0x83</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
<key>Perform Reset</key>
<false/>
<key>Send Delay</key>
<integer>10</integer>
<key>Sleep Nodes</key>
<false/>
</dict>
<key>Realtek ALC292</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<string>0x01a70724</string>
<key>Comment</key>
<string>Node 0x1a - Pin Control (In Enable / VRefEn)</string>
<key>On Init</key>
<false/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
<key>Perform Reset</key>
<false/>
</dict>
<key>Realtek ALC668</key>
<dict>
<key>Custom Commands</key>
<array>
<dict>
<key>Command</key>
<data>
AVcIgw==
</data>
<key>Comment</key>
<string>0x15 SET_UNSOLICITED_ENABLE 0x83</string>
<key>On Init</key>
<true/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
<dict>
<key>Command</key>
<data>
AbcHIA==
</data>
<key>Comment</key>
<string>Node 0x1b - Pin Control (In Enable)</string>
<key>On Init</key>
<false/>
<key>On Sleep</key>
<false/>
<key>On Wake</key>
<true/>
</dict>
</array>
<key>Perform Reset</key>
<false/>
</dict>
<key>Realtek ALC892 desktop</key>
<dict>
<key>Sleep Nodes</key>
<false/>
<key>Update Nodes</key>
<false/>
</dict>
</dict>
<key>IOClass</key>
<string>CodecCommander</string>
<key>IOMatchCategory</key>
<string>CodecCommander</string>
<key>IOProviderClass</key>
<string>IOHDACodecFunction</string>
<key>IOUserClientClass</key>
<string>CodecCommanderClient</string>
</dict>
<key>CodecCommanderPowerHook</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>Codec Profile</key>
<dict>
<key>1002</key>
<string>Disabled HDMI</string>
<key>10de</key>
<string>Disabled HDMI</string>
<key>8086</key>
<string>Disabled HDMI</string>
<key>Disabled HDMI</key>
<dict>
<key>Disable</key>
<true/>
</dict>
</dict>
<key>IOClass</key>
<string>CodecCommanderPowerHook</string>
<key>IOMatchCategory</key>
<string>CodecCommanderPowerHook</string>
<key>IOProviderClass</key>
<string>AppleHDADriver</string>
</dict>
<key>CodecCommanderProbeInit</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>Codec Profile</key>
<dict>
<key>Default</key>
<dict>
<key>Custom Commands</key>
<array/>
</dict>
</dict>
<key>IOClass</key>
<string>CodecCommanderProbeInit</string>
<key>IOProbeScore</key>
<integer>5000</integer>
<key>IOProviderClass</key>
<string>IOHDACodecDevice</string>
</dict>
<key>CodecCommanderResidency</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>IOClass</key>
<string>CodecCommanderResidency</string>
<key>IOMatchCategory</key>
<string>CodecCommanderResidency</string>
<key>IOProviderClass</key>
<string>IOResources</string>
</dict>
<key>CodecCommanderVoodooHDA</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.tw.CodecCommander</string>
<key>Codec Profile</key>
<dict>
<key>1002</key>
<string>Disabled HDMI</string>
<key>10de</key>
<string>Disabled HDMI</string>
<key>8086</key>
<string>Disabled HDMI</string>
<key>Default</key>
<dict>
<key>Check Infinitely</key>
<false/>
<key>Perform Reset</key>
<false/>
<key>Perform Reset on EAPD Fail</key>
<false/>
<key>Perform Reset on External Wake</key>
<false/>
<key>Sleep Nodes</key>
<false/>
<key>Update Nodes</key>
<false/>
</dict>
<key>Disabled HDMI</key>
<dict>
<key>Check Infinitely</key>
<false/>
<key>Disable</key>
<true/>
<key>Sleep Nodes</key>
<false/>
<key>Update Nodes</key>
<false/>
</dict>
</dict>
<key>IOClass</key>
<string>CodecCommander</string>
<key>IOMatchCategory</key>
<string>CodecCommander</string>
<key>IOProviderClass</key>
<string>VoodooHDADevice</string>
<key>IOUserClientClass</key>
<string>CodecCommanderClient</string>
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2013-2014 TimeWalker/RehabMan. All rights reserved.</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOACPIFamily</key>
<string>1.0d1</string>
<key>com.apple.iokit.IOAudioFamily</key>
<string>1.1</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.bsd</key>
<string>9.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
</dict>
<key>Source Code</key>
<string>https://github.com/RehabMan/EAPD-Codec-Commander</string>
</dict>
</plist>

View File

@ -0,0 +1,42 @@
// This SSDT demonstrates a custom configuration for ALC280.
// If you had a codec that needed the same configuration, you could
// load this SSDT in order to implement it without modifying the kext.
// It will override the defaults specfied by the CodecCommander Info.plist
// Customize to suit your needs.
// This data provided by @zirkaiva.
// See here: http://www.tonymacx86.com/el-capitan-laptop-guides/175935-guide-lenovo-t430-el-capitan-34.html#post1239765
DefinitionBlock ("", "SSDT", 1, "hack", "ALC280", 0)
{
External(_SB.PCI0.HDEF, DeviceObj)
Name(_SB.PCI0.HDEF.RMCF, Package()
{
"CodecCommander", Package()
{
"Custom Commands", Package()
{
Package(){}, // signifies Array instead of Dictionary
Package()
{
// 0x15 SET_UNSOLICITED_ENABLE 0x83
"Command", Buffer() { 0x01, 0x57, 0x08, 0x83 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">y",
},
Package()
{
// Node 0x1a - Pin Control (In Enable / VRefEn)
"Command", Buffer() { 0x01, 0x1a, 0x07, 0x24 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">y",
},
},
},
})
}
//EOF

View File

@ -0,0 +1,62 @@
// This SSDT demonstrates a custom configuration for ALC668.
//
// It is reportedly needed to solve a problem with booting
// OS X after Windows.
//
// See here for details:
// http://www.tonymacx86.com/el-capitan-laptop-support/185808-alc668-no-sound-after-reboot-windows-10-a.html#post1201248
//
// Customize to suit your needs.
// Compile to SSDT-ALC668.aml, place in ACPI/patched. Make sure SortedOrder includes it.
DefinitionBlock ("", "SSDT", 1, "hack", "ALC668", 0)
{
External(_SB.PCI0.HDEF, DeviceObj)
Name(_SB.PCI0.HDEF.RMCF, Package()
{
"CodecCommander", Package()
{
"Custom Commands", Package()
{
Package(){}, // signifies Array instead of Dictionary
// correcting headphones (this is in the Info.plist too)
Package()
{
// 0x15 SET_UNSOLICITED_ENABLE 0x83
"Command", Buffer() { 0x01, 0x57, 0x08, 0x83 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">y",
},
Package()
{
// Node 0x1b - Pin Control (In Enable)
"Command", Buffer() { 0x01, 0xb7, 0x07, 0x20 },
"On Init", ">n",
"On Sleep", ">n",
"On Wake", ">y",
},
// correcting audio after Windows (not in current Info.plist)
Package()
{
// 0x20 SET_COEF_INDEX 0x07
"Command", Buffer() { 0x02, 0x05, 0x00, 0x07 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">n",
},
Package()
{
// 0x20 SET_PROC_COEF 0x0F80
"Command", Buffer() { 0x02, 0x04, 0x0f, 0x80 },
"On Init", ">y",
"On Sleep", ">n",
"On Wake", ">n",
},
},
},
})
}
//EOF

View File

@ -0,0 +1,86 @@
#!/bin/bash
HDA_AUDIO_AFG=0x01
HDA_PIN_COMPLEX=0x04
cmdResult=0
function sendCommand()
{
result=`hda-verb -q "$1" "$2" "$3"`
let cmdResult=result
}
function findAudioRootNode()
{
local result=-1
sendCommand 0 PARAMETERS NODE_COUNT
start=$(( ($cmdResult >> 16) & 0xFF ))
end=$(( $start + (($cmdResult >> 0) & 0xFF) ))
#echo $start...$end
n=$start
while [[ $n -lt $end ]]; do
#echo Testing node $n
sendCommand $n PARAMETERS FUNCTION_TYPE
let type=$(($cmdResult & 0x7F))
if [[ $type -eq $HDA_AUDIO_AFG ]]; then
let result=$n
break
fi
((n++))
done
echo $result
}
function shifty()
{
local result=$(( ($1 >> $2) & ((1 << ($3-$2+1))-1) ))
echo $result
}
rgPortConnectivity=(Connected NotConnected FixedFunction Both)
rgDefaultDevice=(LineOut Speaker HPOut CD SPDIFOut DigitalOtherOut ModemLineSide ModemHandsetSide LineIn AUX MicIn Telephony SPDIFIn DigitalOtherIn Reserved Other)
rgConnectionType=(Unknown .125 .250 ATAPIInternal RCA Optical OtherDigital OtherAnalog MultichannelAnalog XLRPro RJ11 Combination Undef_C Undef_D Undef_E Other)
rgColor=(Unknown Black Grey Blue Green Red Orange Yellow Purple Pink Reserved_A Reserved_B Reserved_C Reserved_D White Other)
rgMisc=(NoJackOverride JackOverride)
function parseConfig()
{
local val=$(shifty $1 30 31)
printf "\tPort Connectivity: %s (0x%x)\n" ${rgPortConnectivity[$val]} $val
val=$(shifty $1 29 24)
printf "\tLocation: (0x%x)\n" $val
val=$(shifty $1 20 23)
printf "\tDefault Device: %s (0x%x)\n" ${rgDefaultDevice[$val]} $val
val=$(shifty $1 16 19)
printf "\tConnection Type: %s (0x%x)\n" ${rgConnectionType[$val]} $val
val=$(shifty $1 12 15)
printf "\tColor: %s (0x%x)\n" ${rgColor[$val]} $val
val=$(shifty $1 8 11)
printf "\tMisc: %s (0x%x)\n" ${rgMisc[$(shifty $val 0 0)]} $val
val=$(shifty $1 4 7)
printf "\tDefault Association: (0x%x)\n" $val
val=$(shifty $1 0 3)
printf "\tSequence: (0x%x)\n" $val
}
rootNode=`findAudioRootNode`
#echo $rootNode
sendCommand $rootNode PARAMETERS NODE_COUNT
#printf "result=0x%08x\n" $cmdResult
start=$(( ($cmdResult >> 16) & 0xFF ))
end=$(( $start + (($cmdResult >> 0) & 0xFF) ))
#echo $start...$end
n=$start
while [[ $n -lt $end ]]; do
sendCommand $n PARAMETERS AUDIO_WIDGET_CAP
let type=$((($cmdResult >> 20) & 0x0F))
if [[ $type -eq $HDA_PIN_COMPLEX ]]; then
sendCommand $n GET_CONFIG_DEFAULT 0
let config=$cmdResult
printf "Node 0x%02x [Pin Complex] : Pin Config 0x%08x\n" $n $config
parseConfig $config
fi
((n = $n+1))
done

View File

@ -0,0 +1,145 @@
#!/bin/bash
if [ -t 0 ]; then
echo "usage:"
echo " echo -n bytes | ./convert.sh [config|other]"
echo "or:"
echo " pbpaste | ./convert.sh [config|other]"
exit
fi
declare -a g_configDefault
declare -a g_configFill
function add_to_array()
# $1 is node
# $2 is payload
# $3 is shift value
{
if [[ -z "${g_configDefault[$1]}" ]]; then
#echo initial set node: $1
g_configDefault[$1]=0
g_configFill[$1]=0
fi
local cur=g_configDefault[$1]
g_configDefault[$1]=$(( $cur | ($2<<$3) ))
local fill=${g_configFill[$1]}
g_configFill[$1]=$(( $fill | (0x1<<$3) ))
}
declare -a g_unknownVerbs
function add_to_unknown()
# $1 is verb data
{
local count=${#g_unkownVerbs[@]}
g_unkownVerbs[$count]=$1
}
function shifty()
{
local result=$(( ($1 >> $2) & ((1 << ($3-$2+1))-1) ))
echo $result
}
input=$(cat -)
let index=0
while [[ index -lt ${#input} ]]; do
ch=${input:$index:1}
if [[ $ch =~ [a-fA-F0-9] ]]; then
verb=$verb$ch
fi
if [[ ${#verb} -eq 8 ]]; then
let verb_n=0x$verb
verb=""
cmd=$(shifty $verb_n 8 19)
payload=$(shifty $verb_n 0 7)
node=$(shifty $verb_n 20 26)
if [[ $cmd -eq 0x71c ]]; then
#printf "byte0: 0x%x, 0x%02x\n" $node $payload
add_to_array $node $payload 0
elif [[ $cmd -eq 0x71d ]]; then
#printf "byte1: 0x%x, 0x%02x\n" $node $payload
add_to_array $node $payload 8
elif [[ $cmd -eq 0x71e ]]; then
#printf "byte2: 0x%x, 0x%02x\n" $node $payload
add_to_array $node $payload 16
elif [[ $cmd -eq 0x71f ]]; then
#printf "byte3: 0x%x, 0x%02x\n" $node $payload
add_to_array $node $payload 24
else
add_to_unknown $verb_n
fi
fi
((index++))
done
#echo ${g_configDefault[*]}
if [[ -z "$1" && ${#g_configDefault[@]} -ne 0 ]]; then
echo Config Data:
fi
if [[ -z "$1" || "$1" == "config" ]]; then
let i_temp=0
while [[ $i_temp -lt 256 ]]; do
if [[ ! -z "${g_configDefault[$i_temp]}" && ${g_configFill[$i_temp]} -eq 0x01010101 ]]; then
printf " 0x%02x, 0x%08x,\n" $i_temp ${g_configDefault[$i_temp]}
fi
((i_temp++))
done
fi
let extra_unknown=0
let i_temp=0
while [[ $i_temp -lt 256 ]]; do
if [[ ! -z "${g_configFill[$i_temp]}" ]]; then
if [[ ${g_configFill[$i_temp]} -ne 0x1111 ]]; then
((extra_unknown++))
fi
fi
((i_temp++))
done
count_temp=${#g_unkownVerbs[@]}
total_temp=$(($count_temp+$extra_unknown))
if [[ -z "$1" && $total_temp -ne 0 ]]; then
echo Unknown Verbs:
fi
if [[ -z "$1" || "$1" == "other" ]]; then
# output incomplete configDefaults
let i_temp=0
while [[ $i_temp -lt 256 ]]; do
if [[ ! -z "${g_configFill[$i_temp]}" && ${g_configFill[$i_temp]} -ne 0x01010101 ]]; then
x=${g_configDefault[$i_temp]}
fill=${g_configFill[$i_temp]}
if [[ $(($fill & 0x01)) -ne 0 ]]; then
new="$(printf "%08x" $(( ($i_temp<<20) | (0x71c<<8) | (($x>>0)&0xFF) )))"
if [[ -z "$unknown" ]]; then unknown=$new; else unknown="$unknown $new"; fi
fi
if [[ $(($fill & 0x0100)) -ne 0 ]]; then
new="$(printf "%08x" $(( ($i_temp<<20) | (0x71d<<8) | (($x>>8)&0xFF) )))"
if [[ -z "$unknown" ]]; then unknown=$new; else unknown="$unknown $new"; fi
fi
if [[ $(($fill & 0x010000)) -ne 0 ]]; then
new="$(printf "%08x" $(( ($i_temp<<20) | (0x71e<<8) | (($x>>16)&0xFF) )))"
if [[ -z "$unknown" ]]; then unknown=$new; else unknown="$unknown $new"; fi
fi
if [[ $(($fill & 0x01000000)) -ne 0 ]]; then
new="$(printf "%08x" $(( ($i_temp<<20) | (0x71f<<8) | (($x>>24)&0xFF) )))"
if [[ -z "$unknown" ]]; then unknown=$new; else unknown="$unknown $new"; fi
fi
fi
((i_temp++))
done
# output other verbs (non-config default)
let i_temp=0
while [[ $i_temp -lt $count_temp ]]; do
new="$(printf "%08x" ${g_unkownVerbs[$i_temp]})"
if [[ -z "$unknown" ]]; then unknown=$new; else unknown="$unknown $new"; fi
((i_temp++))
done
if [[ $total_temp -gt 0 ]]; then
printf "%s\n" "$unknown" | xxd -r -p | xxd -i -c 4
fi
fi

View File

@ -0,0 +1,95 @@
#!/bin/bash
# Get right input amp
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x0
# Get left input amp
# 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x2000
# Get right output amp
# 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x8000
# Get left output amp
# 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0xa000
# Set both input amps
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 = 0x7003
function dump
{
echo -e "\t\tnid = $1 --> result `hda-verb $1 $2 $3 | tail -c 11`"
}
function dump_all
{
dump 0x02 $1 $2
dump 0x03 $1 $2
dump 0x04 $1 $2
dump 0x05 $1 $2
dump 0x06 $1 $2
dump 0x07 $1 $2
dump 0x08 $1 $2
dump 0x09 $1 $2
dump 0x0a $1 $2
dump 0x0b $1 $2
dump 0x0c $1 $2
dump 0x0d $1 $2
dump 0x0e $1 $2
dump 0x0f $1 $2
dump 0x10 $1 $2
dump 0x11 $1 $2
dump 0x12 $1 $2
dump 0x13 $1 $2
dump 0x14 $1 $2
dump 0x15 $1 $2
dump 0x16 $1 $2
dump 0x17 $1 $2
dump 0x18 $1 $2
dump 0x19 $1 $2
dump 0x1a $1 $2
dump 0x1b $1 $2
dump 0x1c $1 $2
dump 0x1d $1 $2
dump 0x1e $1 $2
dump 0x1f $1 $2
dump 0x20 $1 $2
dump 0x21 $1 $2
dump 0x22 $1 $2
dump 0x23 $1 $2
dump 0x24 $1 $2
}
#echo -e "\tConnection Selector"
#dump_all GET_CONNECT_SEL 0x0
#echo -e "\tProcessing State"
#dump_all GET_PROC_STATE 0x0
#echo -e "\tPower State"
#dump_all GET_POWER_STATE 0x0
#echo -e "\tPin Widget Control"
#dump_all GET_PIN_WIDGET_CONTROL 0x0
#echo -e "\tPin Sense"
#dump_all GET_PIN_SENSE 0x0
echo -e "\tEAPD"
dump_all GET_EAPD_BTLENABLE 0x0
#echo -e "\tAmp Mute (Right Input)"
#dump_all GET_AMP_GAIN_MUTE 0x0
#echo -e "\tAmp Mute (Left Input)"
#dump_all GET_AMP_GAIN_MUTE 0x2000
#echo -e "\tAmp Mute (Right Output)"
#dump_all GET_AMP_GAIN_MUTE 0x8000
#echo -e "\tAmp Mute (Left Output)"
#dump_all GET_AMP_GAIN_MUTE 0xa000
#echo -e "\tVolume Knob Control"
#dump_all GET_VOLUME_KNOB_CONTROL 0x0
#echo -e "\tConfiguration Default"
#dump_all GET_CONFIG_DEFAULT 0x0

View File

@ -0,0 +1,281 @@
#!/bin/bash
#set -x
# check arguments
if [[ "$#" -lt 3 ]]; then
echo Usage: $0 {AppleHDA-path} {name} {codec-id-1} [codec-id-2 codec-id-n ...]
echo
echo "{AppleHDA-path} is path of patched AppleHDA.kext or AppleHDA injector"
echo "{name} is \"Resources\" folder suffix to be created for extracted files (Extract_name)"
echo "Following the fixed arguments, are one or more codec ids, usually specified in hex, such as 0x10ec0892"
echo
echo "Examples:"
echo " $0 ~/Downloads/realtekALC.kext ALC892 0x10ec0892"
echo " $0 ~/Downloads/AppleHDA.kext ALC280 0x10ec0892"
echo " $0 ~/Projects/probook.git/AppleHDA_ProBook.kext ProBook 0x10ec0282 0x10ec0280 \\"
echo " 0x14f150f4 0x111d76d1 0x111D76D9 0x111D76e0 0x111D7605 0x111D7695"
exit
fi
# g_codecFilter array
declare -a g_codecFilter
function add_codec()
# $1 is codec_id
{
local count=${#g_codecFilter[@]}
g_codecFilter[$count]=$(($1))
}
function check_codec()
# $1 is codec_id to check
# echo true/false
{
local count=${#g_codecFilter[@]}
local i
for((i=0; i<$count; i++)); do
if [[ "$1" -eq ${g_codecFilter[$i]} ]]; then
break
fi
done
if [[ $i -eq $count ]]; then
echo false
else
echo true
fi
}
# g_layoutList
declare -a g_layoutList
function add_layout()
# $1 is layout-id to add
{
local count=${#g_layoutList[@]}
local i
for((i=0; i<$count; i++)); do
if [[ "$1" -eq ${g_layoutList[$i]} ]]; then
break
fi
done
if [[ $i == $count ]]; then
g_layoutList[$count]=$(($1))
fi
}
# g_layoutList
declare -a g_pathmapList
function add_pathmap()
# $1 is pathmap-id to add
{
local count=${#g_pathmapList[@]}
local i
for((i=0; i<$count; i++)); do
if [[ "$1" -eq ${g_pathmapList[$i]} ]]; then
break
fi
done
if [[ $i == $count ]]; then
g_pathmapList[$count]=$(($1))
fi
}
function check_pathmap()
# $1 is pathmap_id to check
# echo true/false
{
local count=${#g_pathmapList[@]}
local i
for((i=0; i<$count; i++)); do
if [[ "$1" -eq ${g_pathmapList[$i]} ]]; then
break
fi
done
if [[ $i -eq $count ]]; then
echo false
else
echo true
fi
}
function merge_entry()
# $1 is keypath to read
# $2 is source plist
# $3 is keypath to write
# #4 is dest plist
{
/usr/libexec/PlistBuddy -x -c "Print \"$1\"" "$2" >/tmp/org_rehabman_temp.plist
/usr/libexec/PlistBuddy -x -c "Add \"$3\" dict" "$4"
/usr/libexec/PlistBuddy -c "Merge /tmp/org_rehabman_temp.plist \"$3\"" "$4"
}
hda="$1"
extract=Extract_"$2"
# build list of codecs to filter
for ((i=3; i<=$#; i++)); do
add_codec "${!i}"
done
echo [dbg] g_codecFilter: ${g_codecFilter[*]}
# determine plist to scan
plist="$hda"/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist
if [[ ! -e "$plist" ]]; then
plist="$hda"/Contents/Info.plist
fi
echo [dbg] plist: "$plist"
if [[ ! -e $plist ]]; then
echo Info.plist at $plist does not exist
exit
fi
if [[ ! -d "$extract" ]]; then
rm -rf "$extract"
mkdir "$extract"
fi
rm -f "$extract"/Platforms.plist
rm -f "$extract"/layout*.plist
cat >"$extract"/ahhcd.plist <<ahhcd_starter_plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>HDAConfigDefault</key>
<array/>
</dict>
</plist>
ahhcd_starter_plist
ahhcd_count=0
# use PlistBuddy to look at the Info.plist
for ((i=0; 1; i++)); do
prefix=":IOKitPersonalities:HDA Hardware Config Resource:HDAConfigDefault:$i"
codec=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" $plist 2>&1`
if [[ "$codec" == *"Does Not Exist"* ]]; then
break
fi
if [[ `check_codec $codec` == 'true' ]]; then
merge_entry "$prefix" $plist "HDAConfigDefault:$ahhcd_count" "$extract"/ahhcd.plist
((ahhcd_count++))
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:LayoutID\"" $plist 2>&1`
if [[ "$layout" != *"Does Not Exist"* ]]; then
add_layout "$layout"
fi
fi
#printf "found codec: 0x%x\n" $codec
done
# look at PostConstructionInitialization for additional layout-ids (and perhaps other data)
pci_count=0
for ((i=0; 1; i++)); do
prefix=":IOKitPersonalities:HDA Hardware Config Resource:PostConstructionInitialization:$i"
codec=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" $plist 2>&1`
if [[ "$codec" == *"Does Not Exist"* ]]; then
break
fi
if [[ `check_codec $codec` == 'true' ]]; then
merge_entry "$prefix" $plist "PostConstructionInitialization:$pci_count" "$extract"/ahhcd.plist
((pci_count++))
for((j=0; 1; j++)); do
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:Layouts:$j\"" $plist 2>&1`
if [[ "$layout" == *"Does Not Exist"* ]]; then
break
fi
add_layout "$layout"
done
fi
done
echo [dbg] g_layoutList: ${g_layoutList[*]}
for ((i=0; i<${#g_layoutList[@]}; i++)); do
# copy available layout file
layout=${g_layoutList[$i]}
if [[ -e $layout$layout.zml.zlib ]]; then
zlib inflate layout$layout.zml.zlib >"$extract"/layout$layout.plist
elif [[ -e $1/Contents/Resources/layout$layout.xml.zlib ]]; then
zlib inflate $1/Contents/Resources/layout$layout.xml.zlib >"$extract"/layout$layout.plist
elif [[ -e $1/Contents/Resources/layout$layout.xml ]]; then
cp $1/Contents/Resources/layout$layout.xml "$extract"/layout$layout.plist
fi
done
if [ 0 -eq 1 ]; then
if [[ ! -e "$extract"/layout.bak ]]; then mkdir "$extract"/layout.bak; fi
rm -f "$extract"/layout.bak/*
cp "$extract"/layout*.plist "$extract"/layout.bak
fi
# clean each layout*.plist for codec filter
for layout in "$extract"/layout*.plist; do
for ((i=0; 1; i++)); do
prefix=":PathMapRef:$i"
pathmap=`/usr/libexec/PlistBuddy -c "Print \"$prefix:PathMapID\"" $layout 2>&1`
if [[ "$pathmap" == *"Does Not Exist"* ]]; then
break
fi
for ((j=0; 1; j++)); do
prefix=":PathMapRef:$i:CodecID:$j"
codec=`/usr/libexec/PlistBuddy -c "Print \"$prefix\"" $layout 2>&1`
if [[ "$codec" == *"Does Not Exist"* ]]; then
break
fi
if [[ `check_codec $codec` != "true" ]]; then
echo [dbg] $layout: deleting \"$prefix\" for codec $codec
/usr/libexec/PlistBuddy -c "Delete \"$prefix\"" $layout
((j--))
fi
done
done
done
# now, delete any PathMapRef with an empty codec list
for layout in "$extract"/layout*.plist; do
for ((i=0; 1; i++)); do
prefix=":PathMapRef:$i"
pathmap=`/usr/libexec/PlistBuddy -c "Print \"$prefix:PathMapID\"" $layout 2>&1`
if [[ "$pathmap" == *"Does Not Exist"* ]]; then
break
fi
test=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID:0\"" $layout 2>&1`
if [[ "$test" == *"Does Not Exist"* ]]; then
echo [dbg] $layout: deleting \"$prefix\" \($pathmap\)
/usr/libexec/PlistBuddy -c "Delete \"$prefix\"" $layout
((i--))
else
add_pathmap "$pathmap"
fi
done
done
echo [dbg] g_pathmapList: ${g_pathmapList[*]}
# copy available Platforms
if [[ -e Platforms.zml.zlib ]]; then
zlib inflate Platforms.zml.zlib >"$extract"/Platforms.plist
elif [[ -e $1/Contents/Resources/Platforms.xml.zlib ]]; then
zlib inflate $1/Contents/Resources/Platforms.xml.zlib >"$extract"/Platforms.plist
elif [[ -e $1/Contents/Resources/Platforms.xml ]]; then
cp $1/Contents/Resources/Platforms.xml "$extract"/Platforms.plist
fi
/usr/libexec/PlistBuddy -c "Delete :CommonPeripheralDSP" "$extract"/Platforms.plist
# in Platforms.plist, remove any pathmap not in g_pathmapList
plist="$extract"/Platforms.plist
for ((i=0; 1; i++)); do
pathmap=`/usr/libexec/PlistBuddy -c "Print :PathMaps:$i:PathMapID" $plist 2>&1`
if [[ "$pathmap" == *"Does Not Exist"* ]]; then
break
fi
if [[ `check_pathmap $pathmap` != "true" ]]; then
echo [dbg] Platforms.plist: deleting \":PathMaps:$i\" \($pathmap\)
/usr/libexec/PlistBuddy -c "Delete :PathMaps:$i" $plist
((i--))
fi
done
ls -l "$extract"

View File

@ -0,0 +1,219 @@
#!/bin/bash
#set -x
if [[ "$1" == "" ]]; then
echo "Usage: $0 {codec}"
echo
echo "{codec} is a \"Resources\" directory suffix that contains ahhcd.plist, layout*.plist, Platforms.plist"
echo
echo "Examples:"
echo " $0 ALC892"
echo " $0 ProBook"
exit
fi
out="SSDT-$1_out.dsl"
plist="Resources_$1/ahhcd.plist"
convert_sh=`dirname "$0"`/convert.sh
if [[ ! -e "$plist" ]]; then
echo Error: file \"$plist\" does not exist, aborting...
exit
fi
# g_layoutList
declare -a g_codecList
function add_codec()
# $1 is codec-id to add
{
local count=${#g_codecList[@]}
local i
for((i=0; i<$count; i++)); do
if [[ "$1" -eq ${g_codecList[$i]} ]]; then
break
fi
done
if [[ $i == $count ]]; then
g_codecList[$count]=$(($1))
fi
}
function generate_pinconfig()
{
local count=0
for ((j=0; 1; j++)); do
prefix=":HDAConfigDefault:$j"
codec_test=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" "$plist" 2>&1`
if [[ "$codec_test" == *"Does Not Exist"* ]]; then
break
fi
if [[ $codec_test -eq $codec ]]; then
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:LayoutID\"" $plist 2>&1`
if [[ "$layout" == *"Does Not Exist"* ]]; then
echo Error: LayoutID not present at index $j for codec $codec
continue
fi
verbs=`/usr/libexec/PlistBuddy -x -c "Print \"$prefix:ConfigData\"" "$plist" 2>&1`
verbs=$([[ "$verbs" =~ \<data\>(.*)\<\/data\> ]] && echo ${BASH_REMATCH[1]})
verbs=`echo $verbs | base64 --decode | xxd -p | tr '\n' ' '`
verbs=`echo -n "$verbs" | "$convert_sh" config`
if [[ "$verbs" != "" ]]; then
((count++))
fi
fi
done
if [[ $count -ne 0 ]]; then
printf " \"PinConfigDefault\", Package()\n" >>$out
printf " {\n" >>$out
printf " Package(){},\n" >>$out
for ((j=0; 1; j++)); do
prefix=":HDAConfigDefault:$j"
codec_test=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" "$plist" 2>&1`
if [[ "$codec_test" == *"Does Not Exist"* ]]; then
break
fi
if [[ $codec_test -eq $codec ]]; then
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:LayoutID\"" "$plist" 2>&1`
if [[ "$layout" == *"Does Not Exist"* ]]; then
echo Error: LayoutID not present at index $j for codec $codec
continue
fi
verbs=`/usr/libexec/PlistBuddy -x -c "Print \"$prefix:ConfigData\"" "$plist" 2>&1`
verbs=$([[ "$verbs" =~ \<data\>(.*)\<\/data\> ]] && echo ${BASH_REMATCH[1]})
verbs=`echo $verbs | base64 --decode | xxd -p | tr '\n' ' '`
verbs_t=`echo -n "$verbs" | "$convert_sh" config`
if [[ "$verbs_t" != "" ]]; then
printf " Package()\n" >>$out
printf " {\n" >>$out
printf " \"LayoutID\", %d,\n" $layout >>$out
printf " \"PinConfigs\", Package()\n" >>$out
printf " {\n" >>$out
printf " Package(){},\n" >>$out
echo -n "$verbs" | "$convert_sh" config | sed 's/^/ /' >>$out
printf " },\n" >>$out
printf " },\n" >>$out
fi
fi
done
printf " },\n" >>$out
fi
}
function generate_commands()
{
# "Custom Commands"
local count=0
for ((j=0; 1; j++)); do
prefix=":HDAConfigDefault:$j"
codec_test=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" "$plist" 2>&1`
if [[ "$codec_test" == *"Does Not Exist"* ]]; then
break
fi
if [[ $codec_test -eq $codec ]]; then
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:LayoutID\"" $plist 2>&1`
if [[ "$layout" == *"Does Not Exist"* ]]; then
echo Error: LayoutID not present at index $j for codec $codec
continue
fi
verbs=`/usr/libexec/PlistBuddy -x -c "Print \"$prefix:ConfigData\"" "$plist" 2>&1`
verbs=$([[ "$verbs" =~ \<data\>(.*)\<\/data\> ]] && echo ${BASH_REMATCH[1]})
verbs=`echo $verbs | base64 --decode | xxd -p | tr '\n' ' '`
verbs_t=`echo -n "$verbs" | "$convert_sh" other`
if [[ "$verbs_t" != "" ]]; then
((count++))
fi
fi
done
if [[ $count -ne 0 ]]; then
printf " \"Custom Commands\", Package()\n" >>$out
printf " {\n" >>$out
printf " Package(){},\n" >>$out
for ((j=0; 1; j++)); do
prefix=":HDAConfigDefault:$j"
codec_test=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" "$plist" 2>&1`
if [[ "$codec_test" == *"Does Not Exist"* ]]; then
break
fi
if [[ $codec_test -eq $codec ]]; then
layout=`/usr/libexec/PlistBuddy -c "Print \"$prefix:LayoutID\"" $plist 2>&1`
if [[ "$layout" == *"Does Not Exist"* ]]; then
echo Error: LayoutID not present at index $j for codec $codec
continue
fi
verbs=`/usr/libexec/PlistBuddy -x -c "Print \"$prefix:ConfigData\"" "$plist" 2>&1`
verbs=$([[ "$verbs" =~ \<data\>(.*)\<\/data\> ]] && echo ${BASH_REMATCH[1]})
verbs=`echo $verbs | base64 --decode | xxd -p | tr '\n' ' '`
verbs_t=`echo -n "$verbs" | "$convert_sh" other`
if [[ "$verbs_t" != "" ]]; then
printf " Package()\n" >>$out
printf " {\n" >>$out
printf " \"LayoutID\", %d,\n" $layout >>$out
printf " \"Command\", Buffer()\n" >>$out
printf " {\n" >>$out
echo -n "$verbs" | "$convert_sh" other | sed 's/^/ /' >>$out
printf " },\n" >>$out
printf " },\n" >>$out
fi
fi
done
printf " },\n" >>$out
fi
}
# find all codecs in ahhcd.plist
for ((i=0; 1; i++)); do
prefix=":HDAConfigDefault:$i"
codec=`/usr/libexec/PlistBuddy -c "Print \"$prefix:CodecID\"" "$plist" 2>&1`
if [[ "$codec" == *"Does Not Exist"* ]]; then
break
fi
add_codec "$codec"
done
#echo [dbg] codecs: ${g_codecList[*]}
echo Generating "$out"...
# generate SSDT header
cat >$out <<ssdt_starter_dsl
// generated from: $0 $1
DefinitionBlock ("", "SSDT", 2, "hack", "$1", 0)
{
External(_SB.PCI0.HDEF, DeviceObj)
Name(_SB.PCI0.HDEF.RMCF, Package()
{
"CodecCommander", Package()
{
"Disable", ">y",
},
"CodecCommanderPowerHook", Package()
{
"Disable", ">y",
},
"CodecCommanderProbeInit", Package()
{
"Version", 0x020600,
ssdt_starter_dsl
# for each codec/layout in ahhcd.plist, generate pinconfigs/verbs
count=${#g_codecList[@]}
for((i=0; i<$count; i++)); do
codec=${g_codecList[$i]}
printf "generating: \"%04x_%04x\"\n" $(($codec>>16)) $(($codec&0xFFFF))
printf " \"%04x_%04x\", Package()\n" $(($codec>>16)) $(($codec&0xFFFF)) >>$out
printf " {\n" >>$out
generate_pinconfig
generate_commands
printf " },\n" >>$out
done
# generate SSDT footer
printf " },\n" >>$out
printf " })\n" >>$out
printf "}\n" >>$out
printf "//EOF\n" >>$out
#EOF

View File

@ -0,0 +1,95 @@
#!/bin/bash
# Get right input amp
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x0
# Get left input amp
# 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x2000
# Get right output amp
# 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x8000
# Get left output amp
# 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0xa000
# Set both input amps
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 = 0x7003
function dump
{
echo -e "\t\tnid = $1 --> result `hda-verb $1 $2 $3 | tail -c 11`"
}
function dump_all
{
dump 0x02 $1 $2
dump 0x03 $1 $2
dump 0x04 $1 $2
dump 0x05 $1 $2
dump 0x06 $1 $2
dump 0x07 $1 $2
dump 0x08 $1 $2
dump 0x09 $1 $2
dump 0x0a $1 $2
dump 0x0b $1 $2
dump 0x0c $1 $2
dump 0x0d $1 $2
dump 0x0e $1 $2
dump 0x0f $1 $2
dump 0x10 $1 $2
dump 0x11 $1 $2
dump 0x12 $1 $2
dump 0x13 $1 $2
dump 0x14 $1 $2
dump 0x15 $1 $2
dump 0x16 $1 $2
dump 0x17 $1 $2
dump 0x18 $1 $2
dump 0x19 $1 $2
dump 0x1a $1 $2
dump 0x1b $1 $2
dump 0x1c $1 $2
dump 0x1d $1 $2
dump 0x1e $1 $2
dump 0x1f $1 $2
dump 0x20 $1 $2
dump 0x21 $1 $2
dump 0x22 $1 $2
dump 0x23 $1 $2
dump 0x24 $1 $2
}
echo -e "\tConnection Selector"
dump_all GET_CONNECT_SEL 0x0
echo -e "\tProcessing State"
dump_all GET_PROC_STATE 0x0
echo -e "\tPower State"
dump_all GET_POWER_STATE 0x0
echo -e "\tPin Widget Control"
dump_all GET_PIN_WIDGET_CONTROL 0x0
echo -e "\tPin Sense"
dump_all GET_PIN_SENSE 0x0
echo -e "\tEAPD"
dump_all GET_EAPD_BTLENABLE 0x0
echo -e "\tAmp Mute (Right Input)"
dump_all GET_AMP_GAIN_MUTE 0x0
echo -e "\tAmp Mute (Left Input)"
dump_all GET_AMP_GAIN_MUTE 0x2000
echo -e "\tAmp Mute (Right Output)"
dump_all GET_AMP_GAIN_MUTE 0x8000
echo -e "\tAmp Mute (Left Output)"
dump_all GET_AMP_GAIN_MUTE 0xa000
echo -e "\tVolume Knob Control"
dump_all GET_VOLUME_KNOB_CONTROL 0x0
echo -e "\tConfiguration Default"
dump_all GET_CONFIG_DEFAULT 0x0

View File

@ -0,0 +1,95 @@
#!/bin/bash
# Get right input amp
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x0
# Get left input amp
# 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x2000
# Get right output amp
# 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0x8000
# Get left output amp
# 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0xa000
# Set both input amps
# 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
# 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 = 0x7003
function dump
{
echo -e "\t\tnid = $1 --> result `hda-verb $1 $2 $3 | tail -c 11`"
}
function dump_all
{
dump 0x02 $1 $2
dump 0x03 $1 $2
dump 0x04 $1 $2
dump 0x05 $1 $2
dump 0x06 $1 $2
dump 0x07 $1 $2
dump 0x08 $1 $2
dump 0x09 $1 $2
dump 0x0a $1 $2
dump 0x0b $1 $2
dump 0x0c $1 $2
dump 0x0d $1 $2
dump 0x0e $1 $2
dump 0x0f $1 $2
dump 0x10 $1 $2
dump 0x11 $1 $2
dump 0x12 $1 $2
dump 0x13 $1 $2
dump 0x14 $1 $2
dump 0x15 $1 $2
dump 0x16 $1 $2
dump 0x17 $1 $2
dump 0x18 $1 $2
dump 0x19 $1 $2
dump 0x1a $1 $2
dump 0x1b $1 $2
dump 0x1c $1 $2
dump 0x1d $1 $2
dump 0x1e $1 $2
dump 0x1f $1 $2
dump 0x20 $1 $2
dump 0x21 $1 $2
dump 0x22 $1 $2
dump 0x23 $1 $2
dump 0x24 $1 $2
}
#echo -e "\tConnection Selector"
#dump_all GET_CONNECT_SEL 0x0
#echo -e "\tProcessing State"
#dump_all GET_PROC_STATE 0x0
#echo -e "\tPower State"
#dump_all GET_POWER_STATE 0x0
echo -e "\tPin Widget Control"
dump_all GET_PIN_WIDGET_CONTROL 0x0
#echo -e "\tPin Sense"
#dump_all GET_PIN_SENSE 0x0
#echo -e "\tEAPD"
#dump_all GET_EAPD_BTLENABLE 0x0
#echo -e "\tAmp Mute (Right Input)"
#dump_all GET_AMP_GAIN_MUTE 0x0
#echo -e "\tAmp Mute (Left Input)"
#dump_all GET_AMP_GAIN_MUTE 0x2000
#echo -e "\tAmp Mute (Right Output)"
#dump_all GET_AMP_GAIN_MUTE 0x8000
#echo -e "\tAmp Mute (Left Output)"
#dump_all GET_AMP_GAIN_MUTE 0xa000
#echo -e "\tVolume Knob Control"
#dump_all GET_VOLUME_KNOB_CONTROL 0x0
#echo -e "\tConfiguration Default"
#dump_all GET_CONFIG_DEFAULT 0x0

View File

@ -0,0 +1,40 @@
{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;\red14\green14\blue255;\red52\green52\blue52;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
\f0\fs24 \cf0 Created by Micky1979 and Mirone\
\pard\tx529\pardeftab529\pardirnatural\partightenfactor0
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
\cf0 Thanks to bcc9 for his patch.hda.pl script (ported to obj-c code by Micky1979).\
\
Copyright \'a9 2012-2016 B.C. {\field{\*\fldinst{HYPERLINK "mailto:bcc24x7@gmail.com"}}{\fldrslt
\f1\fs22 \cf2 \CocoaLigature0 bcc24x7@gmail.com}}
\f1\fs22 \cf2 \CocoaLigature0
\f0\fs24 \cf0 \CocoaLigature1 (bcc9 at insanelymac.com).\
\
Thanks to Pike R. Alpha for the "{\field{\*\fldinst{HYPERLINK "https://pikeralpha.wordpress.com/2013/12/17/new-style-of-applehda-kext-patching/"}}{\fldrslt \cf3 \expnd0\expndtw0\kerning0
New style of AppleHDA.kext\'a0patching}}".\
\
\pard\tx529\pardeftab529\pardirnatural\qc\partightenfactor0
\cf0 Thanks to Geoff Garside (\'a9 2008-2016) for the zlib implementation.\
\
Thanks to Andy Vandijck for {\field{\*\fldinst{HYPERLINK "http://www.insanelymac.com/forum/topic/285277-getcodecid-command-line-tool-to-detect-codec-id/page-1"}}{\fldrslt getcodecid}} (\'a9 2012-2016) AnV Software.\
\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
\cf0 Thanks to RehabMan, Dolnor (TimeWalker75 at Insanelymac), the-darkvoid for\
{\field{\*\fldinst{HYPERLINK "https://bitbucket.org/RehabMan/os-x-eapd-codec-commander"}}{\fldrslt eapd-codec-commander}} (Released under \'93{\field{\*\fldinst{HYPERLINK "https://www.gnu.org/licenses/gpl-2.0.html"}}{\fldrslt The GNU General Public License (GPL-2.0)}}\'94)\
\
Thanks to RehabMan for the {\field{\*\fldinst{HYPERLINK "https://github.com/RehabMan/Laptop-DSDT-Patch"}}{\fldrslt DSDT Patches}} (Released under \'93{\field{\*\fldinst{HYPERLINK "https://www.gnu.org/licenses/gpl-2.0.html"}}{\fldrslt The GNU General Public License (GPL-2.0)}}\'94)\
\
Thanks to RehabMan for its fork of {\field{\*\fldinst{HYPERLINK "https://github.com/RehabMan/Intel-iasl"}}{\fldrslt iasl 6.1}} (\'a9 2000-2015 Intel Corp. Released under \'93{\field{\*\fldinst{HYPERLINK "https://www.gnu.org/licenses/gpl-2.0.html"}}{\fldrslt The GNU General Public License (GPL-2.0)}}\'94)\
\pard\tx529\pardeftab529\pardirnatural\qc\partightenfactor0
\cf0 \
Thanks To Kabyl and Taruga for HDAEnabler.kext\
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
\cf0 AppleHDA Patcher Copyright \'a9 2015-2016 {\field{\*\fldinst{HYPERLINK "http://www.insanelymac.com/forum/user/674334-micky1979/"}}{\fldrslt Micky1979}} and {\field{\*\fldinst{HYPERLINK "http://www.insanelymac.com/forum/user/702532-mirone/"}}{\fldrslt Mirone}} .\
\
}

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>HDAEnabler</string>
<key>CFBundleGetInfoString</key>
<string>1.0.0d1, Copyright © 2008 by Kabyl</string>
<key>CFBundleIdentifier</key>
<string>com.kext.HDAEnabler</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>HDAEnabler</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0d1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.0d1</string>
<key>IOKitPersonalities</key>
<dict>
<key>HDAEnabler</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.kext.HDAEnabler</string>
<key>HDAProperties</key>
<dict>
<key>PinConfigurations</key>
<data></data>
<key>built-in</key>
<data>AA==</data>
<key>hda-gfx</key>
<string>&lt;onboard-1&gt;</string>
<key>layout-id</key>
<data>AwAAAA==</data>
</dict>
<key>IOClass</key>
<string>HDAEnabler</string>
<key>IOPCIClassMatch</key>
<string>0x04010000&amp;0xFFFD0000</string>
<key>IOProbeScore</key>
<integer>600</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<key>OSBundleCompatibleVersion</key>
<string>1.0.0d1</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@ -0,0 +1,462 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/AppIcon.icns</key>
<data>
s9qiBNPy5kDKWsY6+2ixwDUbGdY=
</data>
<key>Resources/AudioPanel.png</key>
<data>
OpqmlbjufDa/ETTuiIP4p0fiK0U=
</data>
<key>Resources/Base.lproj/MainMenu.nib</key>
<data>
yNRQOMOYaBOuHoUwA/f5aTZYJCk=
</data>
<key>Resources/CodecCommander.kext/Contents/Info.plist</key>
<data>
vKee1tEi+l6LBh23l6d4sXdxNKE=
</data>
<key>Resources/CodecCommander.kext/Contents/MacOS/CodecCommander</key>
<data>
l6CEHKKgDSWdzaOpi3GBdU6eVOY=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/SSDT-ALC280.dsl</key>
<data>
sz4yf0R2VrrisBqQ2AEibshg/CI=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/SSDT-ALC668.dsl</key>
<data>
ruDJd67df0g0NM6T1GmmC1K4J5g=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/config_dump.sh</key>
<data>
YBdYsC0W28eSgt9fWUgJ+PNmYd0=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/convert.sh</key>
<data>
mSdl6r1XGSJH2WPK/e1t+Jrq8xA=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/eapd_dump.sh</key>
<data>
qVuV+V6TRSs6FOPLH4U+MV2i9tg=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/extract_hda.sh</key>
<data>
6UI8RypN89ql+3j1QZwkcPr/3P4=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/gen_ahhcd.sh</key>
<data>
uJxDInkIirifILOhi+kETLggulo=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/node_dump.sh</key>
<data>
+MTeIn4gqOE20otXm/yuXOpPZ9o=
</data>
<key>Resources/CodecCommander.kext/Contents/Resources/widget_dump.sh</key>
<data>
flc4t6y0zopZWmuX+YYW8dt32do=
</data>
<key>Resources/Credits.rtf</key>
<data>
hn4o1ZDT8siUjxid5+yoWN0SDbw=
</data>
<key>Resources/HDAEnabler.kext/Contents/Info.plist</key>
<data>
4X+rbbjzM4dmvJnRkroqaBzYFqo=
</data>
<key>Resources/HDAEnabler.kext/Contents/MacOS/HDAEnabler</key>
<data>
tEGeOLI4rK/AvnZCm/oTHkmWYbs=
</data>
<key>Resources/Mirone.plist</key>
<data>
XdbtW108zcnhWMaHaJJxsEnBVT8=
</data>
<key>Resources/README.pdf</key>
<data>
XuMjvdX+5EIfnz7k+6kDnXEBveo=
</data>
<key>Resources/avatar.png</key>
<data>
oLverdevUgPk0LJwkyd4a2KyATo=
</data>
<key>Resources/hda-verb</key>
<data>
GIZY5KHhimke2IWR9pSMUqu1sVk=
</data>
<key>Resources/insanelyMac-White.png</key>
<data>
8VjAI3/5pzay0f8N1naGPRjQFXQ=
</data>
<key>Resources/j.png</key>
<data>
SkeEluqE1pULKpzibP3ZPy2TYlk=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/AppIcon.icns</key>
<dict>
<key>hash</key>
<data>
s9qiBNPy5kDKWsY6+2ixwDUbGdY=
</data>
<key>hash2</key>
<data>
hHX4E0keMTUZkXTMv8cTfjwqoHzuxdVx+PSUixkjlow=
</data>
</dict>
<key>Resources/AudioPanel.png</key>
<dict>
<key>hash</key>
<data>
OpqmlbjufDa/ETTuiIP4p0fiK0U=
</data>
<key>hash2</key>
<data>
b6zqv3aAOiX9J88C3uEqfFYz0QI0TgrOssebifyHKDE=
</data>
</dict>
<key>Resources/Base.lproj/MainMenu.nib</key>
<dict>
<key>hash</key>
<data>
yNRQOMOYaBOuHoUwA/f5aTZYJCk=
</data>
<key>hash2</key>
<data>
h8tsDMeS37ZDNDwrCA7yTmbLIevsFC3KPsEFl13cenY=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Info.plist</key>
<dict>
<key>hash</key>
<data>
vKee1tEi+l6LBh23l6d4sXdxNKE=
</data>
<key>hash2</key>
<data>
hz6kk4unU2rt6sHhSXMlkwv65xblJwp73Y4gurq2lYs=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/MacOS/CodecCommander</key>
<dict>
<key>hash</key>
<data>
l6CEHKKgDSWdzaOpi3GBdU6eVOY=
</data>
<key>hash2</key>
<data>
EQKwieRKTzTvFHrKj126tKm2DePVZKTCEslonDIadqM=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/SSDT-ALC280.dsl</key>
<dict>
<key>hash</key>
<data>
sz4yf0R2VrrisBqQ2AEibshg/CI=
</data>
<key>hash2</key>
<data>
kqYeeC3S+huySwVqUHjWd6Y1XIVAFqv9R7t7xHb8BEM=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/SSDT-ALC668.dsl</key>
<dict>
<key>hash</key>
<data>
ruDJd67df0g0NM6T1GmmC1K4J5g=
</data>
<key>hash2</key>
<data>
MGfVvN+GJgWWl4Jm94vmZTeENTrFAw+r7DZSlZhX9Ss=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/config_dump.sh</key>
<dict>
<key>hash</key>
<data>
YBdYsC0W28eSgt9fWUgJ+PNmYd0=
</data>
<key>hash2</key>
<data>
94MALKhlAWRna2PUovo/ctzMxY1VqqD8qXzNEZyNhXQ=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/convert.sh</key>
<dict>
<key>hash</key>
<data>
mSdl6r1XGSJH2WPK/e1t+Jrq8xA=
</data>
<key>hash2</key>
<data>
m5XaTdf5odWJ58F74GHd0Rzo6NQVpRqTLVkp0UR8nEk=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/eapd_dump.sh</key>
<dict>
<key>hash</key>
<data>
qVuV+V6TRSs6FOPLH4U+MV2i9tg=
</data>
<key>hash2</key>
<data>
75bVmp24juJfI/20k35yZEZx0Q4AKhwesulc7w2e0Qc=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/extract_hda.sh</key>
<dict>
<key>hash</key>
<data>
6UI8RypN89ql+3j1QZwkcPr/3P4=
</data>
<key>hash2</key>
<data>
yE6g/k4URnBb5s9qotZFFgZPMIcdoL4YkSuXD4Ee65I=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/gen_ahhcd.sh</key>
<dict>
<key>hash</key>
<data>
uJxDInkIirifILOhi+kETLggulo=
</data>
<key>hash2</key>
<data>
F1Z7pdgCDf1cJn5Q5o7/vjdOfyJpKQtPcBvHe7swB1c=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/node_dump.sh</key>
<dict>
<key>hash</key>
<data>
+MTeIn4gqOE20otXm/yuXOpPZ9o=
</data>
<key>hash2</key>
<data>
vzqexJGlWHqnfMXsVeLMkEOMw8e00SKyHtZwQUECTrQ=
</data>
</dict>
<key>Resources/CodecCommander.kext/Contents/Resources/widget_dump.sh</key>
<dict>
<key>hash</key>
<data>
flc4t6y0zopZWmuX+YYW8dt32do=
</data>
<key>hash2</key>
<data>
qFAGbkME9bxz9ZjYx0M92aC3QKnfXFVRn21rVS9+t5Y=
</data>
</dict>
<key>Resources/Credits.rtf</key>
<dict>
<key>hash</key>
<data>
hn4o1ZDT8siUjxid5+yoWN0SDbw=
</data>
<key>hash2</key>
<data>
NBHKa5z00zjIblxOjkt5qIRaEiUgTCicavKqAv+iC0I=
</data>
</dict>
<key>Resources/HDAEnabler.kext/Contents/Info.plist</key>
<dict>
<key>hash</key>
<data>
4X+rbbjzM4dmvJnRkroqaBzYFqo=
</data>
<key>hash2</key>
<data>
8pUCuIPiW4g3VIXvxzMUm9TTj/b/byJeHaGjKtUQfb8=
</data>
</dict>
<key>Resources/HDAEnabler.kext/Contents/MacOS/HDAEnabler</key>
<dict>
<key>hash</key>
<data>
tEGeOLI4rK/AvnZCm/oTHkmWYbs=
</data>
<key>hash2</key>
<data>
kZgnBFNrKJDdGv8xOBdNB6Gp7fGGEl+kG3cOVZBe43M=
</data>
</dict>
<key>Resources/Mirone.plist</key>
<dict>
<key>hash</key>
<data>
XdbtW108zcnhWMaHaJJxsEnBVT8=
</data>
<key>hash2</key>
<data>
DsnDTYY6GuGY9wAWXBDSqt/QNIkCeUaODF17rA5KL4Q=
</data>
</dict>
<key>Resources/README.pdf</key>
<dict>
<key>hash</key>
<data>
XuMjvdX+5EIfnz7k+6kDnXEBveo=
</data>
<key>hash2</key>
<data>
dn2JPhq5wUP+JjIp3VkSRO5ZCevHKgMdmtqcUm2xZ6Q=
</data>
</dict>
<key>Resources/avatar.png</key>
<dict>
<key>hash</key>
<data>
oLverdevUgPk0LJwkyd4a2KyATo=
</data>
<key>hash2</key>
<data>
YREBOvY933VDJJ04sSOWBM23nRhzKqKjVhdc067bIEw=
</data>
</dict>
<key>Resources/hda-verb</key>
<dict>
<key>hash</key>
<data>
GIZY5KHhimke2IWR9pSMUqu1sVk=
</data>
<key>hash2</key>
<data>
ZuRWMn9a8RL94Ay+WeN7jX96JJO3bYJ/gMTDGVHoHUo=
</data>
</dict>
<key>Resources/insanelyMac-White.png</key>
<dict>
<key>hash</key>
<data>
8VjAI3/5pzay0f8N1naGPRjQFXQ=
</data>
<key>hash2</key>
<data>
p3cmSAmm+Z0buidHIG/SW6W/S3vJqnZhbedzlXJpobY=
</data>
</dict>
<key>Resources/j.png</key>
<dict>
<key>hash</key>
<data>
SkeEluqE1pULKpzibP3ZPy2TYlk=
</data>
<key>hash2</key>
<data>
i760ZpRiNIuPGLrmHg5PriSb3ClIavctY2zFqa0YW+A=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

Binary file not shown.

BIN
EFI/CLOVER/ACPI/origin/APIC-p.aml Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,13 +3,13 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>15C50</string>
<string>15G1108</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>ACPIBatteryManager</string>
<key>CFBundleGetInfoString</key>
<string>1.60.5, Copyright 2011 Apple Inc., RehabMan 2012</string>
<string>1.70.2, Copyright 2011 Apple Inc., RehabMan 2012</string>
<key>CFBundleIdentifier</key>
<string>org.rehabman.driver.AppleSmartBatteryManager</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.60.5</string>
<string>1.70.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -27,11 +27,11 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.60.5</string>
<string>1.70.2</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<string>8B62</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
@ -39,9 +39,9 @@
<key>DTSDKName</key>
<string>macosx10.8</string>
<key>DTXcode</key>
<string>0720</string>
<string>0810</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
<string>8B62</string>
<key>IOKitPersonalities</key>
<dict>
<key>ACPI AC Adapter</key>
@ -72,7 +72,7 @@
<key>EstimateCycleCountDivisor</key>
<integer>6</integer>
<key>StartupDelay</key>
<integer>50</integer>
<integer>0</integer>
<key>UseDesignVoltageForCurrentCapacity</key>
<true/>
<key>UseDesignVoltageForDesignCapacity</key>

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>14F27</string>
<string>14F2009</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>4.5</string>
<string>4.6.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>4.5</string>
<string>4.6.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -29,9 +29,9 @@
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>11E52</string>
<string>12D75</string>
<key>DTSDKName</key>
<string>macosx10.7</string>
<string>macosx10.8</string>
<key>DTXcode</key>
<string>0611</string>
<key>DTXcodeBuild</key>
@ -865,17 +865,29 @@
<dict>
<key>Buttons</key>
<dict>
<key>2FingersClickAction</key>
<integer>2</integer>
<key>ClickpadVirtualButtons</key>
<true/>
<key>ClickpadVirtualButtonsArea</key>
<integer>22</integer>
<key>DisablePhysicalClicks</key>
<false/>
<key>EnablePointingOnVirtualButtonArea</key>
<false/>
<key>VirtualMiddleButton</key>
<true/>
</dict>
<key>Dragging</key>
<dict>
<key>DragFingerIDToUseForData</key>
<integer>1</integer>
<key>DragFingersNum</key>
<integer>7</integer>
<key>DragLock</key>
<false/>
<key>Enable</key>
<true/>
<key>FLiftDragReleaseTimeOut</key>
<integer>300</integer>
<key>FingerPressDrag</key>
@ -897,13 +909,11 @@
<key>SynapticsClickPad</key>
<integer>55</integer>
</dict>
<key>FingerPressDragTimeOut</key>
<integer>1200</integer>
<key>FingerPressDragStartTimeOut</key>
<integer>1000</integer>
</dict>
<key>FingersPress</key>
<dict>
<key>2FingersClickAction</key>
<integer>2</integer>
<key>2FingersPressAction</key>
<integer>18</integer>
<key>3FingersPressAction</key>
@ -925,6 +935,8 @@
<false/>
<key>EnableAsusKBacklightSupport</key>
<false/>
<key>IgnoreAccidentalTouchpadInput</key>
<true/>
<key>TapEnablesTPadFromAccInput</key>
<false/>
<key>TimeOutEnablesTPadAfterAccInput</key>
@ -949,12 +961,78 @@
<integer>3</integer>
<key>CircularRotate</key>
<true/>
<key>DisableTPadOnLIDClose</key>
<true/>
<key>MaxTouchEndDelta</key>
<dict>
<key>ELANv2</key>
<integer>10</integer>
<key>ELANv3</key>
<integer>10</integer>
<key>ELANv4</key>
<integer>10</integer>
<key>ELANv4ClickPad</key>
<integer>10</integer>
<key>FocalTech</key>
<integer>10</integer>
<key>Synaptics</key>
<integer>25</integer>
<key>SynapticsClickPad</key>
<integer>15</integer>
</dict>
<key>MaxTouchEndPressure</key>
<dict>
<key>ELANv2</key>
<integer>5</integer>
<key>ELANv3</key>
<integer>5</integer>
<key>ELANv4</key>
<integer>5</integer>
<key>ELANv4ClickPad</key>
<integer>5</integer>
<key>FocalTech</key>
<integer>5</integer>
<key>Synaptics</key>
<integer>30</integer>
<key>SynapticsClickPad</key>
<integer>15</integer>
</dict>
<key>PalmCheckMinPressure</key>
<integer>200</integer>
<dict>
<key>ELANv2</key>
<integer>180</integer>
<key>ELANv3</key>
<integer>200</integer>
<key>ELANv4</key>
<integer>200</integer>
<key>ELANv4ClickPad</key>
<integer>200</integer>
<key>FocalTech</key>
<integer>200</integer>
<key>Synaptics</key>
<integer>150</integer>
<key>SynapticsClickPad</key>
<integer>150</integer>
</dict>
<key>PalmCheckMinWidth</key>
<integer>10</integer>
<dict>
<key>ELANv2</key>
<integer>10</integer>
<key>ELANv3</key>
<integer>10</integer>
<key>ELANv4</key>
<integer>10</integer>
<key>ELANv4ClickPad</key>
<integer>10</integer>
<key>FocalTech</key>
<integer>10</integer>
<key>Synaptics</key>
<integer>9</integer>
<key>SynapticsClickPad</key>
<integer>9</integer>
</dict>
<key>PalmDetection</key>
<false/>
<true/>
<key>PinchDeltaScale</key>
<integer>3</integer>
<key>PinchRotateMinSamples</key>
@ -967,8 +1045,14 @@
<true/>
<key>RotationDelta</key>
<integer>350</integer>
<key>RotationMaxCFDelta</key>
<key>RotationMaxCFingDelta</key>
<integer>85</integer>
<key>RotationMinCFingIdleTime</key>
<integer>500</integer>
<key>TPadStatusCheckPollRate</key>
<integer>1500</integer>
<key>UseSynapticsGenericBounds</key>
<true/>
</dict>
<key>Pointing</key>
<dict>
@ -978,12 +1062,27 @@
<true/>
<key>DisableTrackPointButton</key>
<false/>
<key>EnhancedAcceleration</key>
<true/>
<key>EnhancedAccelerationLevel</key>
<integer>3</integer>
<integer>1</integer>
<key>EnhancedAccelerationMinDelta</key>
<integer>15</integer>
<key>HIDTrackpadAccelLevel</key>
<integer>8</integer>
<key>PointerCustomAcceleration</key>
<integer>19</integer>
<dict>
<key>ELANv2</key>
<integer>16</integer>
<key>ELANv3</key>
<integer>16</integer>
<key>ELANv4</key>
<integer>12</integer>
<key>FocalTech</key>
<integer>12</integer>
<key>Synaptics</key>
<integer>16</integer>
</dict>
<key>PointerCustomAcceleration2</key>
<dict/>
<key>PointerResolution</key>
<dict>
<key>ELANv2</key>
@ -999,10 +1098,44 @@
<key>Synaptics</key>
<integer>2400</integer>
</dict>
<key>PointerSmoothLevel</key>
<integer>7</integer>
<key>PointerSmoothSamples</key>
<integer>3</integer>
<key>Sensitivity</key>
<integer>0</integer>
<dict>
<key>ELANv2</key>
<integer>0</integer>
<key>ELANv3</key>
<integer>0</integer>
<key>ELANv4</key>
<integer>0</integer>
<key>ELANv4ClickPad</key>
<integer>0</integer>
<key>FocalTech</key>
<integer>0</integer>
<key>Synaptics</key>
<integer>0</integer>
<key>SynapticsClickPad</key>
<integer>0</integer>
</dict>
<key>SlowMoveNoiseMaxDelta</key>
<dict>
<key>ELANv2</key>
<integer>0</integer>
<key>ELANv3</key>
<integer>0</integer>
<key>ELANv4</key>
<integer>0</integer>
<key>ELANv4ClickPad</key>
<integer>3</integer>
<key>FocalTech</key>
<integer>3</integer>
<key>Synaptics</key>
<integer>5</integer>
<key>SynapticsClickPad</key>
<integer>3</integer>
</dict>
<key>TouchpadEdges</key>
<dict>
<key>DisableBottomEdgeActiveArea</key>
@ -1019,23 +1152,67 @@
<dict>
<key>2FScroll</key>
<dict>
<key>2FContScrollMaxDelta</key>
<dict>
<key>ELANv2</key>
<integer>20</integer>
<key>ELANv3</key>
<integer>25</integer>
<key>ELANv4</key>
<integer>20</integer>
<key>ELANv4ClickPad</key>
<integer>15</integer>
<key>FocalTech</key>
<integer>15</integer>
<key>Synaptics</key>
<integer>30</integer>
<key>SynapticsClickPad</key>
<integer>15</integer>
</dict>
<key>2FHorizontalScroll</key>
<true/>
<key>2FScrollAccelMode</key>
<integer>0</integer>
<integer>3</integer>
<key>2FVerticalScroll</key>
<true/>
<key>Auto2FingScroll</key>
<false/>
<key>Continuous2FingScroll</key>
<true/>
<key>Inertial2FingScroll</key>
<true/>
<key>ScrollSmoothSamples</key>
<integer>3</integer>
<key>Sling2FingScroll</key>
<false/>
</dict>
<key>ChangeScrollFlowlDirection</key>
<false/>
<key>EdgeScroll</key>
<dict>
<key>AutoEdgeScroll</key>
<false/>
<key>ContinuousEdgeScroll</key>
<false/>
<true/>
<key>EContScrollMaxDelta</key>
<dict>
<key>ELANv2</key>
<integer>10</integer>
<key>ELANv3</key>
<integer>10</integer>
<key>ELANv4</key>
<integer>10</integer>
<key>ELANv4ClickPad</key>
<integer>10</integer>
<key>FocalTech</key>
<integer>10</integer>
<key>Synaptics</key>
<integer>15</integer>
<key>SynapticsClickPad</key>
<integer>10</integer>
</dict>
<key>EScrolSpeedFactor</key>
<integer>100</integer>
<key>EdgeCircularScroll</key>
<false/>
<key>EdgeCircularScrollDelta</key>
@ -1049,53 +1226,70 @@
<key>EdgeScrolling</key>
<true/>
<key>EdgeVScrollAdaptArea</key>
<integer>3</integer>
<integer>4</integer>
<key>EdgeVScrollArea</key>
<integer>7</integer>
<integer>8</integer>
<key>InertialEdgeScroll</key>
<true/>
<key>SlingEdgeScroll</key>
<false/>
</dict>
<key>InertialScrollLevel</key>
<integer>2</integer>
<key>InertialScrollDelay</key>
<integer>8</integer>
<key>InertialScrollDepth</key>
<integer>3</integer>
<key>NoInertiaForHScroll</key>
<true/>
<key>ScrollAccelDelay</key>
<integer>3</integer>
<key>ScrollDirectionSamples</key>
<dict>
<key>ELANv2</key>
<integer>3</integer>
<key>ELANv3</key>
<integer>5</integer>
<key>ELANv4</key>
<integer>5</integer>
<key>ELANv4ClickPad</key>
<integer>5</integer>
<key>FocalTech</key>
<integer>5</integer>
<key>Synaptics</key>
<integer>5</integer>
<key>SynapticsClickPad</key>
<integer>5</integer>
</dict>
<key>ScrollLevelAtBoot</key>
<integer>0</integer>
<key>ScrollLevelFactor</key>
<integer>1</integer>
<key>ScrollLevelGranularity</key>
<integer>70</integer>
<integer>40</integer>
<key>ScrollMaxIdleDetectTimeout</key>
<integer>500</integer>
<key>ScrollMaxIdleStateDelta</key>
<integer>10</integer>
<key>ScrollSmoothSamples</key>
<integer>3</integer>
<key>ScrollResolution</key>
<dict>
<key>ELANv2</key>
<integer>200</integer>
<key>ELANv3</key>
<integer>300</integer>
<key>ELANv4</key>
<integer>400</integer>
<key>FocalTech</key>
<integer>400</integer>
<key>MouseMode</key>
<integer>200</integer>
<key>Synaptics</key>
<integer>400</integer>
</dict>
<key>ScrollStopDetectSamples</key>
<integer>3</integer>
<key>SlingScrollStartTimeOut</key>
<integer>800</integer>
<key>SlingTriggerArea</key>
<integer>15</integer>
<key>SlowScrollFilterMaxDelta</key>
<dict>
<key>ELANv2</key>
<integer>20</integer>
<key>ELANv3</key>
<integer>25</integer>
<key>ELANv4</key>
<integer>20</integer>
<key>ELANv4ClickPad</key>
<integer>15</integer>
<key>FocalTech</key>
<integer>15</integer>
<key>Synaptics</key>
<integer>20</integer>
<key>SynapticsClickPad</key>
<integer>15</integer>
</dict>
</dict>
<key>SleepInitDelay</key>
<integer>1500</integer>
@ -1124,27 +1318,27 @@
<key>EdgeSwipeBottom</key>
<integer>0</integer>
<key>EdgeSwipeDeltaX</key>
<integer>25</integer>
<integer>50</integer>
<key>EdgeSwipeDeltaY</key>
<integer>33</integer>
<key>EdgeSwipeDetectHArea</key>
<integer>7</integer>
<key>EdgeSwipeDetectVArea</key>
<integer>5</integer>
<integer>60</integer>
<key>EdgeSwipeFingers</key>
<integer>0</integer>
<integer>2</integer>
<key>EdgeSwipeLeft</key>
<integer>6</integer>
<key>EdgeSwipeRight</key>
<integer>17</integer>
<integer>14</integer>
<key>EdgeSwipeSenseHArea</key>
<integer>7</integer>
<key>EdgeSwipeSenseVArea</key>
<integer>5</integer>
<key>EdgeSwipeTop</key>
<integer>10</integer>
<key>EdgeSwipes</key>
<false/>
<true/>
<key>EdgeSwipes2Ways</key>
<false/>
<true/>
<key>EdgeSwipesResetPointer</key>
<false/>
<true/>
<key>MultiFingerSwipesDeltaX</key>
<integer>250</integer>
<key>MultiFingerSwipesDeltaY</key>
@ -1152,6 +1346,10 @@
</dict>
<key>Tapping</key>
<dict>
<key>12TapTimeOut</key>
<integer>180</integer>
<key>1FClickTimeOut</key>
<integer>140</integer>
<key>1FTapPressure</key>
<dict>
<key>ELANv2</key>
@ -1169,10 +1367,12 @@
<key>SynapticsClickPad</key>
<integer>40</integer>
</dict>
<key>1FingerTapAction</key>
<integer>35</integer>
<key>2FingersTapAction</key>
<integer>22</integer>
<integer>34</integer>
<key>3FingersTapAction</key>
<integer>21</integer>
<integer>33</integer>
<key>4FingersTapAction</key>
<integer>4</integer>
<key>5FingersTapAction</key>
@ -1185,14 +1385,16 @@
<true/>
<key>DisableBottomCornersTap</key>
<false/>
<key>Enable</key>
<true/>
<key>MulFingDoubleTaps</key>
<false/>
<true/>
<key>MulFingTapMaxDelta</key>
<integer>55</integer>
<key>MulFingTapTimeOut</key>
<integer>180</integer>
<integer>200</integer>
<key>TapMaxDelta</key>
<integer>95</integer>
<integer>100</integer>
<key>TrackpadTappingCorners</key>
<false/>
</dict>
@ -1204,21 +1406,21 @@
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © EMlyDinEsH (mg-dinesh@live.com) 2012-2015. All rights reserved.</string>
<string>Copyright © EMlyDinEsH (mg-dinesh@live.com) 2012-2016. All rights reserved.</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDSystem</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>9.0.0</string>
<string>8.0.0</string>
<key>org.emlydinesh.driver.ApplePS2Controller</key>
<string>4.5</string>
<string>4.6.8</string>
<key>org.emlydinesh.driver.ApplePS2Keyboard</key>
<string>4.5</string>
<string>4.6.8</string>
</dict>
<key>OSBundleRequired</key>
<string>Safe Boot</string>

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>14F27</string>
<string>14F2009</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>4.5</string>
<string>4.6.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>4.5</string>
<string>4.6.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -29,9 +29,9 @@
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>11E52</string>
<string>12D75</string>
<key>DTSDKName</key>
<string>macosx10.7</string>
<string>macosx10.8</string>
<key>DTXcode</key>
<string>0611</string>
<key>DTXcodeBuild</key>
@ -75,9 +75,9 @@
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © Apple Computer, Inc. 2000-2003. EMlyDinEsH (mg-dinesh@live.com) 2012-2015.</string>
<string>Copyright © EMlyDinEsH (mg-dinesh@live.com) 2012-2016. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>4.5</string>
<string>4.6.8</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOACPIFamily</key>

View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>14F27</string>
<string>14F2009</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>4.5</string>
<string>4.6.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>4.5</string>
<string>4.6.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -29,9 +29,9 @@
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>11E52</string>
<string>12D75</string>
<key>DTSDKName</key>
<string>macosx10.7</string>
<string>macosx10.8</string>
<key>DTXcode</key>
<string>0611</string>
<key>DTXcodeBuild</key>
@ -153,6 +153,8 @@
<false/>
<key>Enable Extended Functions</key>
<true/>
<key>Enable Sierra Caps Lock Fix</key>
<true/>
<key>FinerFnBrightnessControl</key>
<true/>
<key>FinerFnVolumeControl</key>
@ -187,9 +189,9 @@
</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © Apple Computer, Inc. 2000-2003. EMlyDinEsH (mg-dinesh@live.com) 2012-2015.</string>
<string>Copyright © EMlyDinEsH (mg-dinesh@live.com) 2012-2016. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>4.5</string>
<string>4.6.8</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOHIDSystem</key>
@ -203,7 +205,7 @@
<key>com.apple.kpi.unsupported</key>
<string>8.0.0</string>
<key>org.emlydinesh.driver.ApplePS2Controller</key>
<string>4.5</string>
<string>4.6.8</string>
</dict>
<key>OSBundleRequired</key>
<string>Console</string>

View File

@ -161,7 +161,7 @@ On typical TouchPads, the L/U bit is identical to the Left button bit, and the R
\f1\i \expnd0\expndtw0\kerning0
capFourButtons
\f2\i0 \expnd0\expndtw0\kerning0
capability bit set (see section 4.5 for information on this bit) and
capability bit set (see section 4.6 for information on this bit) and
\f1\i \expnd0\expndtw0\kerning0
Wmode
\f2\i0 \expnd0\expndtw0\kerning0

Some files were not shown because too many files have changed in this diff Show More