This repository has been archived by the owner on Nov 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
Count Skip
Justin edited this page Jul 22, 2019
·
1 revision
这个功能可以达到
Clover
的Tgtbridge
的效果, 甚至更好, 为什么呢? 这个例子里面Device PXSX有多个, Tgtbridge就无能为力.
比如我想要把(针对我的电脑)Wi-Fi所在的
RP12
的PXSX
改名为ARPT
以解决潜在的Wi-Fi问题
-
用MaciASL打开系统的DSDT
-
搜索PXSX, 总计 549个结果, Holy Shit! 但是别慌
-
我们找第一个PXSX,发现在RP01下面, 第二个也在RP01下面
-
继续往下搜, 我们发现每个RPxx包含2个PXSX, 那么到RP12里面就是第23和第24个PXSX
-
我的目的是把第23和第24个PXSX改名为ARPT, 这时候OpenCore的Skip和Count就能派上用场了
-
所以我需要Skip = 22, Count = 2, 什么意思呢? Skip (跳过) 前面22个搜索结果, 只对接下来的2个搜索结果做改名, 对于剩下来的几百个, 不予理睬
-
在写之前我们先把关键字的HEX准备好, 我们用TEXT to HEX 转换得到:
-
PXSX = 50 58 53 58 , ARPT = 41 52 50 54 , DSDT = 44 53 44 54
-
用PlistEdit Pro 或者 Xcode 打开 OpenCore 的 config.plist, 作如下填写
- 列表上其他的条目的意思(通常不需要使用):
- Limit, 这里填整数, 0 表示搜索整个表, 如果我为了提高效率, 可以做一些限制, 比如PXSX是4个bytes,为什么是4个, 因为每个英文字母是 1 byte, 这里有4个字母. 我上面的例子其实只需要搜索24个PXSX就够了, 那么就等于搜索96个bytes, 这里可以把limit设置为96
- Mask 以及 ReplaceMask 是针对模糊搜索的, 举个简单的例子, 我要搜索的可能是PXSX, 也可能是PYSX, 并且把他们都替换成ARPT, 那么Find填 50 00 53 58, Mask填 FF00FFFF, 00表示匹配任意, FF表示精确匹配.
- OemTableId 通常是针对SSDT的, MaciASL打开SSDT在最上面的注释里面可以看到这个SSDT的id, 比如
OEM Table ID "SaSsdt "
- TableLength也可以用上面的app看得到 比如
Length 0x000031C6 (12742)
- 列表上其他的条目的意思(通常不需要使用):