纯粹记录,按以下步骤进行
开机到Clover引导界面,按F4保存原始DSDT文件
拷贝EFI-Clover-ACPI-Origin目录出来
进入macOS,参考教程使用iasl执行以下命令对Origin内的DSDT.aml文件进行转换,得到DSDT.dsl文件
./iasl -da -dl DSDT.aml
使用MaciASL(赠送上述使用的iasl程序)打开DSDT.dsl文件,点击编译会发现很多error
主要修改以下地方,代码位置可参考MaciASL提示错误位置或者搜索查找
修复一:删除这两段(因为站长不知道怎么修复,/偷笑)
OperationRegion (\SCRP, SystemIO, 0x1280, 0x04) Field (SCRP, ByteAcc, NoLock, Preserve) { CR00, 8, CR01, 8, CR02, 8, CR03, 8 }
Name (_PLD, Buffer (0x10) // _PLD: Physical Location of Device { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x20, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
修复二:留意最后一行,主要是大写
原始
Device (SCM0) { Name (_HID, "pnp0c14") // _HID: Hardware ID
修改
Device (SCM0) { Name (_HID, "PNP0C14") // _HID: Hardware ID
修复三:注意,这里需要修改的有两坨一样的代码,以下只演示一坨,留意最后两行的数字
原始
IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length )
修改
IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length )
修复四:可选步骤,如果用得上的话(看不懂请忽略),站长已经使用ACPIDebug测试得出NEC这台设备的亮度调节快捷键代码为亮度减QB7和亮度加QB7,使用Patch打入以下补丁
into method label _QB7 replace_content begin // Brightness Down\n Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n end; into method label _QB8 replace_content begin // Brightness Up\n Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n end;
再试下编译,发现已经没有error了,还有很多警告的内容可以忽略不用管
最后再另存文件格式为“ACPI Machine Language Binary”可以保存修复好的DSDT.aml文件使用