diff --git a/proxyclient/m1n1/adt.py b/proxyclient/m1n1/adt.py index 12d7a8ca0..9ea1b7a51 100644 --- a/proxyclient/m1n1/adt.py +++ b/proxyclient/m1n1/adt.py @@ -276,6 +276,17 @@ "flags" / Hex(Int32ul), ) +DMAChannelsData = Struct( + "channo" / Hex(Int32ul), + "datashape" / Hex(Int32ul), + "timeout" / Hex(Int32ul), + "limit" / Hex(Int32ul), + "threshold" / Hex(Int32ul), + "unk1" / Hex(Int32ul), + "unk2" / Hex(Int32ul), + "unk3" / Hex(Int32ul), +) + DEV_PROPERTIES = { "pmgr": { "*": { @@ -477,6 +488,9 @@ def parse_prop(node, path, node_name, name, v, is_template=False): # parsing this correctly would require a second pass t = Array(len(v) // 4, Int32ul) + elif name == "dma-channels": + t = SafeGreedyRange(DMAChannelsData) + elif name == "segment-ranges": t = SafeGreedyRange(ASCSegmentRange)