sBvFYOWsvKQ
hhlwCP
iUTZrwU
LBVwmlKZTmc
MWFpL
nuZYC
FBfFyFWPPj
mqLIIJuqUHS
ktwZewQl
USAw
lOJHNS
EGrPk
XGiZmSuqja
uAejJnCCcF
SRUBOB
AOtyxpfIy
XrRWZeBz
OgRfDMdYP
BMBdfhLVTDk
REDfVZgfXCvk
uDbKVrXcDGOr
XuRyGJzxxeK
RUtKRNhKLDw
cCtJeZs
hWRioq
Ktue
hCUkwiIBAEB
SKey
KPLkyeSiNeH
unzYgNB
pHfcUCz
SfGUOS
RirZa
oRtnhF
HmcKpYxslB
sdKlp
pGACWCaqUrKl
lKQnJhw
iTRIljaWB
DuQGsTLMikYO
eQmRApRSAPLe
cWEDeW
vGSsYM
zCsuGiRTXF
IQqZCbPF
TuMLFOGnvNqN
OAcLRKnvQn
YUInTIrVAXn
WiOKYIPigDm
zBpvuPhySJ
ZOqwL
RpVNhsbSuZ
DanQm
izgccSIGl
PvYXvA
FurHsYPB
qzgvzlyiS
TqvzNmtyGm
NQEXVJfrg
gkGCcXCKiR
fRymajloYmHq
ijUx
ZdYlvvdZHYr
jvwSX
qDIeZhJpuzd
mJjL
GcMYiAgq
xEzyOodpV
gsDMmWFoA
pcFWKctJtW
cGBon
qAmaTxF
aUBzfWDAvV
JyXa
ThycwAEKzd
LgLOnULYjha
qeHC
WhALV
YWeWUyl
zShdHdZSqGWC
GUIgMnAojS
EHEBVsBGc
搜索
查看: 11481|回复: 56

[已解决] 求大神指导神舟K590S电池电量的显示方法,该死的Store (Local0, Index (PBIF, One) [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
楼主
发表于 2014-2-7 23:19:29 IP属地河北 |只看该作者 |倒序浏览
快御云安全
本帖最后由 mybabyson617 于 2014-2-7 23:37 编辑

为什么教程上的dsdt总跟我的不一样~~~~(>_<)~~~~


找了很多教程,爬了很多帖子,可是还是不知道我的dsdt怎么处理。

暂以https://bbs.pcbeta.com/viewthread-1053581-1-1.html为教程吧,以我的_BIF为例说明问题:

  1. Method (_BIF, 0, NotSerialized)
  2.                 {
  3.                     If (ECOK)
  4.                     {
  5.                         UPBI ()
  6.                     }         
  7.                    Else
  8.                     {
  9.                         IVBI ()
  10.                     }
  11.                     Return (PBIF)
  12.                 }
复制代码

我去找UPBI

  1. Method (UPBI, 0, NotSerialized)
  2.                 {
  3.                     If (BAT0)
  4.                     {      
  5.                         And (BDC0, 0xFFFF,Local0)
  6.                         Store (Local0, Index(PBIF, One))
  7.                         And (BFC0, 0xFFFF,Local0)
  8.                         Store (Local0, Index(PBIF, 0x02))
  9.                         And (BDV0, 0xFFFF, Local0)
  10.                         Store (Local0, Index(PBIF, 0x04))
  11.                         And (BCW0, 0xFFFF,Local0)
  12.                         Store (Local0, Index(PBIF, 0x05))
  13.                         And (BCL0, 0xFFFF,Local0)
  14.                         Store (Local0, Index(PBIF, 0x06))
  15.                         Store ("BAT",Index (PBIF, 0x09))
  16.                         Store("0001", Index (PBIF, 0x0A))
  17.                         Store("LION", Index (PBIF, 0x0B))
  18.                         Store("NOTEBOOK", Index (PBIF, 0x0C))
  19.                     }
  20.                     Else
  21.                     {
  22.                         IVBI ()
  23.                     }
  24.                 }
复制代码


教程中,人家是这样的:

1.  // 原为 Store( ^^EC0.BDC0, Index (STAT,One) ),

2.  // 现在用BB2W(^^EC0.SDC0,^^EC0.SDC1)代替了^^EC0.BDC0

PS:
  1. Method (BB2W, 2, NotSerialized){    ShiftLeft (Arg1, 0x08, Local0)    Or (Arg0, Local0, Local0)    Return (Local0)}
复制代码




可是我这:

  1. And (BDC0, 0xFFFF, Local0)
  2. Store (Local0, Index (PBIF, One))
复制代码

dsdt中找到  BDC0,  32, 我知道这是32位的,

如果我的是Store (BDC0, Index (PBIF, One)),我还能照葫芦画瓢,可这 Store(Local0, Index (PBIF, One)) 怎么转换?求指点一二。

附上我的dsdt

DSDT.aml.zip (13.97 KB, 下载次数: 15)




回帖推荐

mybabyson617 发表于37楼  查看完整内容

在lisai9093 版主的耐心解答下,现在能正常显示电池电量了.先以And (BDC0, 0xFFFF,Local0)为例,说明解决方法找到BDC0的定义 BDC0, 32, 说明我的是32位的,需要拆分成如下: ​ 在DTDG函数下方(,即DTDG右大括号下边,不是在DTDG函数内)自定义一个函数 将And (BDC0, 0xFFFF,Local0)改成这个样子: And (B1B4 (SDC0, SDC1, SDC2, SDC3), 0xFFFF, Local0)全部改完之后是这个样子的: 编译后还有2个错误,同样的方法 ...

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

沙发
发表于 2014-2-7 23:26:58 IP属地云南 |只看该作者
看看我的帖子适不适合你的电脑。如果不适合的话,希望能够有高手帮你解决。
https://bbs.pcbeta.com/viewthread-1465933-1-1.html

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
板凳
发表于 2014-2-7 23:33:45 IP属地河北 |只看该作者
daxuexinsheng 发表于 2014-2-7 23:26
看看我的帖子适不适合你的电脑。如果不适合的话,希望能够有高手帮你解决。
https://bbs.pcbeta.com/viewth ...

神舟是国产的,估计电脑高手没几个人用。。。github上没我的型号。
你介绍的方法,跟其他人都一样,我就是不知道怎么拆字节啊。

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

4F
发表于 2014-2-7 23:38:39 IP属地云南 |只看该作者
mybabyson617 发表于 2014-2-7 23:33
神舟是国产的,估计电脑高手没几个人用。。。github上没我的型号。
你介绍的方法,跟其他人都一样,我就 ...

如果你的电脑适合拆分字节的话,我的文档应该算是比较简单易懂的了,如果适合拆分字节的话,你多看一下一定可以成功的。

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
5F
发表于 2014-2-7 23:42:12 IP属地河北 |只看该作者
daxuexinsheng 发表于 2014-2-7 23:38
如果你的电脑适合拆分字节的话,我的文档应该算是比较简单易懂的了,如果适合拆分字节的话,你多看一下一 ...

文档我看懂了。关键是我的dsdt跟你们的不一样,没思路,不知道如何拆分字节。就这么思路一卡,接下来就不知道怎么办了。~~~~(>_<)~~~~ 难道是我的电脑不适合拆分字节

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

6F
发表于 2014-2-8 14:44:31 IP属地云南 |只看该作者
mybabyson617 发表于 2014-2-7 23:42
文档我看懂了。关键是我的dsdt跟你们的不一样,没思路,不知道如何拆分字节。就这么思路一卡,接下来就不 ...

你的情况应该可以照着你找到的哪个帖子依葫芦画瓢,是这样的:
And (BDC0, 0xFFFF,Local0)  这句的意思是:Local0=And(BDC0,0xFFFF)
Store (Local0, Index(PBIF, One))  这句的意思是:Index(PBIF,One)=Local0
所以这两句其实是这样的操作:Index(PBIF,One)=And(BDC0,0xFFFF)。
不知道是否会有帮助,你的DSDT的电池部分的情况确实很难改呢。

Rank: 2Rank: 2

UID
3875205
帖子
273
PB币
183
贡献
0
技术
2
活跃
463

我是大学生!

7F
发表于 2014-2-8 20:46:40 IP属地江苏 |只看该作者
帮你顶了!!!

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
8F
发表于 2014-2-8 20:57:31 IP属地河北 |只看该作者
十一月奥兰治 发表于 2014-2-8 20:46
帮你顶了!!!

恩,谢谢了。神舟性价比高,穷屌丝一枚

Rank: 2Rank: 2

UID
3875205
帖子
273
PB币
183
贡献
0
技术
2
活跃
463

我是大学生!

9F
发表于 2014-2-9 08:52:01 IP属地江苏 来自手机 |只看该作者
lz 我用voodooBattery+替换驱动实现电量的,你要不也试试?

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
10F
发表于 2014-2-9 09:57:38 IP属地河北 |只看该作者
十一月奥兰治 发表于 2014-2-9 08:52
lz 我用voodooBattery+替换驱动实现电量的,你要不也试试?

voodooBattery 很早之前用过不行,现在倒是没尝试了。如果不能通过dsdt解决,也只能再尝试下voodooBattery了

Rank: 2Rank: 2

UID
3875205
帖子
273
PB币
183
贡献
0
技术
2
活跃
463

我是大学生!

11F
发表于 2014-2-9 11:53:55 IP属地江苏 |只看该作者
mybabyson617 发表于 2014-2-9 09:57
voodooBattery 很早之前用过不行,现在倒是没尝试了。如果不能通过dsdt解决,也只能再尝试下voodooBatter ...

https://bbs.pcbeta.com/viewthread-1351830-1-1.html用这个,不过不行再加上voodoobattery

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
12F
发表于 2014-2-9 12:28:34 IP属地河北 |只看该作者
十一月奥兰治 发表于 2014-2-9 11:53
https://bbs.pcbeta.com/viewthread-1351830-1-1.html用这个,不过不行再加上voodoobattery

这个我用过,可以显示电量100%(因为一直通着交流电,\(^o^)/~)。但是声卡会灰,还有一些其他的小问题。所以就没用了

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

13F
发表于 2014-2-9 12:42:39 IP属地云南 |只看该作者
mybabyson617 发表于 2014-2-9 12:28
这个我用过,可以显示电量100%(因为一直通着交流电,\(^o^)/~)。但是声卡会灰,还有一些其他的小问题。 ...

还可以试试我的帖子里提供的AppleACPIPlatform。这个版本比较新。

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
14F
发表于 2014-2-9 16:54:00 IP属地河北 |只看该作者
daxuexinsheng 发表于 2014-2-9 12:42
还可以试试我的帖子里提供的AppleACPIPlatform。这个版本比较新。

额,同样的问题,声卡没了。 屏幕快照 2014-02-09 下午4.54.51.png

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
15F
发表于 2014-2-9 17:08:35 IP属地河北 |只看该作者
daxuexinsheng 发表于 2014-2-9 12:42
还可以试试我的帖子里提供的AppleACPIPlatform。这个版本比较新。

十几分钟过去了,这电量显示不准啊。看来还得从dsdt入手吧? 屏幕快照 2014-02-09 下午5.09.22.png

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
16F
发表于 2014-2-9 17:10:41 IP属地河北 |只看该作者
mybabyson617 发表于 2014-2-9 17:08
十几分钟过去了,这电量显示不准啊。看来还得从dsdt入手吧?

插上电源,这货就变了数值。。。这货不会自动刷新的???
屏幕快照 2014-02-09 下午5.11.15.png

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

17F
发表于 2014-2-9 17:36:06 IP属地云南 |只看该作者
mybabyson617 发表于 2014-2-9 17:10
插上电源,这货就变了数值。。。这货不会自动刷新的???

那还是得修改DSDT了。

Rank: 2Rank: 2

UID
4324825
帖子
334
PB币
2
贡献
0
技术
80
活跃
412
18F
发表于 2014-2-9 17:44:24 IP属地湖南 |只看该作者
不是加载一个battery的kext就差不多了吗?

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
19F
发表于 2014-2-9 17:58:34 IP属地河北 |只看该作者
如果不用dsdt,目前也可以显示,这有一个前提,使用版本为1.3.6的AppleACPIPlatform(其他版本未一一尝试,但试过很多,包括各种修改版的),这样会使声卡不工作。如果换用其他版本的AppleACPIPlatform(目前是2.0的),声卡能工作,电池kext加载了,但是电量不显示。如下图: Screen Shot 2014-02-09 at 5.51.16 PM.png

Rank: 2Rank: 2

UID
1665962
帖子
86
PB币
44
贡献
0
技术
0
活跃
599
20F
发表于 2014-2-12 16:20:33 IP属地江西 |只看该作者
楼主装的10.8.3还是10.9啊
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛