Establish the SBlk 40-byte record layout
Range measured: level 0 SBlk, 24..19508, aligned at +0 -- 487 whole records. Method: for each of 40 candidate alignments, count byte positions that are near-constant across records, and keep the best. Alignment +0 wins with 10. Four positions are exactly constant and all zero: 7, 11, 31 and 35. Distinct values per position run from 1 to 155, with position 29 the most variable by a wide margin -- 155 against 21 to 48 elsewhere -- and positions 2, 10, 27, 34 and 39 low at 2 to 8. The first record carries the SBlk magic and the DAW tag rather than descriptor data, so it is a header rather than an entry. That matters before reading any field at a fixed offset. Not decoded: the layout is established and the constant positions are known, but the fields are not named and which of the 40 bytes are an index, a length and an offset is still open.
This commit is contained in:
@@ -617,3 +617,26 @@ The earlier "they disagree" framing was wrong in one respect: the marker
|
||||
spacing never claimed to be the record size. Read as a claim about markers
|
||||
inside records rather than about the record itself, the two measurements were
|
||||
never in conflict.
|
||||
|
||||
## SBlk record layout at 40 bytes
|
||||
|
||||
**Range measured:** level 0 `SBlk`, 24..19508, aligned at +0 — 487 whole
|
||||
records.
|
||||
|
||||
**Method:** for each of 40 candidate alignments, record the number of byte
|
||||
positions that are near-constant across records, and keep the best.
|
||||
|
||||
**Result:** alignment +0 is best, with 10 near-constant positions. Four are
|
||||
exactly constant and all zero: positions **7, 11, 31 and 35**.
|
||||
|
||||
Distinct values per byte position across the 487 records runs from 1 to 155,
|
||||
with position 29 the most variable by a wide margin (155 against 21-48
|
||||
elsewhere) and positions 2, 10, 27, 34 and 39 low (2 to 8).
|
||||
|
||||
The first record carries the `SBlk` magic and the `DAW` tag rather than
|
||||
descriptor data, so it is a header rather than an entry — which is worth
|
||||
accounting for before reading any field at a fixed offset.
|
||||
|
||||
**Not decoded.** The layout is established and the constant positions are
|
||||
known; the fields are not named, and which of the 40 bytes are an index, a
|
||||
length and an offset is still open.
|
||||
|
||||
Reference in New Issue
Block a user