1

witam, jakis czas temu raportowalem o bledzie:
http://atariarea.krap.pl/forum/viewtopic.php?id=4304

a dzis mi wyszedl taki kwiatek:
http://www.atari.pl/blademu.jpg

wychodzi na to ze w trybie tekstowym gtia przelacza sie w lini na stere ustawienia, sprawdzalem w graficznym i nie przelacza sie a tu.. taki kwiatek

moglby to ktos sprawdzic na prawdziwym atari?

http://atari.pl/hsc/ad.php?i=1.

2

Poprosimy o program.

Jeśli, jak zgaduję, chodzi o przełączenie w linii trybu ANTIC 2 lub 3 z trybu GTIA 00 na inny i z powrotem na 00, to w emulatorze nie ma kodu, który by to prawidłowo obsłużył.

https://www.youtube.com/watch?v=jofNR_WkoCE

3

tak, o to chodzilo

http://atari.pl/hsc/ad.php?i=1.

4

to chyba ten sam blad, ktory mialem zamiar raportowac... :|
W tym demie:
http://atariki.krap.pl/index.php/Entrance_of_Dragon
w czesci z "plazma" scroll na dole jest dziwnie nieczytelny a wystepuje tam wlasnie przelaczanie trybow GTIA (z tego co pamietam, na real'u ten scroll z tekstem wygladal OK).

Czy mam rozumiec, ze to juz tak zostanie i nie da sie tego jakos naprawic na emulatorze? ;)

5 Ostatnio edytowany przez xxl (2006-08-16 07:52:00)

w tym demku nie ma bledu wyswietlania na emu. po prostu za szybko biegnie sroll i nie mozesz przeczytac ;-)





--- dopisek

jeszcze takie pytanie. w srodkowej czesci powyzszego skrina jest tak, ze co druga linia skaningowa ma pixele wielkosci pol cyklu koloru z zabarwieniem z lini wyzej (i co druga) ma pixel 2 cykle koloru - czy cos takiego bedzie wyswietlane na atari (chodzi o to zabarwienie) i co najwazniejsze - bo teoretycznie daloby to 16 kolorow w 2 odcieniach bez migania, ale czy nie zachodzi jakas relacja podobna do watku, ktory juz przytaczalem i w obrebie jednego znaku mozna uzyskac tylko 3 kolory (w 2 jasnosciach) ?

http://atari.pl/hsc/ad.php?i=1.

6

Dracon napisał/a:

Czy mam rozumiec, ze to juz tak zostanie i nie da sie tego jakos naprawic na emulatorze? ;)

Emulator jest open-source. Jak to powiedział zdaje się Linus: "jeśli jest dużo oczu, to żaden błąd nie jest straszny". Czy jakoś tak. :)

https://www.youtube.com/watch?v=jofNR_WkoCE

7

xxl napisał/a:

jeszcze takie pytanie. w srodkowej czesci powyzszego skrina jest tak, ze co druga linia skaningowa ma pixele wielkosci pol cyklu koloru z zabarwieniem z lini wyzej (i co druga) ma pixel 2 cykle koloru - czy cos takiego bedzie wyswietlane na atari (chodzi o to zabarwienie) i co najwazniejsze - bo teoretycznie daloby to 16 kolorow w 2 odcieniach bez migania, ale czy nie zachodzi jakas relacja podobna do watku, ktory juz przytaczalem i w obrebie jednego znaku mozna uzyskac tylko 3 kolory (w 2 jasnosciach) ?

Ponieważ wciąż nie znam kodu, to muszę się domyślać. Domyślam się, że co druga linia jest cała w hiresie. W pozostałych liniach włączasz tryb 11. Jeśli tak, to linie trybu 11 "zabarwiają" następne linie, co jest w pewnym stopniu emulowane. Zazwyczaj stosuje się tę technikę do uzyskania 256 kolorów, ale oczywiście możesz uzyskać 16 kolorów w 2 odcieniach bez migotania (tyle że z ciemnymi paskami co drugą linię). Nawet myślę, że ktoś już coś takiego robił. Wyjaśnienie "zabarwiania" znalazłem niedawno tutaj: http://en.wikipedia.org/wiki/PAL

wikipedia napisał/a:

most receivers use a delay line which stores the received colour information on each line of display; an average of the colour information of the current line and that of the previous line is then used to drive the picture tube.

https://www.youtube.com/watch?v=jofNR_WkoCE

8 Ostatnio edytowany przez xxl (2006-08-16 09:15:03)

Fox napisał/a:

oczywiście możesz uzyskać 16 kolorów w 2 odcieniach bez migotania (tyle że z ciemnymi paskami co drugą linię).

dlaczego z ciemnymi pasami? cale tlo zrobie ciemne (710,0 - na skrinie wyzej nie ma co drugiej lini ciemnej), moze chodzilo o to ze pixele gtia11 moga nie byc widoczne - mozna ustawic dla co drugiej lini bacground na np.15 co rozjasni pixele, przechodzimy do lini gtia00 i znowu background na 0 ? nie wiem jak zachowuje sie grafika p/m - czy zapobiega pobranie koloru z lini gtia11 dla tej z hiresu? jesli nie to nawet te czarne pasy byloby mozna wyeliminowac - rysowanie w czyms takim to masakra. na ekranie pixele o wielkosci 8, 4, 1 (nie mozna sprawdzic pix 2, i 3 odcieni szarosci).

http://atari.pl/hsc/ad.php?i=1.

9

xxl napisał/a:

w tym demku nie ma bledu wyswietlania na emu. po prostu za szybko biegnie sroll i nie mozesz przeczytac ;-)

masz pewnosc? ;-)
Chodzi mi o to, ze w tym scrollu tekst powinien byc w gr. 1 lub gr. 2 a jest taki znieksztalcony jakby byl w trybie GTIA, co zreszta widac na jednym z zalaczonych obrazkow. 
Poza tym szybko sie przewija, z tym sie zgodze.

10

pewny nie jestem ale w dliscie w tym miejscu sa 2 linie gr.0 - jesli dodatkowo wlaczaja tryb gtia to wyswietla sie tak jak trzeba.

pokaz skrina z ta gr.1

http://atari.pl/hsc/ad.php?i=1.

11 Ostatnio edytowany przez seban (2006-08-16 13:28:24)

Hej!

Co do podkolorowania poprzedniej lini wynika to dokładnie z założeń systemu PAL. Po prostu twórcy systemu PAL chcieli zachować zgodność systemu w dół, tak aby kolorowy przekaz PAL dało się obejrzeć bez problemu na czarno-białych odbiornikach. Mieli do dyspozycji jednak kanał o szerokości 6MHz i nie byli w stanie upchąć informacji o kolorze zachowując zgodność z poprzednim standardem, stąd pomysł na zmniejszenie ilości danych o kolorze, bo zostało dowiedzione iż człowiek jest bardziej wrażliwy na zmiany jasności niż na zmiany kolorów

UPDATE!!! okazało się iż bredziłem... w PALu sygnał koloru U i V są przesyłane jednocześnie przy użyciu modulacji kwadraturowej.

chroma= U*sin(wt) + V*cos(wt)

Jednak aby uniknąć rozjechania kolorów poprzez możliwe przesunięcia fazy odbieranego sygnału, informacja o kolorze składana jest z dwóch sąsiadujących linii obrazu, i dlatego  pełną infomacje o kolorze można odtworzyć dopiero po zdemodulowaniu sygnału pochodzacego z dwóch lini ekranowych. Przez co tracimy o połowę mniej informacji o kolorze jednak jest ona bardziej odporna na zakłócenia. Ponieżej male info znalezione w sieci.

PAL is fairly close to NTSC.  Since the power frequency is
50Hz, the frame rate is also 50 Hz.  The line rate is 625 lines.
 However, the Europeans didn't like the color change that can
occur if there is a phase change in the transmission of the
signal.  So on NTSC TV sets there is a HUE or TINT control to
correct for any phase change of the color burst/color signal. 
One way of making an "automatic" hue control is to transmit the
R-Y signal alternately with a phase shift of 90 degrees.  In
every other line the R-Y signal is transmitted inverted.  Since
our eyes are less sensitive to color compared to black/white,
the resolution needed for color is less.  As you know, the
black/white resolution is about 5 MHz, however the color
information transmitted on the color carrier is about 1.4 MHz
wide.  The frequency of the carrier is 4.43 MHz.  So, in PAL,
they assume the vertical resolution can be cut in half without
"affecting" color resolution.  By combining two horizontal
lines, using a delay line in the TV set, two lines can be
combined and any phase error can be cancelled.  Severe phase
changes in the transmission of a PAL signal will show up as weak
colors, but correct colors.  In NTSC it will show up as full
color saturation, but the wrong colors!  It's also a fact that
our eyes are much more sesitive to color hue changes than to
color saturation changes.  So, you will not see green faces in
PAL, but you might see weaker colors.

całe info o wszystkich systemach znajduje się tutaj: http://www.nmia.com/~roberts/vidstd

UPDATE #2 !!! To sugerowałoby iż w NTSC ten problem (a raczej zaleta w przypadku ATARI nie powinna występować), a jednak wydaje mi się iż występuje również, a ponieważ mam w szafie ATARI 800XL w wersji NTSC to postaram się to sprawdzić. Prawdę mówiąc zrobiłem sobie wodę z mózgu czytajac 35 wersji i interpretacji standardów PAL i NTSC... sam już do końca nie wiem jaka jest prawda... achhh... ten internet... śmietnik totalny :) pora zajrzeć do książek :)


. Poniżej proste wzorki opisujące zależności pomiędzy R,G,B a Y,U,V

Y=(R+G+B)
U=(Y-B)
V=(Y-R)

Jak widać przesyłając tylko Y,U,V możemy bez problemu po stronie TV odtworzyć sygnały R,G,B. GTIA jest skonstrułowana tak iż generuje od razu sygnały Y,U,V nie zajmująć się konersją RGB->YUV.

Jeżeli to kogoś dokładniej interesuje, mogę poszukać troszkę więcej informacji na ten tamat w moim śmietniku na dysku.

Ciekawostki o systemach NTSC i PAL, z sieci:

1) W systemie NTSC natomiast, po odtworzeniu fazy podnośnej, na której są przesyłane sygnały różnicowe, następuje ich amplitudowa demodulacja. W systemie PAL - będącym ulepszoną kontynuacją systemu NTSC- podstawowe procesy dekodowania są analogiczne jak w NTSC, ale jednocześnie uzupełnione niezwykle ważnym procesem, polegającym na wprowadzeniu skutecznej kompensacji błędów fazy powstających podczas całej transmisji. Kompensacja błędów fazy polega na takim ich ograniczeniu, aby powodowały jedynie zmianę nasycenia barw, nie zaś ich zniekształcenia.

2) Podstawową niedogodnością systemu NTSC jest wrażliwość na zniekształcenia fazowe toru transmisyjnego, mają one, bowiem bezpośredni wpływ na wierność odtwarzania odcienia barwy. Pomimo, że dopuszczalna zmiana fazy w procesach kodowania i dekodowania wynosi ?5%, w obecnych warunkach jest to trudne do spełnienia i dlatego odbiorniki NTSC są wyposażone w regulatory odcienia barwy, dostępne dla użytkownika. Zniekształcenia wzmocnienia różnicowego wpływają natomiast na zmiany nasycenia barw i jego dopuszczalna tolerancja wynosi ? l dB. Warunek ten jest stosunkowo łatwy do spełnienia.


pozdrawiam
Seban

12 Ostatnio edytowany przez Fox (2006-08-16 11:58:00)

Byłbym wdzieczny. Kiedyś widziałem stronę wyjaśniającą tworzenie kolorów przez GTIA, artifacting itd z rysunkami, teraz nie mogę jej zgoglić.

Z tego co napisali w wikipedii wynika jakoby NTSC nie miało "rozdzielczości dwuliniowej" dla kolorów. Czyżby więc tryby 256-kolorowe (w tym TIP) niezbyt ciekawie prezentowały się w NTSC?

Następna sprawa, że w PALu jest 576 widocznych skanlinii. Jak to się przekłada na atarowe 240?

Słyszałem jeszcze, jakoby artifacting dotyczył tylko NTSC.

update:
Tu jest ta strona: http://www.xmission.com/~trevin/atari/video_notes.html

BTW. Dlaczego rwie się synchronizacja pionowa jeśli najniższa linijka jest w hiresie, a jeśli jest w 15-ce, to nie? Czy w NTSC jest tak samo?

https://www.youtube.com/watch?v=jofNR_WkoCE

13

Fox napisał/a:

Z tego co napisali w wikipedii wynika jakoby NTSC nie miało "rozdzielczości dwuliniowej" dla kolorów. Czyżby więc tryby 256-kolorowe (w tym TIP) niezbyt ciekawie prezentowały się w NTSC?

Zdaje się, że tak właśnie jest.

Następna sprawa, że w PALu jest 576 widocznych skanlinii. Jak to się przekłada na atarowe 240?

576 na dwóch obrazach, AFAIK. Czyli na jednym 288. Co do widoczności, wiele zależy pewnie od regulacji telewizora/monitora.

BTW. Dlaczego rwie się synchronizacja pionowa jeśli najniższa linijka jest w hiresie, a jeśli jest w 15-ce, to nie?

Hm, twierdzisz, że w gr. 15 obraz może mieć 241 (240 + JVB) linii?

KMK
? HEX$(6670358)

14

Fox napisał/a:

Z tego co napisali w wikipedii wynika jakoby NTSC nie miało "rozdzielczości dwuliniowej" dla kolorów. Czyżby więc tryby 256-kolorowe (w tym TIP) niezbyt ciekawie prezentowały się w NTSC?

sprzwdzimy... mam ATARI 800 XL pracujące w NTSC... mam nadzieje że mój TV działa w NTSC :)

Fox napisał/a:

Następna sprawa, że w PALu jest 576 widocznych skanlinii. Jak to się przekłada na atarowe 240?

widzisz... to sztuczka polegająca na pozornym zwiększeniu rozdzielczości (pozornym bo kosztem zmniejszenia frame rate). Klatki parzyste są wyswietlane w liniach parzystych, nieparzyste w liniach nieparzych. Wiec po przesłaniu dwóch ramek masz obraz o rozdzielczości 576. Czyli faktyczny frame rate to 25 klatek na sekundę o pełnej rozdzielczości. Nasza atarka jednak zapodaje to samo w obu tzw. pół-obrazach, wiec faktyczna rozdzielczośc to 576/2=288 lini przy 50 klatkach na sekundę. A te 240 linii to w chyba NTSC wychodzi.


Fox napisał/a:

Słyszałem jeszcze, jakoby artifacting dotyczył tylko NTSC.

a ja tam widze artifacting również w PALu ale moim zdaniem wynika to z niedoskonałości demodulatorów i separatorów chrominancji z zespolonego sygnału wizji. W przypadku podłączenia chroma luma oddzielnie mamy o wiele mniejsze artefakty. Jednak ze względu na budowę sygnału PAL/NTSC można przy pomocy odpowiedniego manipulowania pixelami w hi-res uzyskać kolor :)

to jest sytuacja nieco odwrotna do przedstawionej tutaj: http://www.techmind.org/vd/paldec.html , tutaj gość wpadł na pomysł aby zamiast rozbijać sygnał przy pomocy analogowego toru... próbkuje z bardzo dużą częstotliwością cały sygnał PAL, potem softwarowo dokonuje demodulacji.

A wydaje mi się iż w przypadku ATARI sygnał wizyjny w trybie hi-res ($0f,$02) plus drastyczne zmiany jasności (np. szachownica, paski w stylu $aa, $55) generują dość spore częstotliwości w sygnale wizyjnym i mogą być interpretowane jako część sygnału chrominancji i właśnie niedoskonałosć demodulatorów chrominancji powoduje iż mamy efekt artefaktów.


Fox napisał/a:

BTW. Dlaczego rwie się synchronizacja pionowa jeśli najniższa linijka jest w hiresie, a jeśli jest w 15-ce, to nie? Czy w NTSC jest tak samo?

tego nie wiem... można zobaczyć co się dzieje z sygnałem video na oscyloskopie.


pozdrawiam
Seban

15

drac030 napisał/a:

Hm, twierdzisz, że w gr. 15 obraz może mieć 241 (240 + JVB) linii?

nalezaloby sprawdzic dla roznych szerokosci obrazu 32/40/48 czy czasu starcza na wyswietlanie...

a po co jvb ? rejestry antica i tak sa przepisywane podczas vbi, bez tego rozkazu (jesli dl jest odpowiednio dlugie (za dlugie) antic wyswietli obraz.

moge sie mylic bardzo dawno to sprawdzalem na real atari i moge zle pamietac.

ps. na emulcu tak jest.

http://atari.pl/hsc/ad.php?i=1.

16

xxl napisał/a:

a po co jvb ?

JVB generuje 1 pustą linię TV. Bez JVB masz więc 240 linii do wykorzystania, ale Fox twierdzi, że w gr. 15 może ich być o jedną więcej - i o to tu idzie.

Niestety, nie mam komputera chwilowo, więc nie mogę tego sprawdzić na prawdziwym sprzęcie.

KMK
? HEX$(6670358)

17

Nie mam w tej chwili czasu na pisanie programów, ale mam atarke podpiętą do karty TV. Niech ktoś machnie programik to uruchomie. XXL: zapodaj też programik generujący to, czego screena dałeś w pierwszym poście.

18 Ostatnio edytowany przez xxl (2006-08-16 18:37:15)

http://atari.pl/emubug.obx

przy okazji... dl nie ma jvb i generuje 240 lini - sprawdz czy na atari nie zerwie synchronizacji

druga sprawa to taka, ze zmiana trybu gtia w 1 lini powoduje zwis emulatora (przynajmniej mojego)


--- dodane

w pierwszym poscie byly jeszcze kolory z lewej strony ale to sa playery w multikolorze - nic tu nie wnosza...

jesli mozesz pokaz skrinszota z atari

http://atari.pl/hsc/ad.php?i=1.

19

Proszę bardzo.. Synchronizacja jest zrywana (obraz płynie do góry) i wziąłem klatkę, na której najlepiej widać.

20

http://atari.pl/emubug2.obx

a uruchom to na atari. powiedz co sie pokazalo.

http://atari.pl/hsc/ad.php?i=1.

21

Fox napisał/a:

BTW. Dlaczego rwie się synchronizacja pionowa jeśli najniższa linijka jest w hiresie, a jeśli jest w 15-ce, to nie? Czy w NTSC jest tak samo?

A mi nie zrywało jeśli zamiast na końcu robić skok przez $41 robiłem przez $01. Ale to może to zależy od odbiornika TV ?

22

drac030 napisał/a:

Następna sprawa, że w PALu jest 576 widocznych skanlinii. Jak to się przekłada na atarowe 240?

576 na dwóch obrazach, AFAIK. Czyli na jednym 288. Co do widoczności, wiele zależy pewnie od regulacji telewizora/monitora.

ANTIC generuje dokładnie 240 skanlinii obrazu i normalnie to pokrywa prawie cały obraz (małe czarne marginesy z góry i z dołu). Oczywiście regulacja ma wpływ, ale z tego co widziałem, to nawet te 240 linii na niektórych TV się nie mieści, a co dopiero 288.

drac030 napisał/a:

BTW. Dlaczego rwie się synchronizacja pionowa jeśli najniższa linijka jest w hiresie, a jeśli jest w 15-ce, to nie?

Hm, twierdzisz, że w gr. 15 obraz może mieć 241 (240 + JVB) linii?

Twierdzę, że może mieć 240 (JVB się wtedy nie zmieści i zamiast niego trzeba na vblanku wpisać adres DL). 240 linii hiresu powoduje zerwanie synchronizacji pionowej (różne efekty w rodzaju skrolowania, "zagięcia" obrazu itp), podczas gdy w innych trybach jest ok.

https://www.youtube.com/watch?v=jofNR_WkoCE

23

Fox napisał/a:

ANTIC generuje dokładnie 240 skanlinii obrazu i normalnie to pokrywa prawie cały obraz (małe czarne marginesy z góry i z dołu). Oczywiście regulacja ma wpływ, ale z tego co widziałem, to nawet te 240 linii na niektórych TV się nie mieści, a co dopiero 288.

Foxie... myślę że to 240 wynika z tego iż ANTIC na siłę był zrobiony jako PALowski stąd te nieszczęsne 240 :) Pewnie do tego chcieli zachowac kompatybilność z NTSC... w przeciwnym wypadku byłyby problemy z inną ilością lini generowanych w PAL i inną w NTSC. Co do widocznosci to pewnie  te dwa niewielkie czarne paski u dołu o u góry co zostają to może jest to te 48 lini. Zresztą $d40b ma wartośc od 0-155 w PALu czyli teoretycznie mamy 312 linii wyświetlanych (oczywiście w tym jest też to czego nie widać). W NTSC chyba $d40b dochodzi do mniejszych wartości. Ale to sprawdzę jak znajdę to 800XL w NTSC :)

Seban

24

xxl napisał/a:

http://atari.pl/emubug2.obx

a uruchom to na atari. powiedz co sie pokazalo.

coś takiego

Synchronizacja nie była zrywana.

25

Fox napisał/a:

Twierdzę, że może mieć 240 (JVB się wtedy nie zmieści i zamiast niego trzeba na vblanku wpisać adres DL). 240 linii hiresu powoduje zerwanie synchronizacji pionowej

A 239 hiresu + JVB tego efektu nie powoduje?

seban napisał/a:

W NTSC chyba $d40b dochodzi do mniejszych wartości. Ale to sprawdzę jak znajdę to 800XL w NTSC

Powinien liczyć do 130.

KMK
? HEX$(6670358)