NTSC vs PAL
From Atariki
Wśród użytkowników Atari, programistów i wszelkiej maści autorów podręczników narosło wiele mitów na temat różnic między modelami w wersjach PAL i NTSC, w szczególności zaś dotyczących częstotliwości taktowania CPU i długości ramek oraz linii. Poniżej wyjaśniono krok po kroku co wpływa na te różnice i jak obliczyć poprawne wartości.
Spis treści |
NTSC
Atari zostało zaprojektowane w USA, stąd ścisła zależność pomiędzy częstotliwością zegara a systemem telewizyjnym NTSC.
Atari działające w systemie NTSC jest zsynchronizowane z częstotliwością "podnośnej koloru NTSC" czyli częstotliwością na której modulowany (kodowany) jest sygnał koloru, mieszany następnie z sygnałem obrazu czarno-białego. Nominalna częstotliwość podnośnej koloru to 315/88 = 3,579(54) MHz. Atari 400/800 jest wyposażone w kwarc o nieco wyższej częstotliwości 3,579575 MHz (nr kat. C010177 lub C015510). Modele XL bez układu FREDDIE mają dokładniejszy kwarc 3,579545 MHz (nr kat. C016010), te z FREDDIE zaś mają kwarc o czterokrotnie wyższej częstotliwości 14,31818 MHz, która jest potem wewnętrznie dzielona przez 4, dając ten sam wynik.
Sygnał o tej częstotliwości taktuje ANTIC-a i jest wewnętrznie dzielony przez 228 dla uzyskania częstotliwości synchronizacji poziomej (w tym przypadku 15,700 kHz). Wynika z tego że w jednej linii komputer generuje 228 kolorowych punktów (z czego 160 to treść obrazu, a reszta to wygaszanie (HBLANK) i synchronizacja pozioma). Z uwagi na synchronizację ANTIC-a i CPU, ten drugi jest taktowany połową wartości tego sygnału, czyli 1,7897875 MHz (400/800) lub 1,7897725 MHz (XL/XE). (Częstotliwość 1,7897875 MHz jest zazwyczaj w literaturze zaokrąglana do 1,78979 MHz lub 1,79 MHz.)
PAL
Ponieważ "podnośna koloru" w PAL-u wynosi 4,43361875 MHz, pojawił się problem. Gdyby chcieć tylko zmienić kwarc na częstotliwość podnośnej, zmieniłaby się rozdzielczość pozioma. W linii nie mieściłoby się już 228 punktów, lecz 283 (wynika to z tej samej kalkulacji co wyżej - częstotliwość kwarcu podzielona przez częstotliwość poziomą). Zegar taktujący procesor miałby 2,216809 MHz, czyli połowę częstotliwości kwarcu, i tyle też podają błędnie niektóre źródła.
Brak kompatybilności rozdzielczości poziomych w obu systemach spowodował, że inżynierowie Atari zdecydowali się zastosować dwa oddzielne kwarce, jeden dla ANTIC-a, CPU i GTIA, a drugi do generowania podnośnej PAL. Ponieważ jednak częstotliwość podnośnej NTSC ma się nijak do podnośnej PAL, przy niezależnej pracy obu kwarców występowałby na ekranie nieprzyjemny efekt przesuwającej się siatki. Aby zsynchronizować pracę obu kwarców, konieczna była mała korekta częstotliwości kwarcu systemowego na 3,546894 MHz. W ten sposób na 5 impulsów kwarcu 4,433618 MHz przypadają 4 impulsy kwarcu 3,546894 MHz. Ten ostatni, podobnie jak poprzednio podzielony przez dwa, taktuje procesor, w tym przypadku z częstotliwością 1,773447 MHz. (W literaturze zaokrąglanej do 1,77 MHz.)
W komputerach z układem FREDDIE zamiast dzielić częstotliwość 3,546894 MHz przez dwa, dzieli się 14,187576 MHz przez osiem, co wychodzi na to samo.
Podsumowanie
Częstotliwość kwarcu systemowego:
- 400/800 NTSC: 3,579575 MHz
- XL/XE NTSC: 3,579545 MHz (dokładnie 3,579(54) MHz) lub 14,31818 MHz
- PAL: 3,546894 MHz lub 14,187576 MHz
Częstotliwość linii:
- NTSC: 3,579575 MHz/228 lub 3,579545 MHz/228 = 15,700 kHz
- PAL: 3,546894 MHz/228 = 15,557 kHz
Częstotliwość ramek:
- NTSC: 15,700/262 = 59,92 Hz
- PAL: 15,557/312 = 49,86 Hz
I najważniejsze:
- Częstotliwość CPU NTSC (400/800): 1,7897875 MHz
- Częstotliwość CPU NTSC (XL/XE): 1,7897725 MHz (dokładnie 1,7897(72) MHz)
- Częstotliwość CPU PAL: 1,773447 MHz
Jak widać różnica jest bardzo niewielka (komputer NTSC jest szybszy o ok. 1%), a podstawowa niekompatybilność obu systemów polega na tym, że NTSC generuje przerwanie VBL co 262 linie obrazu (czyli ok. 60 razy/sek), a PAL co 312 linii (czyli ok. 50 razy/sek).
Kompatybilność
Prędkość
Różnica w częstotliwości odświeżania ekranu ma pewne znaczenie, jeśli chodzi o kompatybilność oprogramowania. Zasadniczo, oprogramowanie użytkowe nie uzależnia swojego działania od prędkości działania komputera, więc programy powstałe po jednej stronie oceanu działają bez problemów na komputerach z drugiego końca świata.
W przypadku gier czy dem nie jest niestety tak dobrze - oprogramowanie z tej kategorii zazwyczaj jest zsynchronizowane z przerwaniem VBL. Efekt jest taki, że gry lub dema powstałe w USA na komputerach europejskich działają wolniej (50/60, czyli 83,3% prędkości) niż było to zamierzone przez twórców, i na odwrót - gry europejskie działają o 20% za szybko na komputerach amerykańskich. O ile uruchomienie programu z USA na komputerze PAL poza spowolnieniem nie powoduje innych błędów (między kolejnymi VBL jest więcej czasu), to w odwrotnej sytuacji często bywają problemy. Wynika to z mniejszej ilości czasu między przerwaniami VBL na komputerach NTSC - programy PAL-owskie po prostu się nie wyrabiają.
Przykładem jest gra Elektra Glide, powstała w Anglii. Zadaniem gracza jest przejechać określoną trasę w wyznaczonym czasie. Ukończenie tej gry na amerykańskiej wersji sprzętu jest prawdopodobnie niemożliwe, ponieważ licznik czasu jest zsynchronizowany z VBL, więc na komputerach NTSC przyspiesza. Natomiast prędkość gry (w tym prędkość pojazdu) nie zmienia się - graczowi zostaje więc za mało czasu na ukończenie etapu.[1] Mimo tego gra została wydana w USA przez Mastertronic.
Także większość dem stworzonych w Europie działa błędnie, lub w ogóle się nie uruchamia na komputerach NTSC.
Niewielu autorów gier było świadomych tego problemu i modyfikowało swoje programy przed ich wydaniem za oceanem. Przykłady:
- "International Karate" - efektem uruchomienia gry na komputerze NTSC są występujące czasem błędy w grafice zawodników. Wersja amerykańska, zatytułowana "World Karate Championship", została zmodyfikowana tak, że rozgrywka (a także muzyka w tle) jest nieco wolniejsza, co powoduje, że WKC na komputerze NTSC działa z mniej więcej taką samą prędkością co IK na komputerze PAL.
- "Rescue on Fractalus!" - w wersji wydanej w Europie przez Activision zmieniono prędkość odtwarzania muzyki, aby na komputerach PAL grała tak samo jak amerykański oryginał na komputerach NTSC. Prędkość rozgrywki nie została natomiast dostosowana. W efekcie dźwięki i niektóre zdarzenia w grze są odtwarzane wolniej na komputerach PAL, bo ich odtwarzanie jest zsynchronizowane z VBL - ale samo renderowanie górzystego terenu, które zsynchronizowane nie jest, działa z mniej więcej taką samą prędkością w obu systemach.
W XXI wieku świadomość różnic jest dużo bardziej rozpowszechniona (tak jak ogólna wiedza o Atari), i europejscy autorzy gier starają się dostosowywać swoje dzieła do standardu NTSC. Przykładem jest gra "Yoomp!", mająca 2 wersje - wersja PAL odświeża ekran co 2 ramki, wersja NTSC działa w 3 ramkach i ma dostosowaną prędkość rozgrywki. Dodatkowo, z uwagi na mniejszą częstotliwość odświeżania, autorowi udało się zwiększyć długość widocznego tunelu - w wersji NTSC gracz widzi przed sobą 5 kafelków, o 1 więcej niż w wersji PAL.
Kolory
GTIA w wersji NTSC generuje inne kolory i nieco większą ich paletę niż w wersji PAL (w wersji PAL kolory o kodach $1x i $Fx są identyczne). W efekcie amerykańskie gry uruchomione na PAL-owskich komputerach mają czasem dziwne kolory (zielone niebo itp.). Nieliczne gry dostosowują paletę kolorów do standardu telewizyjnego; przykłady to "Pole Position" i "Ms Pac-Man".[2] Polskie publikacje o tematyce Atari nierzadko powielały informacje o kolorach ze źródeł amerykańskich, w efekcie wprowadzając w błąd. Przykładowo, w Tajemnicach Atari 6-7/92 w artykułach "Mapa pamięci"[3] i "Piszemy demo"[4] podane są dwie tabele kolorów, każda znacząco inna.
Drugą kwestią jest efekt artefaktów. Efekt ten występuje w trybach wysokiej rozdzielczości 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.
Emulatory Atari dość długo nie obsługiwały 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.
Geometria ekranu
W standardzie NTSC obraz generowany przez Atari ma 262 linie, w PAL zaś jest ich 312, gęściej "upakowanych" na ekranie. W efekcie stosunek szerokości do wysokości piksela w systemie PAL (7,375 MHz / 7,093788 MHz = 1,039642) jest większy niż w NTSC (6,136 MHz / 7,15909 MHz = 0,8571)[5], co oznacza że w PAL-owskim Atari piksele są prawie kwadratowe, natomiast w NTSC są nieco wydłużone w pionie. Ta różnica szczególnie rzuca się w oczy w programach, które wyświetlają proste kształty geometryczne, np. koła, albo poruszają obiektami na ekranie w kierunkach ukośnych. Przykłady:
- "Yoomp!" - w systemie PAL wyświetlany tunel jest okrągły, natomiast w NTSC jest on wyraźnie rozciągnięty w pionie.[6]
- "Commando" - w systemie NTSC naboje gracza lecą z mniej-więcej równą prędkością gdy wystrzelono je w pionie lub poziomie, a wystrzelone na ukos lecą pod kątem bliskim 45°. W PAL ruch nabojów jest zaburzony wskutek "spłaszczenia" ekranu.
Można ten efekt zobaczyć w emulatorze Atari800, ustawiwszy opcję "Display Settings" -> "Video Mode Settings" -> "Image aspect ratio" = "authentic".
Należy jeszcze przypomnieć, że wyświetlacze CRT prezentują obraz o proporcjach 4:3 (1,33:1), w odróżnieniu od wyświetlaczy LCD gdzie te proporcje to najczęściej 16:9 (1,78:1).
Grywalność
Wszystkie wspomniane różnice mają wpływ na jakość gier. Poza skrajnymi przypadkami, jak "Elektra Glide", uruchomienie gry na nieodpowiednim systemie zmienia jakość grafiki, albo spowalnia/przyspiesza rozgrywkę, zmieniając jej poziom trudności. Daje to efekt niezgodny z zamierzeniami autorów, co może mieć znaczenie dla purystów chcących odbierać wrażenia z gry jak najbardziej bliskie oryginalnemu zamysłowi.