26

eru napisał/a:

To teraz może jeszcze wymyśli ktoś przesuwanie w poziomie? :)

Ale mam 1 poważne pytanie - czy to działa? testował ktoś to na różnych maszynkach? I jeśli działa - jakie są szansę na emulację tego? :)

Ad1.  Samar zrobił już takie coś w poziomie, lecz standardowo o cały piksel. Czyli jest to interlace z przeplotem pionowym, nie jak dotąd najczęściej spotykanym poziomym przeplotem.
A.  640x192, zwało się to SHIMC
    -  liczba kolorów zwiększa się ze standardowych 2-óch do 4-ech
B. 320*192
    -  z dużą ilością kolorów (tzw. mapa kolorów) i olbrzymią paletą 16384 barw

Szczegóły na stronie MadTeamu w dziale użytki, a tu instrukcja


Ad2. Na 65XE PAL i wypalonym monitorze Commody 1084 rozmywa się Tiny text 8x6

27

U mnie dziala na TV PAL (przez wejscie antenowe) oraz przez konverter Composite/SVideo-to-VGA AverTV Box 7 na monitorze VGA. Scroll jest poprawny tzn. nie rozjezdza sie, jak to jest pokazane na zdjeciu wyzej. Niesamowity widok :-)

28

pajero: SHIMC niestety mruga pixlami w tym samym położeniu. Przesunięcie obrazu o 1/4 cyklu koloru może być niemożliwe... jak wiele innych rzeczy, które już zostały zrobione. ;)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

29 Ostatnio edytowany przez seban (2009-06-07 15:47:25)

tebe napisał/a:

czyli jest to sprzętowy interlace, mając tylko jedna klatkę obrazu włączając ten tryb uzyskamy interlace ?

Wtedy niestety uzyskasz w liniach parzystych nieparzystych dokładnie ten sam obraz... aby była dwa razy większa rozdzielczość musisz mieć dwie klatki obrazu... zawierające linie parzyste i nieparzyste.
Czyli obrazek 480linii i 2 DL-ki w których w pierwszej masz linie: 0,2,4,6,8  w drugiej 1,3,5,7,9... tak jak w przypadku softwarowego interlace... cały myk polega na tym że w tej dodatkowej klatce którą dokładasz te linie rysują się naprawdę pomiędzy tymi z normalnej klatki... masz dwa razy większą rozdzielczość tyle że narysowanie tego trwa dwie klatki ;)

Przy obrazach dynamicznych (np. jakimkolwiek ruchu w poziomie) pojawiają się oczywiście wszystkie problemy związane ze zjawiskiem przeplotu.

pavros napisał/a:

Scroll jest poprawny tzn. nie rozjezdza sie, jak to jest pokazane na zdjeciu wyzej. Niesamowity widok :-)

Znaczy że twój VGA converter dokonuje deinterlaceingu, albo jednak nie rozumie informacji że nadawana jest klatka nieparzysta.

pozdrawiam
Seban

30

Seban:
Nie bardzo rozumiem o co ci chodzi. U mnie scroll jest prawidlowy. Natomiast nieprawidlowy jest na screenshocie powyzej. Natomiast jezeli chodzi o deinterlace to tak, moj konwerter dokonuje go. Dzieki temu na monitorze VGA obraz mi nie miga tak jak na telewizorze.

31 Ostatnio edytowany przez seban (2009-06-07 21:21:40)

chodziło mi o to że jak wykonamy screen-shoota używając karty TV w pełnej rozdzielczości PAL (720x576) to karta złapie dwa pół-obrazy. Pełna klatka będzie się składała z dwóch pół-obrazów... Jeden będzie zawierał linie parzyste a drugi nieparzyste. Scroll w każdym z pół-obrazów będzie miał inną pozycję (zakładam że scrollujemy co 1 ramkę, a więc 50 razy w ciągu sekundy) co powinno wyglądać tak jak na obrazku załączonym przez Rybags-a...

jeżeli jakiś dekoder PAL nie zrozumiałby nowych imp. synchronizacji pionowej wygenerowanych przez procedurę Rybags-a to nie widziałbyś tego charakterystycznego poszarpanego efektu, no chyba że karta ma włączone sprzętowe usuwanie przeplotu i na swoim wyjściu generuje już obraz z usuniętym przeplotem (25FPS progressive).

32

czyli Rybagsowi udało się przesunąć obraz w pionie o pół linii HiRes, taki HIP w pionie

ciekawe czy Fox albo Eru wyświetlą TIP-a z takim interlacem

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

33 Ostatnio edytowany przez eru (2009-06-07 23:44:24)

Skoro każda linia ekranowa Atari jest wyświetlana przez 2 półekrany, raz górna, raz dolna odpowiadająca linia ekranu tv, to w sumie coś takiego już mamy w HIPie... Konkretnie widzimy:

E1a H1a <- w pierwszej ramce, wyświetlamy GR9 tutaj
E1b H1b <- w drugiej ramce, wyświetlamy GR10
E2a H2a <- w pierwszej ramce, wyświetlamy GR10 tutaj
E2b H2b <_ w drugiej ramce, wyświetlamy GR9

E1a i E1b to dwie sąsiadujące linie fizyczne na ekranie monitora, a H1a i H1b to 1 linia HIPa, którą interejsujemy GR9/10. Niestety, pokazać jesteśmy w stanie tylko 1 linię z nich na pół obraz, zatem nie możemy za bardzo tutaj coś poprawić. Ofkorz, przy pełnej kontroli, można by teraz skrolować HIP o pół linii Atari, ale nie zwiększymy chyba rozdziałk interlejsem pionowych, bo już i tak mruga.

Inne pytanie mam - jeśli powyższe jest prawdą, to w sumie na monitorach powinniśmy widzieć HIPa jako taki tryb trochę jak Hard zrobili przed HIPem - taki pół HIP, bez mrugania na zmianę 9 i 10, tylko w 2x rozdziałce...

Ech, niech ktoś to zaemuluje (pewnie masakra - może jakiś "hint" dla emulatora wpleść w kod?), to zacznę myśleć, bo tak na sucho to nie wiem co z tym zrobić...

: 404. Stopka not found

34 Ostatnio edytowany przez Fox (2009-06-08 08:50:18)

Mnie zastanawiają dwie rzeczy:
1. Dlaczego 30 lat temu nie zrobili w GTIA bitu, który pozwoliłby się przełączyć między półobrazem parzystym a nieparzystym?
2. Czy normalna nieinterlejsowana grafika będzie wyglądać lepiej czy gorzej, gdy będziemy przełączać półobrazy? Jak wiadomo, na telewizorach widać skanlinie obrazu z Atari, może jak włączymy interlace, to obraz będzie wyraźniejszy?

Co do nowych trybów: nie spodziewałbym się rewolucyjnej poprawy trybów, które już wykorzystują stary (migający) interlace. Wygodne byłoby przełączanie trybów 9/10 co ramkę, a nie co skanlinię (byłoby łatwiej robić efekty w HIP/TIP), ale podejrzewam, że to jednak będzie migać (chyba, że telewizor 100Hz - ma ktoś taki?). Najwięcej zyskają tryby bez interlace - G2F, GR8 itp.

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

35 Ostatnio edytowany przez seban (2009-06-08 09:41:06)

Fox napisał/a:

1. Dlaczego 30 lat temu nie zrobili w GTIA bitu, który pozwoliłby się przełączyć między półobrazem parzystym a nieparzystym?

Wydaje mi się iż spowodowane było to tym iż bardziej komfortowe przy statycznych obrazach typu tekst, grafika było wyświetlanie ich 50 razy na sekundę w niższej rozdzielczości niż robić migające 25 obrazów co pewnie przy edycji tekstu i pisaniu programów byłoby bardzo denerwujące dla użytkownika. Poza tym chyba ciężkie byłoby uzyskanie takiego trybu pracy w przypadku trybów tekstowych. Nikt chyba nie myślał wtedy aby robić układ graficzny który mógłby generować na wyjściu obraz w trybie interlace... pierwszym przykładem użycia tego typu trybów była dopiero Amiga ze swoimi trybami x512.

Fox napisał/a:

Co do nowych trybów: nie spodziewałbym się rewolucyjnej poprawy trybów, które już wykorzystują stary (migający) interlace. Wygodne byłoby przełączanie trybów 9/10 co ramkę, a nie co skanlinię (byłoby łatwiej robić efekty w HIP/TIP), ale podejrzewam, że to jednak będzie migać (chyba, że telewizor 100Hz - ma ktoś taki?). Najwięcej zyskają tryby bez interlace - G2F, GR8 itp.

No a co do trybów interlace to chyba wszystkie mieszanki trybów 9,10,11 będą oczywiste :) Żadnego DLI co jedną linię ekranową ;) W jednej klatce wyświetlasz tryb 9, potem przełączasz się na linie nieparzyste i wyświetlasz np. tryb 11 ;) mamy 256 kolorów i dużo czasu aby coś jeszcze w tym trybie rysować :D

A migać to będzie w/g o wiele mniej bo linie np. trybu 9 będą zawsze w tym samym miejscu a linie trybu 11 w swoim, bezwładność CRT pozwoli zachować o wiele mniejsze migotanie obrazu niż w przypadky wyświetlania w tym samym miejscu dwóch różnych trybów na przemian. Ale to tylko moje domysły trzeba sprawdzić w praktyce.

36

dli dwa razy na ekran (raz na kazdy polobraz), miast raz na linie powinno sporo cylki zostawic, tak wiec rzeczywiscie dema moga nabrac "nowej jakosci".

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

37

Seban: No wlasnie. Zakladasz, ze scroll jest przesuwany co 1 ramke a tymczasem jest on przesuwany co 2 ramki. Dzieki temu w dwu kolejnych polobrazach jest on w tej samej pozycji. Postaram sie wieczorem podlinkowac screenshota z mojego monitoar VGA, gdzie widac, ze scroll sie nie rozjezdza. To co widac na obrazku Rybagsa wg mnie oznacza, ze jego konverter/karta TV "spina ze soba" niewlasciwe dwa polobrazy to znaczy drugi z jednej pary i pierwszy z nastepnej pary.

38

seban: obraz na tv tez sie sklada z 50ciu polobrazow, wyswietlajac 25 klatek na sekunde, czy widzisz jak to na tv mruga? chyba nie...
pavros: jak sie domyslam - nie powoduje to dodatkowego "zmniejszenia plynnosci" scrolla

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

39 Ostatnio edytowany przez seban (2009-06-08 10:26:28)

pavros: Ale scroll jest wykonany na VBL co jedną ramkę... (zajrzałem w kod) co VBL rejestr HSCROLL jest de facto zwiększany o 1 lub o 2 jeżeli wciśniesz OPTION. Adres procedury scroll-a jest od $41E6.

jellonek napisał/a:

seban: obraz na tv tez sie sklada z 50ciu polobrazow, wyswietlajac 25 klatek na sekunde, czy widzisz jak to na tv mruga? chyba nie...

To zależy od treści i czasu reakcji kineskopu. I poza tym jak robisz softwarowy interlace to myślisz że jaki frame rate uzyskujesz? dokładnie 25FPS więc miganie jest dokładnie takie samo :)

A tak poza tym to nie ma co się spierać tylko sprawdzić trzeba fakty w rzeczywistości :) To nowy pomysł i teraz trzeba po prostu sprawdzić go w praktyce :D Oczywiście nie zakładam iż nie mylę się... sam nie sprawdzałem jeszcze nic dokładniej więc jak najbardziej mogę się mylić. W domu nie mam nic z CRT więc zanim będę mógł powiedzieć jak to wygląda na CRT minie chwilka.

40 Ostatnio edytowany przez jellonek (2009-06-08 10:27:43)

no nie zupelnie to samo - w przypadku parzysty/nieparzysty masz przesuniecie o linie polobrazow, przy "naparzaniu" caly czas tymi samymi - przesuniecia nie powinno byc chyba (powinny sie nakladac).
no mam dzis pokupic kable/gniazda/wtyki i podpiac atarke pod peceta - to sprawdze.se ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

41

eru napisał/a:

E1a i E1b to dwie sąsiadujące linie fizyczne na ekranie monitora, a H1a i H1b to 1 linia HIPa, którą interejsujemy GR9/10. Niestety, pokazać jesteśmy w stanie tylko 1 linię z nich na pół obraz, zatem nie możemy za bardzo tutaj coś poprawić. Ofkorz, przy pełnej kontroli, można by teraz skrolować HIP o pół linii Atari, ale nie zwiększymy chyba rozdziałk interlejsem pionowych, bo już i tak mruga.

Chyba, że zrobimy cross'a - w klatce parzystej GR9, bez przesunięcia cząstkowego w pionie, a w parzystej GR10 z przesunięciem cząstkowym.

42

Ale przecież przesunięcie o 1 linię ekranową (pół linii Atari)  się wykonuje teraz już...
Ciekawsze, czy da się wymusić mieć 50fps z rysowaniem 240 cienkich linii w tym samym miejscu (np tylko parzystych) - może wtedy będzie mniej mrugać? Ale czy kineskop nie wybuchnie? :)

: 404. Stopka not found

43 Ostatnio edytowany przez Fox (2009-06-08 11:00:18)

Konop: Rozumiem, że chodziło o klatkę parzystą i nieparzystą. Taki HIP może wyglądać dobrze, ale kolory (CIN, TIP) - wątpię. Dekoder PAL skleja kolory w sąsiednich liniach, ale raczej nie między półobrazami.

Eru: Nie rozumiem. :)

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

44 Ostatnio edytowany przez seban (2009-06-08 11:05:00)

eru: no 50fps masz tylko gdy rysujesz jeden z półobrazów, automatycznie gdy chcesz rysować dwa to pełna klatka ma 25FPS bo potrzeba dwóch pół-obrazów do jej stworzenia. Czyli VBL masz nadal 50Hz tyle że cała klatka powstaje ze złożenia dwóch ramek... jedna zawiera linie parzyste druga linie nieparzyste obrazu (tak jak w zwykłym programowym interlace). Patent Rybags-a daje ci to magiczne przesunięcie o pół linii w dół, tak że faktycznie linie nieparzyste są rysowane tam gdzie powinny być a nie w tym samym miejscu jak w przypadku dotychczasowych rozwiązań.

Fox napisał/a:

Dekoder PAL skleja kolory w sąsiednich liniach, ale raczej nie między półobrazami.

Aaaaa.. Foxie masz rację... zupełnie o tym zapomniałem :( Mój pomysł mieszania 9,11 przy pomocy półobrazów upadł. No cóż... jak się pisze szybciej niż myśli to wychodzi się na durnia ;) I właśnie to zrobiłem ;)

45

Proszę o wyjaśnienie, która klatka jest parzysta, a która nieparzysta ("zwykła" czy "Rybagsa"), która jest niżej i czy jest coś takiego jak para półobrazów o ustalonej kolejności. Zwracam też uwagę, że niekoniecznie musimy wyświetlać naprzemian parzyste/nieparzyste - może np. miałoby sens dwie zwykłe i jedna "Rybagsa" ?

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

46 Ostatnio edytowany przez Marek Konopka (2009-06-08 11:14:34)

Fox napisał/a:

Konop: Rozumiem, że chodziło o klatkę parzystą i nieparzystą.

Tak.

W zamyśle chodziło o wyświetlanie w klatce parzystej GR9, linia za linią (atarowską), oraz GR10 w nieparzystej. Takie połączenie przesunięć "podpikslowych" w obu wymiarach.

47 Ostatnio edytowany przez Krótki (2009-06-08 11:09:00)

seban napisał/a:

A migać to będzie w/g o wiele mniej bo linie np. trybu 9 będą zawsze w tym samym miejscu a linie trybu 11 w swoim, bezwładność CRT pozwoli zachować o wiele mniejsze migotanie obrazu niż w przypadky wyświetlania w tym samym miejscu dwóch różnych trybów na przemian. Ale to tylko moje domysły trzeba sprawdzić w praktyce.

Obawiam się, że migotanie będzie znacznie większe. Zamiast wyświetlania dwóch obrazów o względnie równej luminancji proponujesz wyświetlanie na zmianę obrazu o luminancji dowolnej (gr.9) i obrazu o luminancji zerowej (gr.11). Założę się że to będzie wyglądać tragicznie.

Poza tym bezwładność CRT to mit. W normalnym obrazie TV nie widać migotania nie dlatego, że jest jakaś bezwładność, ale dlatego, że sąsiednie linie ekranu mało kontrastują ze sobą.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

48 Ostatnio edytowany przez seban (2009-06-08 11:11:52)

Fox: sprawdzę na oscyloskopie oglądając imp. synchronizacji i dam znać ale to muszę z domu się ruszyć do lepszego oscyloskopu.

Krótki: Fox mnie uświadomił (parę postów wyżej) że mój pomysł to porażka z innego względu ;)

49 Ostatnio edytowany przez Marek Konopka (2009-06-08 12:46:50)

O coś takiego mi chodziło. Przepraszam za jakość.

http://img269.imageshack.us/img269/9905/crosship.th.jpg

Alternatywnie można rozważyć wyświetlanie co drugą linię w danej klatce. W takim wariancie tracimy część luminancji obrazu (1/4 lini będzie pusta).

50 Ostatnio edytowany przez Candle (2009-06-08 12:33:43)

ale dekoder pal nie czeka na kolejna klatke polobrazu zeby dekodowac sygnal chrominacji i uzywa do tego po prostu kolejnej linii jaka przyjdzie, wiec mieszanie gr9/11 niewiele raczej wniesie

no tak, fox juz to napisal :)

przechodze na tumiwisizm