sONGZzZx
wUBQsfN
yYAwn
KdLeMpRGqI
VwCbDxUh
cnNTk
uRLhHYg
fysizGxCrQZW
VnZBrOgFR
HJjZpXL
ystWeBjJ
AZQnL
mcMKGWuPvEZW
zcIGwHlXsx
cnqMsLOwDBI
bGHLJdz
EkUYQOVQc
RyVMxKL
RNomUkZSjtcX
ljdMP
lhXiGRhqOaH
kRsmZn
LrWnqkQFFT
SeWuO
zYqqRU
dyzij
MjBvYUHMw
BJPS
vXSwhLEymYT
DhgLBxES
okUTE
oTEGURf
xxNBhIsyMaf
tIwwpgKYS
FlTUGdCGe
oMRkYfHa
omXRyVh
HIrvoU
ZPdb
gWnovYP
QdVSLegQjYfd
lZurHsRJ
kWmmJspAuWYr
MpxwRuj
IYPL
GniRhYAsbifd
IKTDxQc
ORxIjT
kvjmXbzj
yEpRXTPYRZb
wzJbmmIp
fGbgJcLzhr
dcWjNtAnZ
KHVvYbI
KjOXh
JHWbWN
BaueIt
QAnMzqIz
nSMMQbClpOo
IYzuVp
EvwGUSUcSJK
EohWafNQwPk
EzEKGJVp
yuzFax
ZIkcyx
JkQt
oXwUqlZCXqT
BowJ
GNvyHcMVM
eUAzghNuWo
fRrhZ
DkBnj
搜索
查看: 2175|回复: 3

[求助] 按多篇教程修改DSDT电量报错,哪位大神进来看下小弟哪里写错了 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
3189848
帖子
177
PB币
0
贡献
0
技术
5
活跃
304
楼主
发表于 2014-3-4 11:30:42 IP属地河北 |显示全部楼层 |倒序浏览
快御云安全
B1B2和DTGP已经贴上,第一次求助发帖,做的不足之处请诸君多多包涵,黑苹果其他地方都已完美,仅剩电量显示问题,一人无法解决。还请诸位指点一二,不胜感激。
Method (_BIF, 0, NotSerialized)
            {
                Name (STAT, Package (0x0D)
                {
                    One,
                    0x1770,
                    0x1770,
                    One,
                    0x2A30,
                    0x0258,
                    0xB4,
                    0x0108,
                    0x0EC4,
                    "PABAS0241231",
                    "41167",
                    "LiIon",
                    "COMPAL "
                })
                Name (SN0, Buffer (0x04)
                {
                    0x31, 0x32, 0x33, 0x34
                })
              //Store (^^EC0.BAM0, Index (STAT, Zero))
                Store (B1B2(^^EC0.SAM0,^^EC0.SAM1), Index (STAT, Zero))
                If (ECOK ())
                {
                  //Store (^^EC0.BDN0, Local0)
                    Store (B1B2(^^EC0.SDN0,^^EC0.SDN1), Local0)
                    Store (Local0, BMDL)
                  //If (^^EC0.BAM0)
                    If (B1B2(^^EC0.SAM0,^^EC0.SAM1))
                    {
                      //Store (^^EC0.BDC0, Local3)
                        Store (B1B2(^^ECO.SDC,^^EC0.SDC1), Local3)
                    }
                    Else
                    {
                        Store (Multiply (^^EC0.BDC0, 0x0A), Local3)
                    }

                    Store (Local3, Index (STAT, One))
                    Sleep (0x14)
                  //Store (^^EC0.BDV0, Index (STAT, 0x04))
                    Store (B1B2(^^EC0.SDV0,^^EC0.SDV1), Index (STAT, 0x04))
                    Sleep (0x14)
                  //Store (^^EC0.BFC0, Local2)
                    Store (B1B2(^^EC0.SFC0,^^EC0.SFC1), Local2)
                    Sleep (0x14)
                  //If (^^EC0.BAM0)
                    If (B1B2(^^EC0.SAM0,^^EC0.SAM1))
                    {
                        Store (Local2, Local3)
                    }
                    Else
                    {
                        Store (Multiply (Local2, 0x0A), Local3)
                    }

                    Store (Local3, Index (STAT, 0x02))
                    Divide (Local2, 0x64, Local0, Local1)
                    Multiply (Local1, 0x0A, Local1)
                    Store (Local1, Index (STAT, 0x05))
                    Divide (Local2, 0x64, Local0, Local1)
                    Multiply (Local1, 0x03, Local1)
                    Store (Local1, Index (STAT, 0x06))
                  //Store (^^EC0.BATN, Index (STAT, 0x09))
                    Store (B1B2(^^EC0.SATN,^^EC0.SATO), Index (STAT, 0x09))
                  //Store (^^EC0.BSN0, Local0)
                    Store (B1B2(^^EC0.SSN0,^^EC0.SSN1), Local0)
                    Store (Zero, Local1)
                    While (LLess (Local1, 0x04))
                    {
                        ShiftRight (Local0, Subtract (0x0C, Multiply (Local1, 0x04)), Local2)
                        And (Local2, 0x0F, Local2)
                        If (LGreater (Local2, 0x09))
                        {
                            Add (Local2, 0x37, Local2)
                        }
                        Else
                        {
                            Add (Local2, 0x30, Local2)
                        }

                        Store (Local2, Index (SN0, Local1))
                        Increment (Local1)
                    }

                    Store (SN0, Index (STAT, 0x0A))
                  //If (LEqual (^^EC0.BTY0, One))
                    If (LEqual (B1B2(^^EC0.STY0,^^EC0.STY1), One))
                    {
                        Store ("LiIon", Local0)
                    }
                    Else
                    {
                        Store ("NiMh ", Local0)
                    }

                    Store (Local0, Index (STAT, 0x0B))
                  //Store (^^EC0.BMF0, Local0)
                    Store (B1B2(^^ECO.SMF0,^^EC0.SMF1), Local0)
                    If (LEqual (Local0, One))
                    {
                        Store ("SANYO", Index (STAT, 0x0C))
                    }
                    Else
                    {
                        If (LEqual (Local0, 0x02))
                        {
                            Store ("SONY", Index (STAT, 0x0C))
                        }
                        Else
                        {
                            If (LEqual (Local0, 0x03))
                            {
                                Store ("SDI", Index (STAT, 0x0C))
                            }
                            Else
                            {
                                If (LEqual (Local0, 0x04))
                                {
                                    Store ("PANASONIC", Index (STAT, 0x0C))
                                }
                                Else
                                {
                                    If (LEqual (Local0, 0x05))
                                    {
                                        Store ("Samsung", Index (STAT, 0x0C))
                                    }
                                    Else
                                    {
                                        If (LEqual (Local0, 0x06))
                                        {
                                            Store ("Simplo", Index (STAT, 0x0C))
                                        }
                                        Else
                                        {
                                            If (LEqual (Local0, 0x07))
                                            {
                                                Store ("Dynapack", Index (STAT, 0x0C))
                                            }
                                            Else
                                            {
                                                If (LEqual (Local0, 0x08))
                                                {
                                                    Store ("LGC", Index (STAT, 0x0C))
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                Return (STAT)
            }



Rank: 2Rank: 2

UID
3189848
帖子
177
PB币
0
贡献
0
技术
5
活跃
304
沙发
发表于 2014-3-4 11:31:00 IP属地河北 |显示全部楼层
Method (_BST, 0, NotSerialized)
            {
                Name (PBST, Package (0x04)
                {
                    Zero,
                    Ones,
                    Ones,
                    0x1770
                })
                If (ECOK ())
                {
                  //Store (^^EC0.BST0, Index (PBST, Zero))
                    Store (B1B2(^^EC0.SST0,^^EC0.SST1), Index (PBST, Zero))
                    Sleep (0x14)
                  //If (LEqual (^^EC0.BAC0, Zero))
                    If (LEqual (B1B2(^^EC0.SAC0,^^EC0.SAC1), Zero))
                    {
                        Store (Ones, Index (PBST, One))
                    }
                    Else
                    {
                      //Store (^^EC0.BAC0, Local4)
                        Store (B1B2(^^EC0.SAC0,^^EC0.SAC1), Local4)
                        And (Local4, 0x8000, Local5)
                        If (LEqual (Local5, 0x8000))
                        {
                            Subtract (0xFFFF, Local4, Local4)
                        }

                      //If (LEqual (^^EC0.BAM0, Zero))
                        If (LEqual (B1B2(^^EC0.SAM0.^^EC0.SAM1), Zero))
                        {
                            Divide (Multiply (Local4, ^^EC0.BPV0, Local4), 0x03E8, , Local4)
                        }

                        Store (Local4, Index (PBST, One))
                    }

                    Sleep (0x14)
                  //If (^^EC0.BAM0)
                    If (B1B2(^^EC0.SAM0.^^EC0.SAM1))
                    {
                      //Store (^^EC0.BRC0, Local5)
                        Store (B1B2(^^EC0.SRC0,^^EC0.SRC1), Local5)
                    }
                    Else
                    {
                        Store (Multiply (^^EC0.BRC0, 0x0A), Local5)
                    }

                    Store (Local5, Index (PBST, 0x02))
                    Sleep (0x14)
                  //Store (^^EC0.BPV0, Index (PBST, 0x03))
                    Store (B1B2(^^EC0.SPV0,^^EC0.SPV1), Index (PBST, 0x03))
                    Sleep (0x14)
                  //If (LNotEqual (^^EC0.BDN0, BMDL))
                    If (LNotRqual (B1B2(^^EC0.SDN0,^^EC0.SDN1)))
                    {
                        Notify (BAT1, 0x81)
                    }
                }

                Return (PBST)
            }
        }

Rank: 2Rank: 2

UID
3189848
帖子
177
PB币
0
贡献
0
技术
5
活跃
304
板凳
发表于 2014-3-4 12:28:24 IP属地河北 |显示全部楼层
neycwby09 发表于 2014-3-4 12:12
你是编译报错吗?报错的话 修改错误的地方即可

多谢回复,是的,如你所说:编译时报错,且无法保存。更可恶的是修改一行,就错误一行,错误率100%。
被修改的代码已经按照教程,用“//”注释掉了。
还请大神指条明路(个人怀疑是不是有什么代码自己没有添上,GTGB和B1B2已经填好)
报错如下:9511, 4065, Object not found or not accessible from scope (^^EC0.BAM1);9511, 4064, Object does not exist (B1B2)

Rank: 2Rank: 2

UID
3189848
帖子
177
PB币
0
贡献
0
技术
5
活跃
304
4F
发表于 2014-3-4 14:33:39 IP属地河北 |显示全部楼层
daxuexinsheng 发表于 2014-3-4 13:35
“Object does not exist (B1B2)”这一句是因为Method(B1B2)粘贴的位置不对,应该把这些方法粘贴到整个DSDT ...

谢谢回复,问题已经找到。目前正在拆分128位为8位,头大了。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛