- * 00-31 (0x00-1F) file format name
- * 32-39 (0x20-27) trigger timestamp u64
- * 40-47 (0x28-2F) unused
- * 48 (0x30) compression
- * 49-53 (0x31-35) ??
- * 50 (0x32) 0x00 (PI), 0x01 (iprobe)
- * 54 (0x36) 0x08 (PI 250/500), 0x0A (iprobe 250)
- * 55 (0x37) 0x00 (250), 0x01 (500)
- * 56 (0x38) record size u8
- * 57-59 (0x39-3B) const 0x00
- * 60-63 (0x3C-3F) number of records u32
- * 64-67 (0x40-43) id of last record s32
- * 68-77 (0x44-4D) ??
- * 71 (0x47) const 0x80=128
- * 72 (0x48) const 0x01
- * 78-79 (0x4E-4F) ??
+ * First-level file header:
+ * 0x00-1F file format name
+ * 0x20 u64 trigger timestamp
+ * 0x28-2F unused
+ * 0x30 u8 compression
+ * 0x31-35 ??
+ * 0x32 u8 0x00 (PI), 0x01 (iprobe)
+ * 0x36 u8 device id: 0x08 (PI 250/500), 0x0A (iprobe 250)
+ */
+
+ /*
+ * Second-level file header, version 1:
+ * 0x37 u8 capture speed: 0x00 (250), 0x01 (500)
+ * 0x38 u8 record size
+ * 0x39-3B const 0x00
+ * 0x3C u32 number of records
+ * 0x40 s32 id of last record
+ * 0x44-4D ??
+ * 0x47 u8 const 0x80=128
+ * 0x48 u8 const 0x01
+ * 0x4E-4F ??
+ */
+
+ /*
+ * Second-level file header, version 2:
+ * 0x37 u8 ??
+ * 0x38 u64 ??
+ * 0x40 u64 ??
+ * 0x48 u8 record size
+ * 0x49-4F ??
+ * 0x50 u64 ??
+ * 0x58 u64 number of records
+ * 0x60 u64 ??
+ * 0x68 u64 ??
+ * 0x70 u64 ??
+ * 0x78 u64 ??
+ * 0x80 u64 ??
+ * 0x88 u64 ?? (timestamp of some kind?)
+ * 0x90 u64 ??
+ * 0x98-9E ??
+ * 0x9F u8 capture speed: 0x00 (250), 0x01 (500)
+ * 0xA0 u64 ??
+ * 0xA8 u64 ??
+ * 0xB0 u64 ??
+ * 0xB8-CF version string? (e.g. '93173--96069', same for all tested .ad files)
+ * 0xC8 u16 ??