| Start | Super Packer | Atari Graphics Studio / AGS | Graph2Font / G2F | Mads |   http://madteam.atari8.info  
SKŁAD GRUPY
PRODUKCJE
scena
gry
użytki
vbxe
SPRZĘT
Sio2SD/Pajero
Sio2SD/Rocky
Stereo/Pajero
GTIA/Psychol
ARTYKUŁY
DEMO EFFECTS
LINKI
   

Piotr Fusik (Fox/Taquart)
Taquart Interlace Picture
Atarynka #2/2002

Artykuł ten opisuje tryb graficzny umożliwiający uzyskanie 256 kolorów w rozdzielczości 160x119.

HIP

Niewątpliwie wielkim przełomem w wyświetlaniu grafiki na małym Atari było wynalezienie trybu HIP (Hard Interlace Picture). Tryb ten umożliwia wyświetlanie obrazów o dużej liczbie odcieni, w wysokiej (jak na komputer 8-bitowy) rozdzielczości 160x200, przy stosunkowo małym "migotaniu". Dokładne określenie ilości dostępnych odcieni jest kłopotliwe. Jest ona ograniczona z góry przez 30 (jasności od 0 do 14.5 co 0.5), jednak nie można swobodnie operować tymi 30 odcieniami, gdyż średnia ilość informacji o pojedynczym pikselu to 3.5 bitu (tryb 9 GTIA jest 4-bitowy, tryb 10 ma odcienie 3-bitowe).

Pomijając zamieszanie panujące wokół plików HIP (istnieją dwa różne formaty), uzyskanie tego trybu jest najprostsze przy ustawieniu rejestrów kolorów GTIA na wartości: $X0, $X2, $X4, $X6, $X8, $XA, $XC, $XE, $X0 (X jest cyfrą szestnastkową określającą kolor). Takie przyporządkowanie zajmuje wszystkie rejestry koloru (nie można np. wyświetlić kursora na duszku o innym kolorze), ale dzięki niemu co linię ekranową musimy zmieniać tylko tryb GTIA (na przemian 9 i 10).

RIP

HIP posiada jedną podstawową wadę: jest monochromatyczny. Pomysłem na dodanie kolorów jest wypełnienie rejestrów kolorów GTIA kodami różnych kolorów.

Inny problem, również rozwiązany w formacie pliku RIP (Rocky Interlace Picture), to rozmiary obrazka, nie określone już "na sztywno". Co więcej, swobodę operowania kolorami możemy zwiększyć zmieniając wartości rejestrów kolorów GTIA w poszczególnych liniach.

Największą wadą RIP-a jest trudność operowania nim. Stworzenie programu graficznego, który umożliwiałby wygodne rysowanie w tym trybie jest trudnym zadaniem.

Problematyczna jest również konwersja - brak prostego kryterium wyboru kodów kolorów dla trybu 10 GTIA.

Trudności te są rekompensowane przez bardzo dobry wygląd odpowiednio przygotowanej grafiki.

TIP

TIP jest rozszerzeniem HIP-a o kolory. Sposób dodania kolorów jest tak prosty, że dziwnym wydaje się, iż tryb ten nie powstał równocześnie z HIP-em.

Użyty został sposób kolorowania dotychczas stosowany dla trybów 256-kolorowych (APC, ILC), oraz do "zabarwiania" obrazów MIC (CIN). Kolory są nakładane przez linie trybu 11 GTIA. Linie te są wyświetlane w każdej ramce w tym samym miejscu, z tą samą zawartością. Linia kolorów jest zawsze nad odpowiadającą jej linią jasności.

Ponieważ, jak wiadomo, nie ma róży bez ognia, za kolory płacimy dwukrotnie mniejszą rozdzielczością pionową i wprowadzeniem ciemnych linii. Wygodne natomiast z punktu widzenia konwersji jest to, że piksele są kwadratowe.

Można rozważyć możliwość "interlace-owania" kolorów, tj. wyświetlania różnych kolorów w poszczególnych ramkach. Czy daje to dobry efekt, trzeba sprawdzić w praktyce.

Wyświetlanie

Sposób wyświetlania jest prostym rozszerzeniem wyświetlania HIP-a. Wartości rejestrów kolorów GTIA wynoszą $00, $02, $04, $06, $08, $0A, $0C, $0E, $00. Na pierwszym obrazie widzimy:

  1. pierwsza linia kolorów (GTIA 11)
  2. pierwsza linia jasności (GTIA 9)
  3. druga linia kolorów (GTIA 11)
  4. druga linia jasności (GTIA 10)...

natomiast na drugim:

  1. pierwsza linia kolorów (GTIA 11)
  2. pierwsza linia jasności (GTIA 10)
  3. druga linia kolorów (GTIA 11)
  4. druga linia jasności (GTIA 9)...

Jak widać, tryb TIP bez "mrugania" kolorami zajmuje mniej pamięci/dysku, niż HIP (ok. 12KB zamiast 16KB na obraz typowych rozmiarów).

Konwersja

Ponieważ nie powstały jeszcze żadne narzędzia umożliwiające bezpośrednio tworzenie grafiki w formacie TIP (więc na co czekasz, Fox - redakcja), ani nawet nie został określony format pliku TIP, najprostszą metodą uzyskania grafiki w tym trybie jest jej konwersja przy pomocy "większego" komputera a następnie napisanie procedury wyświetlającej.

Konwersję np. obrazu 24-bitowego można przeprowadzić następująco: należy zadbać o odpowiednią rozdzielczość i paletę.

W pierwszym przypadku wykonamy skalowanie/obcięcie, w drugim przekształcenie na paletę Atari (256-kolorową paletę kolorów Atari, w formacie Photoshop-a, można znaleźć np. w emulatorze Atari800).

Pozostaje w uzyskanym obrazku wyodrębnić kolory oraz "HIP-owe" dane dla trybów 9 i 10 GTIA. Najprostszym sposobem wydobycia kolorów jest wzięcie informacji o kolorze co drugiego piksela. Konwersja jasności na HIP może być problematyczna, ale prostym i dającym dobre efekty sposobem jest zapisanie jasności co drugiego piksela (począwszy od pierwszego) w trybie 9, a pozostałych w trybie 10. Jasności 9 GTIA kodujemy na 4 bitach, natomiast w trybie 10 ignorujemy najmłodszy bit jasności. Uzyskane w ten sposób dane dla trybów 11,9 i 10 możemy już łatwo wyświetlić.

Piotr Fusik (Fox/Taquart)

 

madteam.atari8.info © MadTeam, hosted: www.atari8.info