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), "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 = { DEV_PROPERTIES = {
"pmgr": { "pmgr": {
"*": { "*": {
@ -301,7 +316,12 @@ DEV_PROPERTIES = {
"*": { "*": {
"apcie-*-tunables": GreedyRange(TunableLocal), "apcie-*-tunables": GreedyRange(TunableLocal),
} }
} },
"dart*": {
"*": {
"dapf-instance-*": GreedyRange(DAPFT8110),
}
},
} }
def parse_prop(node, path, node_name, name, v, is_template=False): def parse_prop(node, path, node_name, name, v, is_template=False):