diff --git a/docs/formats/core-data-regions.md b/docs/formats/core-data-regions.md index 3491bde..a870785 100644 --- a/docs/formats/core-data-regions.md +++ b/docs/formats/core-data-regions.md @@ -242,3 +242,29 @@ index, rather than with a fixed-layout record. **So the 368 stride stands and the records remain unidentified.** The shrub method failed here not because it was the wrong tool but because it needs something constant to latch onto, and there is nothing. + +## Sky opens with a 256-byte-row image + +**Range measured:** level 0, `2192576 .. 2615232` (the sky region, 422,656 +bytes). Periodicity start and end located by sliding an 8 KB window in 256-byte +steps through the region and measuring the 256-stride match rate. + +**Method:** autocorrelation as above, then a periodicity scan. A random +control of the same size reads flat at 0.0000 for every stride tested. + +**Result:** + +- Peak stride in the first 64 KB is **256** at a 0.772 match rate, against a + flat random control. Strides 255, 257 and 4 score nearly as high, which is + what a true period looks like smeared by sampling. +- Across levels the peak is 256 on 21, 512 on 5 and 128 on 1. 512 and 128 are + a harmonic and a sub-multiple, so the fundamental period is **256 bytes**. +- The periodicity holds from `+0` to about `+60160` and then stops: **236 rows + of 256 bytes**, i.e. a 256-wide, 236-tall image at one byte per pixel. +- The remaining ~362,240 bytes of the sky region are *not* 256-periodic and + remain unidentified. That is 86% of the region, and it is where the offset + table seen at `+0x20` earlier points. + +So the sky region is not one thing. Its first ~60 KB is an image; the rest is +whatever the layer offsets address. Both halves still need work, and the +image is the tractable one.