Kolega
Gonzo od lat próbuje różnych ciekawostek na Atari.
Dotychczas upodobał sobie testowanie programu
Graph2Font,
dzięki czemu mogliśmy na przykład zobaczyć, że obrazki z
17 kolorami w linii są jak najbardziej możliwe. Gonzo jako
pierwszy prezentował też obrazki G2F z grającą jednocześnie muzyką
(temat nie podjęty przez grafików, a szkoda, bo muzycy są dość
aktywni i graficy mogli swoje dziełka ilustrować utworami
muzycznymi albo muzycy prezentować swoje prace z efektownymi
logosami), jako pierwszy próbował swych sił w animacjach
wykonywanych w programie G2F, co skutkowało modyfikacjami programu
dokonanymi przez autora "Graph2Font".
Teraz inny temat przyciągnął uwagę Gonzo: interlejs. I od razu mamy
tego skutki - tryb graficzny, który autor nazwał sobie
TGI.
Ale oddajmy głos Gonzowi:
"Jest to mieszanka trybu GR8 i GR10, a więc hi-resu i trybu
9-kolorowego GTIA. Rozdzielczość 320 na 200 pikseli w 18 kolorach.
Podstawowy piksel 4x1, w obrębie pixela 4x1 mamy do dyspozycji
piksele 1x1 o dwóch jasnościach. TGI służy mi głównie po to, żeby
wyświetlać hi-res w kolorze, ale okazuje się, że poprzez drobne
modyfikacje kodu, bardzo łatwo można uzyskać inne
mieszanki."
Wykonanie obrazka w tym trybie nie jest łatwe, ale dzięki
dostarczonym przez Gonzo poradom i skryptom przynajmniej możliwe.
Załóżmy, że narysowaliśmy obrazek na pececie i chcemy go
przekonwertować na tryb TGI. Procedura wygląda następująco:
1. Musimy uzyskać dwie warstwy, z których składać się będzie
obrazek TGI. Obie najłatwiej uzyskamy z tego samego rysunku czy
zdjęcia.
2. Najpierw pozyskujemy warstwę kolorową - obrazek w trybie GTIA
(GR10, 9 kolorów w jednym odcieniu). Redukujemy pecetowski obrazek
do 9 kolorów oraz rozdzielczości 80x200 pikseli.
"Do konwersji
obrazka na format GR10 użyłem programu XnViev. Powiedzmy, że paleta
to: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. Redukcja polega na
zamianie kolorów: 9 10 11 12 13 14 15 na któryś z pozostałych
(najlepiej najbardziej zbliżonych do siebie). Następnie należy w
palecie kolorów niestandardowych zdefiniować paletę 9 odcieni
szarości. I ostatni krok - kolory z palety obrazka należy
pozamieniać na kolory z palety kolorów niestandardowych w
kolejności od najciemniejszego do najjaśniejszego. Ważne jest to,
żeby kolory 0 i 8 były o podobnej jasności, bo to kolory ramki - 0
dla GR10, 8 - dla GR8. W tym celu przed redukcją należy zamienić
kolor 8 z jakimś innym (takim, który ma jasność najbardziej
zbliżoną do koloru 0)" Dodam od siebie, że inny program,
IrfanView pozwala od razu konwertować do 9 kolorów, ale też trzeba
zadbać samemu o ich odpowiednią kolejność w palecie.
3.
"Taki obrazek zapisujemy w jednym z popularnych pecetowskich
formatów, a rozpoznawanych przez "Graph2Font" (BMP, GIF, PNG, JPG),
wczytujemy do "G2F" (parametry: screen - 40 bytes, pixel 4x1), a
potem zapisujemy go sobie jako MIC czyli standardową grafikę Atari
(patrz katalog "GR10" w załączonym przykładzie). Przy okazji można
wykasować 80-tą kolumnę ze względu na to, że GR10 przesuwa obraz w
prawo."
4.
"Kolory trzeba trzeba dobrać ręcznie - w pliku mic.asm pod
komentarzem ;--- first line of screen initialization ładowane są
rejestry kolorów, trzeba podać odpowiednie wartości. Rejestr Colbak
trzeba załadować kolorem $00, jest to kolor ramki u góry i na dole
obrazka. Kolor Colbak używany w obrębie obrazka ustawia się w
pierwszej instrukcji przerwania dli1 i dli2."
5.
"Jeśli mamy już stworzony plik MIC i dobrane kolory to trzeba
odpalić plik bat.bat i skompilować obrazek - wynikiem powinien był
ładny obrazek w trybie GR10 (mic.xex). Plik mic.mic można skopiować
do katalogu 1pic_interlace i skompilować."
6.
"Otrzymamy efekt w postaci obrazka TGI nie jest powalający,
ale hi-res jest już widoczny. Żeby było naprawdę ładnie to niestety
trzeba stworzyć dwa nowe pliki mic1.mic i mic2.mic. W tym celu
potrzebny jest mic.mic (ten, który już został utworzony), oraz
dowolna konwersja obrazka żródłowego do formatu 320x200. Pozostaje
tylko:
- przepleść linie parzyste i nieparzyste - zapisać jako
mic1.mic
- przepleść linie nieparzyste i parzyste - zapisać jako
mic2.mic
Po skompilowaniu (w katagu 2pics_interlace) otrzymujemy pełne
TGI."
Jeszcze kilka wyjaśnień na temat zawartości Gonzowej
paczuszki z przykładowymi
skryptami i grafikami:
- interlace_1pic - trzeba wrzucić plik mic/1pic/mic.mic i odpalić
bat.bat
- wynikiem jest interlace na podstawie jednego obrazka,
- interlace_2pics - trzeba wrzucić pliki
mic/2pics/mic1.mic,mic2.mic, a
następnie odpalić bat.bat - wynikiem jest interlace na podstawie
dwóch
różnych obrazków
- mic - wiadomo, obrazek w formacie MIC
- przeplot1 - obrazek bez interlace'u (linie 0,2,4....
wyświetlane są w
kolorze),
- przeplot2 - obrazek bez interlace'u (linie 1,3,5....
wyświetlane są w
kolorze)
- Uwaga: do katalogu przeplot1 można wrzucić obrazki:
mic/1pic/mic.mic,
mic/2pics/mic1.mic (po zmianie nazwy na mic.mic), a do katalogu
przeplot2 można wrzucić obrazki: mic/1pic/mic.mic,
mic/2pics/mic2.mic (po zmianie nazwy na mic.mic).
Gonzo napisał też:
"Robię właśnie taki mały pakiecik do
konwersji grafik, być może uda się zrobić z tego program na Atarkę.
Powstaje coś w rodzaju małego edytorka GTIA, który pozwalałby na
zmianę kolorów (klawisze 0-9), jasności (klawisz A), trybów
graficznych (shift - 9, 10,11) i trybów programowych - interlace,
komiks (spacja). Ponieważ ładowane będą dwa obrazki, to będzie
można też przełączać tryb wyświetlania obrazka - (S) single pic,
(T) two pics. Edycji przerwań DLI w celu zmiany kolorów czy
rozdzielczości dla każdej linii raczej nie będzie, bo to przekracza
moje możliwości, ale jeżeli ktoś będzie chciał to zawsze może to
sam sobie dorobić w asemblerze.
W tej chwili mam dwa moduły, w których można wyświetlić na razie
jeden obrazek w trybie komiksowym (przeplot1 - kolory w liniach
nieparzystych, przeplot2 - kolory w liniach parzystych). Wystarczy
skonwertować obrazek do rozdzielczości 80x200 w 9 kolorach. Później
trzeba wczytać to do G2F, zamienić wiersze na hi-res i wygenerować
plik o nazwie mic.mic. Plik trzeba wrzucić do katalogu przeplot1/2,
a póżniej odpalić bat'a. I mamy xex'a. Kolory można zmieniać w
pliku mic.asm. Tryb interlace działa, ale jeszcze nie tak, jakbym
chciał. Jeśli chodzi o kod, to Tebe mi pomaga i mam nadzieję, że
zniesie mnie jeszcze trochę :)."

Na koniec jeszcze o wspomnianym mieszaniu innych trybów:
"TGI w
bardzo prosty sposób potrafi wyświetlić prawie dowolny miks trybów
graficznych! Trzeba tylko dokonać drobnych zman w pliku mic.asm i
odpowiednio przygotować dwa obrazki mic1.mic i mic2.mic, chociaż
wystarczy też jeden mic.mic, ale wtedy efekt nie będzie pełny. Tak
na szybko zrobiłem coś w rodzaju HIP'a tylko, że w kolorze - do
interlace'u użyłem jednego obrazka skonwertowanego do 8 kolorów.
Powstał obrazek w rozdzielczości 160x200 w 64 kolorach (8 jasności
x 8 kolorów - i dokładnie tyle użytych kolorów pokazuje XnView!).
Możliwości tego trybu to 16 jasności z trybu GR9 i 9 kolorów z
trybu GR10 (16x9=144kolorów!). TGI to jest raczej pewna koncepcja
tworzenia różnych trybów interlace, a nie tylko zwykłe połączenie
GR8 i GR10."
Paczuszka z eksperymentami Gonzo
tutaj.