CCI
From Atariki
Revision as of 12:20, 3 sty 2023; view current revision
←Older revision | Newer revision→
←Older revision | Newer revision→
Skompresowany format zapisu kolorowych obrazków używany przez program CIN.
Oto jego struktura:
- nagłówek - tekst "CIN 1.2 " w ASCII (8 bajtów);
- cztery skompresowane bloki danych (w nawiasach podano rozmiar bloku po rozpakowaniu):
Struktura każdego skompresowanego bloku wygląda następująco:
- dwa bajty określające długość skompresowanego bloku (młodszy, starszy)
- dwa bajty określające ilość "segmentów RLE" które zawiera dany blok (bajty w kolejności młodszy starszy)
- UWAGA! długość bloku jest podana bez uwzględnienia dwóch bajtów określających ilość segmentów
Format skompresowanych danych opiera się na prostym algorytmie RLE:
- bajt ze skasowanym bitem 7 oznacza, że po nim wystąpi blok nieskompresowany o długości określonej przez pozostałe 7 bitów;
- bajt z ustawionym bitem 7 oznacza, że po nim wystąpi bajt, który będzie powtórzony tyle razy, ile określa to pozostałe 7 bitów.
- UWAGA! Wartości określające ilość skompresowanych/nieskompresowanych bajtów należy powiększyć o jeden. np. wartość #0 oznacza jeden nieskompresowany bajt, a wartość #$FF oznacza 128 powtórzeń
Dane ramek obrazu kompresowane są w pionie, tzn. przy rozpakowywaniu kolejne bajty nie są umieszczane bezpośrednio po sobie w pamięci, ale najpierw tworzona jest pierwsza kolumna z lewej strony, od góry do dołu, a potem sukcesywnie w prawo.
Dane kolorów są już lokowane w naturalnej kolejności.