Krzysiek "Rastan" Wróbel dopiero co rozpoczął swoją przygodę
z grafiką Atari, a już poczynił znaczne postępy. Wzbudził ciekawość
swoim programem do konwersji grafiki wielokolorowej na potrzeby
trybów graficznych Atari. Poprosiłem go o podesłanie wraz z
komentarzem i oto mamy informacje od autora:
"Przesyłam również mój program, który pomaga mi w przerzucaniu
prac do G2F. Wątpię, aby się komuś przydał, ponieważ jest bardzo
prosty i wolny. Napisałem go zupełnie na szybko w Delphi. Program
działa tak, że w momencie wczytania określa, ile jest kolorów na
obrazie i tworzy sobie tyle checkboxów. Automatycznie jest tam
załadowany obrazek z gry "Xenon". Następnie zaznaczając konkretny
checkbox i klikając przycisk VIEW możemy wyświetlić sobie tylko
dany kolor albo kilka kolorów (jak zaznaczymy więcej checkboxów).
Obrazy widzimy w dwóch oknach: mniejszym i większym (2x).
APaint
Jakiś czas temu dorobiłem opcję kopiowania kolorów. I chyba już
się domyślasz, w jaki sposób uzyskałem plik z czterema kolorami. Po
prostu kliknąłem na ikonkę koloru najciemniejszego - brązowego (w
polu ACTIVE COLOR pojawił się ten kolor). Następnie przycisk COPY
COLOR i ikonka najjaśniejsza. To spowodowało skopiowanie koloru
najciemniejszego do najjaśniejszego. Następnie klikam na REFRESH,
co "odświeża" paletę kolorów. Oczywiście musiałem jeszcze wyłączyć
jeden kolor, tak żeby były tylko cztery, no i zapisać obrazek.
Zapisuje dokładnie to co jest wyświetlone w małym oknie z
podglądem. Taki obraz już śmiało można wczytać do G2F i poddawać
kolejnym zabiegom :).
Plik z programem o roboczej nazwie
APaint tutaj.
"A poniżej są kolejne etapy konwersji obrazu "Fire and
Brimstone":
- 001 - to jest oryginalny obraz z Amigi
- 002 - obraz przetworzony zgodnie z algorytmem, który
ostatnio opisałem, to jest zamiana na odcienie szarości, zamiana
skali, dithering, itp.
- 003 - to jest obraz 4 kolorowy, który ładuje do G2F. Jest on
przetworzony tym małym programikiem opisanym powyżej."
Przy okazji też podaję za
Michałem "Draconem" Garbaciakiem
informację o ciekawym programie do grafiki bitmapowej o nazwie
Pro Motion. Jest to co prawda komercyjny,
płatny
program, ale o ogromnych możliwościach tworzenia grafiki i
animacji. Wzorowany jest, w sensie wygody i filozofii obsługi na
słynym programie dla Amigi
Deluxe Paint . Jak napisał
Michał,
"jeśli ktoś używał tego programu albo Personal
Paint na Amidze, to będzie "w domu". Nawet skróty klawiszowe są
prawie identyczne! Aplikacja jest chyba wciąż rozwijana (teraz już
w wersji szóstej). Być może ten edytorek też by się przyda(wa)ł do
współpracy z G2F, bo od razu operuje na ograniczonej palecie
kolorów." Wypróbowałem, rzeczywiście wygląda, że można by nim
rysować od razu z pewnymi ograniczeniami (nie wszystkimi!)
cechującymi grafikę Atari.
ProMotion
To nie koniec informacji graficznych.
Rastan podesłał też
swoje spostrzeżenia co do użycia rastrów w programie
G2F, w
dużej mierze oparte na wiedzy "podkradzionej"
Konopowi. Jak
wiadomo, w programie
TeBe-go menu rastrów, a także sposób
ich użycia całkowicie się zmienił od czasu powstania ostatniej
instrukcji do G2F. Kto by chciał obecnie zacząć naukę na podstawie
dokumentacji do programu, przeżyje rozczarowanie, bo "nic do
niczego nie pasuje". Spostrzeżenia Rastana mogą więc być bardzo
pomocne zainteresowanym tym tematem. Jeżeli dojdzie do publikacji
kolejnych odcinków Grafa Tufonta, to te informacje zostaną
wykorzystane do nauki ostatniego stopnia wtajemniczenia -
posługiwania się rastrami.
Dajmy jednak wypowiedzieć się Krzyśkowi:
"Eksperymentowałem z
rastrem i spisałem kilka uwag, które być może przydadzą się komuś.
Odtworzyłem z pamięci spotkanie z Konopem i informacje, które on mi
przekazał. Choć pewnie to co napiszę jest banalne i oczywiste, ale
może znajdzie się jakaś informacja, która okaże się przydatna. Do
tego krótkiego tekstu dołączam obrazki - zrzuty ekranów z G2F - dla
lepszego zobrazowania sprawy. A więc jest tak...
- 1. Zmiany koloru linii możemy wykonywać, najlepiej w
trybie GED-- (cztery kolory), choć można również w GED+ (tryb
znakowy, pięć kolorów). W trybie GED+ jest pewne ograniczenie. Otóż
Antic nie pozwala kolorować ostatniej linii znaku. Rozdzielczość
może być dowolna, choć ja próbowałem w trybach 1x1 i 2x1. A więc
sugeruję GED--. Po uruchomieniu G2F, najlepiej przejść do
odpowiedniego trybu. Powiedzmy, że będzie to tryb 2x1 i będziemy
zmieniać kolor tła w linii.
- 2. Zacznę od drobnych czynności, które warto wykonać
na początku. Jeśli klikniemy na paletę to dla każdego koloru jest
tam opcja LOCK COLOR i dobrze ją zaznaczyć. Powoduje ona, że dany
kolor przywracany jest od nowej linii - o tym można więcej
przeczytać na stronie TeBe-go z opisem programu. A zatem zaznaczamy
tę opcję dla koloru tła.
- 3. Teraz wybieramy z menu opcję EDIT->RASTERS,
klikamy i naszym oczom ukazuje się nowe okienko z dwoma zakładkami:
AUTOMATIC i MANUAL. Klikamy oczywiście tryb całkowicie ręcznego
ustawiania rastrów (MANUAL). W oknie są radio buttony, a na dole
rozwijane okienka z instrukcjami asemblerowymi.
- 4. Będziemy używać następujących instrukcji
assemblera:
1) NOP - instrukcja pusta, nic nie robi, ale możemy za jej pomocą
przesuwać się w linii do określonego punktu. Czasami się
przydaje.
2) LDA # ??? - ładuje akumulator określoną wartością. Dla nas
będzie to numer konkretnego, wybranego koloru.
3) STA - wpisuje zawartość akumulatora do określonego rejestru. Tam
jest takie pole REGISTER, w którym ten rejestr możemy wybrać. W
przykładzie jest to: $D01A_COLBAK.
Oczywiście jest tam więcej instrukcji, ja jednak wykorzystywałem te
trzy. Działania na akumulatorze są najszybsze (zajmują najmniej
cykli procesora). Są tam jeszcze LDX, LDY, itp., ładujące rejestry
X i Y.
- 5. Teraz możemy sobie wybrać obszar, to jest linie,
które będziemy zmieniać. Pod instrukcjami są pola LINE i RANGE.
Możemy ustalić je dowolnie w ramach wysokości obrazu Atari. W
przykładzie będzie 50 dla LINE, 100 dla RANGE.

- 6. Z boku umieszczone są dwie etykiety: CYCLES oraz
LIMIT. Domyślnie ustawione są one na 54. To są cykle oraz ich
limit, wyliczane w programie (dla wszystkich instrukcji). Domyślnie
są tam komendy, których suma cykli wynosi 54. Proponuję wszystkie
pola z komendami asemblerowymi ustawić na rozkaz NOP. Liczba cykli
powinna stać się równa 18.
- 7. No to przystąpmy do pisania kodu: pierwsze pole z
instukcją asemblerową ustalamy na NOP. Suwakiem VALUE możemy
ustawić, ile tych NOPów ma być. Zobaczmy, że jak przesuniemy suwak
- przesunie się bok ramki. Oczywiście wzrośnie również liczba
cykli. Chodzi tutaj o to, o ile punktów ekranu przesunie się
raster, gdy wykona się zadana liczba NOP-ów. W prezentowanym
przykładzie wykonałem $0A (10) instrukcji pustych.
- 8. Teraz klikamy w drugi radio button i ustalamy
drugą instrukcję. Niech to będzie LDA #. Od razu można kliknąć na
kolor i wybrać jakiś (na przykład niebieski). Ta ramka na ekranie
pokazuje ile czasu wykonują sie dane instrukcje w stosunku do
przemieszczania się rastra.
- 9. Zauważmy, że liczba cykli już wzrosła do 30. No i
teraz kolejna rzecz. Klikamy na trzeci radio button i wybieramy
instrukcję STA. Teraz w polu REGISTER wybieramy rejestr. Tych
rejestrów jest dosyć dużo (nie znam znaczenia wszystkich), ale
wybieramy $D01A_COLBAK - czyli kolor tła - i
klikamy CHANGE. Pamiętajmy o LOCK COLOR dla koloru tła. Zresztą
można wyłączyć tę opcję i porównać efekt. :).
- 10. Powyżej rezultat. Teraz przechodzimy do kolejnego
pola, wybieramy rozkaz LDA # oraz kolor. W kolejnym polu STA oraz
rejestr. No i w ten sposób możemy zmieniać kolory w linii. Mnie
udało się zmienić kolor tła w linii 6 razy."
Proste i skuteczne, wypada więc podziękować Konopowi i
Rastanowi, że zechcieli się podzielić swoją wiedzą. Miejmy
nadzieję, że będzie to częstsza praktyka w środowisku
atarowców.