Robert "Synthpopalooza" Clark kontynuuje swój wykład na
temat programowych trybów znakowych. Przedstawiony został Super
IRG, Super IRG 2, a dzisiaj czas na Super 0. Oddaję głos
Robertowi:
SUPER 0
Koncepcja trybu Super IRG była interesująca, ale ograniczała się
tylko do trybów ANTIC 4/5. Zacząłem sprawdzać, jakie idea
przełączania zestawów znaków/kolorów dałaby rezultaty w trybie
ANTIC 2 (GRAPHICS 0). Mamy tam 40 kolumn tekstu w 23 rzędach, a
znaki są wyświetlane w siatce 8 na 8 pikseli, ale tylko w dwóch
kolorach. Ponadto tekst ma zawsze tą samą barwę co tło. Tak
wyglądają rejestry kolorów:
- jasność tekstu – rejestr PF1 (709), parzyste wartości od 0 do
14, a więc 8 poziomów jasności
- kolor tła i tekstu – rejestr PF2 (710)
Odkryłem, że używając procedury VBI do przełączenia nie tylko
zestawu znaków, ale także obu rejestrów PF (709 i 710), możemy
uzyskać siatkę 8 na 8, w której każdy piksel może mieć dowolny z
czterech kolorów. Jeden wyjątek: kiedy przełączamy rejestr tła,
najlepiej zachować wartość ustawionej tam jasności, w przeciwnym
wypadku gwałtowna zmiana w jasności tła poskutkuje brzydkim efektem
migotania.
Inny interesujący efekt w tym trybie związany jest z wykorzystaniem
artefaktów. Powstają one w wysokiej rozdzielczości ekranu (320
pikseli wszerz), jako efekt uboczny, z powodu ograniczeń
sprzętowych telewizorów i monitorów, a także samego Atari. Polega
to na tym, że piksele rysowane w nieparzystych kolumnach mają nieco
przesunięty kolor w stosunku do pikseli w kolumnach parzystych.
Wiele klasycznych gier wykorzystuje ten efekt do uzyskania
dodatkowych kolorów w trybie Graphics 0. Znaki można zaprojektować
tak, jak w trybach ANTIC 4/5 – zamiast kolorów z rejestrów PF mamy
kolory uzyskane artefaktami.
O ile w trybie Super 0 możemy wyświetlić znaki w czterech kolorach
to po uwzględnieniu artefaktów możemy uzyskać nawet do 16 kolorów w
jednym znaku.
Trzeba pamiętać, że te kolory różnić się będą w zależności od
modelu Atari czy rodzaju emulatora – bo artefakty są tworzone w
inny sposób. Powyższa tabelka dokumentuje efekt uzyskany w
Atari800Win z włączonymi artefaktami „GTIA”.
Załączam
przykład trybu Super 0 w Basicu. Należy uruchomić program 5
(PROGRAM5.BAS), aby wygererować odpowiedni plik z fontami
(SUPER0.FNT), a potem uruchomić program numer 6 (SUPER0.BAS). Jest
też dyskietka z tymi trzema plikami.
demonstracja trybu Super 0
powiększony fragment ekranu
powyżej