NTSC vs PAL
From Atariki
←Older revision | Newer revision→
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.759(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!" - wersja kasetowa, wydana w Europie przez Activision, wyraźnie szybciej odtwarza muzykę tytułową niż amerykański oryginał. Jednak różnica w prędkości odświeżania ekranu podczas gry, o ile w ogóle istnieje, nie jest odczuwalna.
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 (w przygotowaniu) 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; jedyne znane przypadki 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.
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.
Geometria ekranu
W standardzie NTSC obraz generowany przez Atari ma 262 linie, w PAL zaś jest ich 312. Oznacza to, że w PAL-owskim Atari piksele są prawie kwadratowe, natomiast w NTSC są nieco wydłużone w pionie - ponieważ stosunek wysokości do szerokości piksela w systemie PAL jest mniejszy niż w NTSC. Jest to szczególnie widoczne w grze Yoomp! - w systemie PAL wyświetlany tunel jest okrągły, natomiast w NTSC jest on wyraźnie rozciągnięty w pionie.[5] Można ten efekt zobaczyć emulatorze Atari800, po włączeniu filtrowania NTSC (Display Settings -> NTSC artifacting = NTSC filter).
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.