Skip to content

GZXiaoBai/Hackintosh-Battery-Hotpatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hackintosh-Battery-Hotpatch

Hotpatch for some computer‘s Battery

说明

这里面我会收集各种电池热补丁以方便大家取用! 其中有包括从网上收集来的,以及自己制作的补丁。

鸣谢

本人(神楽小白(GZ小白))QQ:3467365604,想做热补丁的可以找我

特别感谢Catch Bat对本仓库的支持,提供了补充的电池热补丁!

Catch Bat的QQ:2523322908

特别感谢以下大佬:

iStar丶Forever

宪武大大

Bat.Bat

热补丁需要更名,才能生效

这里面的更名我并没有逐个给出,因此需要大家自行更名。

更名方法如下 1、利用Hackintool计算Method名称对应的十六进制代码 2、打开maciASl,确认需要更名的Method的参数个数和是否可序列化

  • Method(xxxx,a,N) = xxxx的十六进制代码 + a的十六进制代码
  • Method(xxxx,b,S) = xxxx的十六进制代码 + (b+8)的十六进制代码
  • 示例:Method(MHPF,1,N) = 4D485046 01 , Method(BTST,2,S) = 42545354 0A
  • 将该方法更名为一个未被利用的名称,通常习惯以X替换第一个字母,只要不出现重复定义即可
  • 利用利用Hackintool计算XHPF的十六进制代码,最终config的更名应填
    • Comment change MHPF,1,N to XHPF

    • Find 42545354 0A

    • Replace 58545354 0A

      3、同时你的更名需要确保具有唯一性,不能有重复及相同的出现

_STA重命名特别注意!

由于_STA方法在ACPI里面不是唯一的,在对_STA更名时应特别注意(主要用于双电池系统的禁用和惠普的ACEL禁用),更名方法如下

CLOVER:使用TgtBridge来定位_STA的准确位置。

OC:使用skip count或者拉长并使用HEXFriend确定唯一性

检查Mutex是否置0

如果出现电量显示0%的情况,你需要检查Mutex,确保他们全部为0 在当前使用的DSDT文件里搜索Mutex,看出现的几个变量是否为0,目前所知道的绝大多数机器的ACPI Mutex都是默认置0的,但是对于一些联想机器,它们往往有几个Mutex初始值并不是0,这里我们利用ACPI二进制更名的方法实现置0

以Mutex (BATM, 0x07)为例,先转换BATM为十六进制代码,得到 42 41 54 4D

在前后加上完整定义的十六进制代码,01代表Mutex,07则代表默认值,最终得到 01 42 41 54 4D 07

我们的目的是使Mutex对象置0,所以config的更名应填

  • Comment Set Mutex BATM, 0x07 to 0x0
  • Find 01 42 41 54 4D 07
  • Repalce 01 42 41 54 4D 00

其它Mutex对象按照同样的方法处理即可

About

Hotpatch for some computer‘s Battery

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published