Some notes:
On the animated image ("ax3.raw"), all 24 frame headers seem to be 22 bytes long. The frames themselves are various lengths, the first being under 6k, the rest are all under 5k. The 21st header byte seems to be a compression type indicator, being either 15 for the simple byte based run-length encoding in frame 1, or 7 for the unknown format in frames 2-24.
Speculating that the idea is to predraw frame 1 in non-real time, then apply a faster or more computationally efficient algorithm to do the animation in real time. The CPU used may have some method to apply blocks of word-organized data quickly. The frame 2-24 data seems to be pre-fromatted, rather than compressed.
I noticed that frames 2-24 all have an even number of bytes, and there are a lot of "0"s and "FF"s in the data. The thought occurs that the data may be organized as 16-bit in those frames. I'm guessing that there is some means of indicating how many words (of the previous frame) to skip over, then another means of indicating how many words to overwrite with new data. And repeating until end of frame.
But it's not too clear what delimits the skipping and overwriting sections.
The compression in the "x3.raw" file seems to be a third type. Haven't spotted a pattern there, so far. It appears to be more densely compressed than method 1 or 2.
|