Aprplr
From Atariki
Odtwarzacz animacji w formacie APR, napisany przez bobera. Według zapewnień autora projekt ten to pewien (niezbyt udany) eksperyment, tym samym nie będzie raczej rozwijany.
Program jest w binarnym formacie SpartyDOS X, i w innym DOSie nie będzie się dało go uruchomić.
Cechy formatu oraz programu:
- animacja w dowolnym trybie GTIA,
- rozdzielczość animacji 80x48,
- maksymalna wielkość pliku z animacją - w praktyce około $5d00 bajtów (dokładnie: od $3f00 do MEMHI), teoretycznie - bez limitu,
- kompresja poszczególnych klatek jest różnicowa, przebiega ona poziomo lub pionowo - w zależności od tego, który przypadek jest korzystniejszy,
- poszczególne klatki są zapisane w jednym z 3 formatów:
- RAW - bezpośredni obraz pamięci,
- RLE - prosta kompresja zastępująca powtarzające się elementy,
- ZIP - (tylko teoretycznie, nie jest zaimplementowany) - format zgodny z RFC 1952.
Format APR
Jak już wyżej wspomniano - poszczególne klatki są zapisywane różnicowo - z wyjątkiem pierwszej, ktora jest zapisana w pełnej postaci. Szczegóły formatu wyglądaja następująco:
offset | długość | opis |
$0000 | $0003 | nagłówek pliku, napis APR |
$0003 | $0001 | wersja formatu, w tej chwili tylko 1 |
$0004 | $0001 | tryb GTIA dla animacji (tryb 9 - 0; tryb 10 - 1; tryb 11 - 2) |
$0005 | $0009 | pełna paleta dla GTIA. Jest pełne 9 bajtów nawet jeśli jest tryb monochromatyczny. |
$000e | $0002 | słowo określające ilość klatek. Kolejność bajtów: starszy, młodszy. |
$0010 | $0001 | szybkość (w ramkach) odtwarzania |
$0011 | ... | dane poszczególnych klatek |
Każda klatka jest zapisana w poniższym formacie, niezależnie, czy jest to pierwsza pełna, czy kolejne - różnicowe:
offset | długość | opis |
$0000 | $0002 | znaczenie bitów w pierwszym bajcie:
drugi bajt - młodsze 8 bitów długości klatki |
$0002 | ... | dane klatki animacji |