![]() |
|
Start | Super Packer | Atari Graphics Studio | Graph2Font | Mads | MadPascal | YouTube | http://madteam.atari8.info |
Piotr Fusik (Fox/Taquart)
Atarynka #2/2002
Artykuł ten opisuje tryb graficzny umożliwiający uzyskanie 256 kolorów w rozdzielczości 160x119.
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).
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 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.
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:
natomiast na drugim:
Jak widać, tryb TIP bez "mrugania" kolorami zajmuje mniej pamięci/dysku, niż HIP (ok. 12KB zamiast 16KB na obraz typowych rozmiarów).
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 |