Just want to let folks know I made a bit of progress on the data
First, the stuff in Files is somewhat out of date due to a couple of
errors I made: one, the hexdumps I made were swapping every other
byte, and the other is that the first two pattern rows I was
decoding are special cases (the first two rows are duplicated in the
data format... presumably with 'selector' applied).
The actual completed pattern "ends" at 06df and works backward.
At 6df back you first see the memos. Each memo is encoded as a
nibble (4 bits, or one hex digit). The low byte at 6df is the memo
for the first row, and the high byte at 6df is the memo for the
second row, and so forth. There is a nibble set aside for each row.
If there is no memo, then the nibble is 0.
Continuing to work backwards from the last memo is the first row of
the full pattern. Note that rows are aligned on nibble boundaries.
So if there is only one stitch in a row it still takes up a whole
nibble. If there are 5 stitches in the row (i.e., 5 bits), then I
believe it will take up two nibbles, (a nibble is 4 bits), and so
The header (the first 16 bytes of the first of the 1K sectors
written during a Save Pattern operation) has the number of stitches
and rows encoded in it.
Anyway, I'll write up something more complete soon as I determine
more things concretely, but I'm making progress.