Dzień dobry! Chcę napisać funkcję dekodującą obrazki TN3. Obrazki są czarno-białe w 640x400 i zawierają kompresję RLE. Kompresja nie jest problemem. Problemem jest dalsze rozkodowanie danych. W innych formatach Atari, z którymi miałem do czynienia obrazki czarno-białe nie używają bitplanów (np. Degas PI3), a tutaj najwyraźniej dane są podzielone na bitplany, tylko nie mogę znaleźć opisu jak.
Kompresja RLE- tutaj ciekawostka, że w wielu miejscach jest opisana z błędami. Sam autor napisał tak:
X < 0 -- 1-127 unique words are taken from the data section
X = 0 -- two more words are taken from the control section that is a value 128-32767 which is the number of times to repeat the next data word
X = 1 -- two more bytes are taken from the control section that is a value 128-32767 of unique words to take from data section
X > 1 -- 1 byte of repetative information is taken from data section and repeated 2-127 times.
a powinno być tak:
X < 0 -- 1-127 unique words are taken from the data section
X = 0 -- two more bytes are taken from the control section that is a value 128-32767 which is the number of times to repeat the next data word
X = 1 -- two more bytes are taken from the control section that is a value 128-32767 of unique words to take from data section
X > 1 -- 1 word of repetative information is taken from data section and repeated 2-127 times.