atarionline.pl Pliki w formacie TN3 (TNY, 640x400) - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorTheTom
    • CommentTime12 Feb 2019 zmieniony
     
    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.
    • 2: CommentAuthor0xF
    • CommentTime12 Feb 2019
     
    Bajty bitmap wszystkich rozdzielczości Tiny Stuff są zapisane tak, jakby był to lores 320x200x16, bitplan po bitplanie, kolumnami słów.
    • 3: CommentAuthorTheTom
    • CommentTime13 Feb 2019
     
    Dziękuję, 0xF!