Interlace Super 0 by Kaz 2010-12-19 20:12:22

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:
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
Kaz 2010-12-19 20:53:11

Ja jakos nigdy nie lubilem artefaktow, w grach tez mnie denerwowaly. Zreszta na monitorze z zielonym kineskopem artefaktow nie bylo :P

mono 2010-12-19 21:15:47

http://atariki.krap.pl/index.php/NTSC_vs_PAL#Kolory

Kaz 2010-12-19 21:30:30

Tak, trzeba pamietac, ze autor artka caly czas mowi o systemie NTSC. Kluczowe z podanego przez Ciebie linka jest to:

"Drugą kwestią jest efekt artefaktów. Efekt ten występuje w trybach monochromatycznych tylko na komputerach NTSC (w PAL-owskich też występuje, ale jest daleko mniej widoczny i trudniej go kontrolować). W związku z tym programy korzystające z tego efektu na sprzęcie PAL pokazują pionowe pasy w miejscu kolorów widocznych w NTSC. Przykłady to "Tower Toppler", "Choplifter" (wersja mono) czy "Drol". Z kolei programy europejskie (np. "Artefakt przodków", "Kult") w NTSC mogą wyglądać nieładnie lub nieczytelnie. I tu podobnie, powstały w Polsce książki opisujące efekt artefaktów, wprowadzając zamieszanie.

Większość emulatorów Atari nie obsługuje poprawnie efektu artefaktów ani ww. różnic w kolorach. Emulator Atari800 do wersji 2.0.1 zawierał niedokładną emulację artefaktów, od wersji 2.0.2 dodana została poprawna emulacja (przełącznik -ntscemu); zaś dopiero w wersji 2.1.0 pojawiła się obsługa różnic w kolorach."