m1n1.adt: Add DAPF decoding

There's a weird thing with DCP DAPF entries being larger... but we don't
use them anyway?

Signed-off-by: Asahi Lina <lina@asahilina.net>
This commit is contained in:
Asahi Lina 2023-09-30 16:19:05 +09:00 committed by Hector Martin
parent e1bb8e85a6
commit 5e2e537506

View file

@ -205,6 +205,21 @@ TunableLocal = Struct(
"value" / Hex(Int64ul),
)
DAPFT8110 = Struct(
"start" / Hex(Int64ul),
"end" / Hex(Int64ul),
"r20" / Hex(Int32ul),
"unk1" / Hex(Int32ul),
"r4" / Hex(Int32ul),
"unk2" / Array(5, Hex(Int32ul)),
"unk3" / Hex(Int8ul),
"r0h" / Hex(Int8ul),
"r0l" / Hex(Int8ul),
"unk4" / Hex(Int8ul),
# ???
"pad" / If(this.r20 == 0x20, Hex(Int32ul)),
)
DEV_PROPERTIES = {
"pmgr": {
"*": {
@ -301,7 +316,12 @@ DEV_PROPERTIES = {
"*": {
"apcie-*-tunables": GreedyRange(TunableLocal),
}
}
},
"dart*": {
"*": {
"dapf-instance-*": GreedyRange(DAPFT8110),
}
},
}
def parse_prop(node, path, node_name, name, v, is_template=False):