diff --git a/Changelog.md b/Changelog.md
index 7104c98963..9c89c94197 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -2,6 +2,8 @@ AppleALC Changelog
==================
#### v1.8.5
- Added AD1884 layout-id 11 for Panasonic Toughbook CF-30 by Goldfish64
+- Added ALC897 layout-id 99 for HUANANZHI QD4 by vinitosh
+- Added ALC897 layout-id 99 for MSI PRO B760M-P by liangyi9812
#### v1.8.4
- Added ALC262 layout-id 14 for Dell Studio One 19 1909 by Goldfish64
diff --git a/Resources/ALC897/Info.plist b/Resources/ALC897/Info.plist
index f3f865b4f9..f5f73e1bd3 100644
--- a/Resources/ALC897/Info.plist
+++ b/Resources/ALC897/Info.plist
@@ -76,6 +76,14 @@
Path
layout77.xml.zlib
+
+ Comment
+ liangyi - ALC897 for MSI PRO B760M-P DDR4
+ Id
+ 98
+ Path
+ layout98.xml.zlib
+
Comment
Custom ALC897 by Marcos_Vinicios for HUANANZHI QD4
@@ -151,6 +159,14 @@
Path
Platforms77.xml.zlib
+
+ Comment
+ liangyi - ALC897 for MSI PRO B760M-P DDR4
+ Id
+ 98
+ Path
+ Platforms98.xml.zlib
+
Comment
Custom ALC897 by Marcos_Vinicios for HUANANZHI QD4
diff --git a/Resources/ALC897/Platforms98.xml b/Resources/ALC897/Platforms98.xml
new file mode 100644
index 0000000000..ef45c17f95
--- /dev/null
+++ b/Resources/ALC897/Platforms98.xml
@@ -0,0 +1,307 @@
+
+ CommonPeripheralDSP
+
+
+ DeviceID
+ 0
+ DeviceType
+ Headphone
+
+
+ DeviceID
+ 0
+ DeviceType
+ Microphone
+
+
+ PathMaps
+
+
+ PathMap
+
+
+
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 8
+
+
+ NodeID
+ 35
+
+
+ NodeID
+ 11
+
+
+ Boost
+ 3
+ NodeID
+ 24
+
+
+
+
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 8
+
+
+ NodeID
+ 35
+
+
+ NodeID
+ 11
+
+
+ NodeID
+ 26
+
+
+
+
+
+
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 9
+
+
+ NodeID
+ 34
+
+
+ Boost
+ 3
+ NodeID
+ 25
+
+
+
+
+
+
+
+
+ NodeID
+ 20
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 12
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 2
+
+
+
+
+
+
+ NodeID
+ 27
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 13
+
+
+ Amp
+
+ Channels
+
+
+ Bind
+ 1
+ Channel
+ 1
+
+
+ Bind
+ 2
+ Channel
+ 2
+
+
+ MuteInputAmp
+
+ PublishMute
+
+ PublishVolume
+
+ VolumeInputAmp
+
+
+ NodeID
+ 3
+
+
+
+
+
+ PathMapID
+ 98
+
+
+
diff --git a/Resources/ALC897/layout98.xml b/Resources/ALC897/layout98.xml
new file mode 100644
index 0000000000..a2e9646bee
--- /dev/null
+++ b/Resources/ALC897/layout98.xml
@@ -0,0 +1,717 @@
+
+ LayoutID
+ 98
+ PathMapRef
+
+
+ CodecID
+
+ 283904151
+
+ Headphone
+
+ Inputs
+
+ Mic
+ LineIn
+
+ IntSpeaker
+
+ LineIn
+
+ MuteGPIO
+ 1342242841
+
+ LineOut
+
+ Mic
+
+ MuteGPIO
+ 1342242840
+ SignalProcessing
+
+ SoftwareDSP
+
+ DspFunction0
+
+ FunctionInfo
+
+ DspFuncInstance
+ 0
+ DspFuncName
+ DspVolume
+ DspFuncProcessingIndex
+ 0
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1097229926
+ 3
+ 0
+ 4
+ 1097229926
+ 5
+ 0
+
+ PatchbayInfo
+
+
+ DspFunction1
+
+ FunctionInfo
+
+ DspFuncInstance
+ 1
+ DspFuncName
+ DspB2
+ DspFuncProcessingIndex
+ 1
+
+ ParameterInfo
+
+ 1
+ 1
+ 10
+ 0
+ 11
+ -1055916032
+ 12
+ 0
+ 2
+ 0
+ 3
+ 0
+ 7
+ 3
+ 8
+ 1
+ 9
+ 19
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction2
+
+ FunctionInfo
+
+ DspFuncInstance
+ 2
+ DspFuncName
+ DspEqualization32
+ DspFuncProcessingIndex
+ 2
+
+ ParameterInfo
+
+ 1
+ 0
+ 9
+ 0
+ Filter
+
+
+ 2
+ 0
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120490130
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 0
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1129536489
+ 7
+ 1075353461
+ 8
+ -1065420057
+
+
+ 2
+ 0
+ 3
+ 10
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1126830777
+ 7
+ 1069184978
+ 8
+ -1065954789
+
+
+ 2
+ 0
+ 3
+ 11
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1137255908
+ 7
+ 1079789189
+ 8
+ -1064796942
+
+
+ 2
+ 0
+ 3
+ 12
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1140803460
+ 7
+ 1076941152
+ 8
+ -1057320623
+
+
+ 2
+ 0
+ 3
+ 14
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1143767708
+ 7
+ 1072493937
+ 8
+ -1058655680
+
+
+ 2
+ 0
+ 3
+ 21
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1156982103
+ 7
+ 1081871785
+ 8
+ -1069580896
+
+
+ 2
+ 0
+ 3
+ 24
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1172717102
+ 7
+ 1075234682
+ 8
+ -1058655680
+
+
+ 2
+ 0
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184666737
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 1
+ 3
+ 0
+ 4
+ 0
+ 5
+ 1
+ 6
+ 1120490130
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+ 2
+ 1
+ 3
+ 3
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1129536489
+ 7
+ 1075353461
+ 8
+ -1065420057
+
+
+ 2
+ 1
+ 3
+ 10
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1126830777
+ 7
+ 1069184978
+ 8
+ -1065954789
+
+
+ 2
+ 1
+ 3
+ 11
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1137255908
+ 7
+ 1079789189
+ 8
+ -1064796942
+
+
+ 2
+ 1
+ 3
+ 12
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1140803460
+ 7
+ 1076941152
+ 8
+ -1057320623
+
+
+ 2
+ 1
+ 3
+ 14
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1143767708
+ 7
+ 1072493937
+ 8
+ -1058655680
+
+
+ 2
+ 1
+ 3
+ 21
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1156982103
+ 7
+ 1081871785
+ 8
+ -1069580896
+
+
+ 2
+ 1
+ 3
+ 24
+ 4
+ 0
+ 5
+ 4
+ 6
+ 1172717102
+ 7
+ 1075234682
+ 8
+ -1058655680
+
+
+ 2
+ 1
+ 3
+ 31
+ 4
+ 0
+ 5
+ 0
+ 6
+ 1184666737
+ 7
+ 1060439283
+ 8
+ -1069504319
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 1
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction3
+
+ FunctionInfo
+
+ DspFuncInstance
+ 3
+ DspFuncName
+ DspNoiseReduction
+ DspFuncProcessingIndex
+ 3
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1
+ 3
+ 0
+ 4
+ -1129375808
+ 5
+ 8FR4wlEmbsK/pIfCeJ+Mwpn9kcKxBJXCl52WwtdJmMISnJnCz1CawnvkmsJFnpvC9O+bwhxQnMKZvJzCUeqcwuf/nMI6Jp3CxmOdwiyAncKtuJ3C5c2dwgTTncLnF57Cs1uewkx1nsJVTZ7CcVaewo6InsKlVZ7CB1aewicknsKt2Z3Cp7idwiX/ncKOEJ7CwdedwvqFncKIQ53Ch1mdwuwhncIpsJzCi0icws71m8Ji+JvCZDCcwvONnMIDwJzC6Gmcwtg6nMJzZZzComKcwtwCnML/o5vCk16bwpFIm8L+O5vCFCebwkj1msLrcprCeDaawj0ImsIFspnCh+2Wwmyvk8IaLJbC8duXwnr/l8KUyJfCqmiXwuoYl8LzpJbCH0CWwoLFlcKyVpXC2bCUwkoDlMKpXZPCvt2SwsbTksKwlpLCJ/+RwnySkcK3RJHCAveQwm6ckMKoY5DCFdaPwuk5j8I3AI/CU3uPwkmlj8IIZ4/CFT6PwoBZj8INjI/C2dGPwkvoj8LoeJDC8hWRwrGlkcLlL5LCV5OSwnvoksI+yJLCtcGSwr6ik8LT+JTCINWVwm6PlsKeIZfCI8SXwiBCmMJDtJjCWvCYwtCzmMLVeZjCZwyZwkQqmsKtHJvCg9ubwk5QnMIA0JzCeh6dwmEmncL3i5zC/FycwrVYnsLqr6zC
+ 6
+ 1
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction4
+
+ FunctionInfo
+
+ DspFuncInstance
+ 4
+ DspFuncName
+ DspClientGainAdjustStage
+ DspFuncProcessingIndex
+ 4
+
+ ParameterInfo
+
+ 1
+ 1
+ 2
+ -1050253722
+ 3
+ 0
+ 4
+ 1103311667
+ 5
+ 0
+ 6
+ 1092196762
+ 7
+ 0
+ 8
+ 0
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 3
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction5
+
+ FunctionInfo
+
+ DspFuncInstance
+ 5
+ DspFuncName
+ DspGainStage
+ DspFuncProcessingIndex
+ 5
+
+ ParameterInfo
+
+ 1
+ 0
+ 2
+ 1078616770
+ 3
+ 1078616770
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 0
+ SourcePortIndex
+ 1
+
+
+
+ DspFunction6
+
+ FunctionInfo
+
+ DspFuncInstance
+ 6
+ DspFuncName
+ DspMultibandDRC
+ DspFuncProcessingIndex
+ 6
+
+ ParameterInfo
+
+ 1
+ 0
+ Crossover
+
+ 4
+ 1
+ 5
+ 0
+ 6
+ 1128792064
+
+ Limiter
+
+
+ 10
+ -1068807345
+ 11
+ 1097982434
+ 12
+ -1038380141
+ 13
+ 1068906038
+ 14
+ -1036233644
+ 15
+ 1065353216
+ 16
+ 1101004800
+ 17
+ 1101004800
+ 18
+ 1128792064
+ 19
+ 1101004800
+ 2
+ 1
+ 20
+ 1127866850
+ 21
+ 0
+ 22
+ 0
+ 23
+ 1
+ 3
+ 0
+ 7
+ 0
+ 8
+ 0
+ 9
+ 0
+
+
+
+ PatchbayInfo
+
+ InputPort0
+
+ PortInstance
+ 0
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 0
+
+ InputPort1
+
+ PortInstance
+ 1
+ PortWidth
+ 1
+ SourceFuncInstance
+ 2
+ SourcePortIndex
+ 1
+
+
+
+
+
+
+ Outputs
+
+ Headphone
+ LineOut
+
+ PathMapID
+ 98
+ SPDIFOut
+
+
+
+
diff --git a/Resources/PinConfigs.kext/Contents/Info.plist b/Resources/PinConfigs.kext/Contents/Info.plist
index 1c010be3be..741a2a794d 100755
--- a/Resources/PinConfigs.kext/Contents/Info.plist
+++ b/Resources/PinConfigs.kext/Contents/Info.plist
@@ -10142,6 +10142,24 @@
LayoutID
38
+
+ AFGLowPowerState
+ AwAAAA==
+ Codec
+ liangyi - ALC897 for MSI PRO B760M-P DDR4
+ CodecID
+ 283904151
+ ConfigData
+ ARcc8AEXHQABFx4AARcfQAEnHPABJx0AASceAAEnH0ABRxwQAUcdQAFHHhEBRx8BAUcMAgFXHPABVx0AAVceAAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3HQABdx4AAXcfQAGHHDABhx2QAYceoAGHH5EBlxxwAZcdkAGXHoABlx8BAaccUAGnHTABpx6BAacfAQG3HCABtx1AAbceIQG3HwEBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9AAfcc8AH3HQAB9x4AAfcfQA==
+ FuncGroup
+ 1
+ LayoutID
+ 98
+ WakeConfigData
+ AUcMAgG3DAI=
+ WakeVerbReinit
+
+
AFGLowPowerState
AwAAAA==