#Maintained by: RehabMan for: Laptop Patches #battery_Razer-Blade-2014.txt # created by sidelia 2016-01-17 # changes for Razer Blade Stealth (Kaby Lake) by BlenderSleuth (minor fixes by RehabMan) # works for: # Razer Blade (2014) # Razer Blade Stealth (Kaby Lake), per BlenderSleuth # Razer Blade (14", late 2016) # Razer Blade Pro (2017) # Razer Blade 15 (2018), per JomanJi/blodtanner into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n end; into device label EC0 code_regex BIF1,\s+16, replace_matched begin IF10,8,IF11,8, end; into device label EC0 code_regex BIF2,\s+16, replace_matched begin IF20,8,IF21,8, end; into device label EC0 code_regex BIF3,\s+16, replace_matched begin IF30,8,IF31,8, end; into device label EC0 code_regex BIF4,\s+16, replace_matched begin IF40,8,IF41,8, end; into device label EC0 code_regex BST0,\s+16, replace_matched begin ST00,8,ST01,8, end; into device label EC0 code_regex BST1,\s+16, replace_matched begin ST10,8,ST11,8, end; into device label EC0 code_regex BST2,\s+16, replace_matched begin ST20,8,ST21,8, end; into device label EC0 code_regex BST3,\s+16, replace_matched begin ST30,8,ST31,8, end; into method label _BIF code_regex \^\^EC0\.BIF1, replaceall_matched begin B1B2(^^EC0.IF10,^^EC0.IF11), end; into method label _BIF code_regex \^\^EC0\.BIF2, replaceall_matched begin B1B2(^^EC0.IF20,^^EC0.IF21), end; into method label _BIF code_regex \^\^EC0\.BIF3, replaceall_matched begin B1B2(^^EC0.IF30,^^EC0.IF31), end; into method label _BIF code_regex \^\^EC0\.BIF4, replaceall_matched begin B1B2(^^EC0.IF40,^^EC0.IF41), end; into method label _BST code_regex \^\^EC0\.BST0, replaceall_matched begin B1B2(^^EC0.ST00,^^EC0.ST01), end; into method label _BST code_regex \^\^EC0\.BST1, replaceall_matched begin B1B2(^^EC0.ST10,^^EC0.ST11), end; into method label _BST code_regex \^\^EC0\.BST2, replaceall_matched begin B1B2(^^EC0.ST20,^^EC0.ST21), end; into method label _BST code_regex \^\^EC0\.BST3, replaceall_matched begin B1B2(^^EC0.ST30,^^EC0.ST31), end; # added for Razer Blade 15 (2018), per JomanJi into device label EC0 code_regex BIF0,\s+16, replace_matched begin IF00,8,IF01,8, end; into method label _BIF code_regex \(\^\^EC0.BIF0, replaceall_matched begin (B1B2(\^\^EC0.IF00,\^\^EC0.IF01), end; # utility methods to read/write buffers from/to EC into method label RE1B parent_label EC0 remove_entry; into method label RECB parent_label EC0 remove_entry; into device label EC0 insert begin Method (RE1B, 1, NotSerialized)\n {\n OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n Return(BYTE)\n }\n Method (RECB, 2, Serialized)\n // Arg0 - offset in bytes from zero-based EC\n // Arg1 - size of buffer in bits\n {\n ShiftRight(Add(Arg1,7), 3, Arg1)\n Name(TEMP, Buffer(Arg1) { })\n Add(Arg0, Arg1, Arg1)\n Store(0, Local0)\n While (LLess(Arg0, Arg1))\n {\n Store(RE1B(Arg0), Index(TEMP, Local0))\n Increment(Arg0)\n Increment(Local0)\n }\n Return(TEMP)\n }\n end; # buffer fields into device label EC0 code_regex (ECCM,)\s+(256) replace_matched begin ECCX,%2,//%1%2 end; into method label _BIF code_regex \(\^\^EC0.ECCM, replaceall_matched begin (^^EC0.RECB(0x60,256), end;