atarionline.pl Wykrywanie PAL/NTSC - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorilmenit
    • CommentTime8 Jan 2020
     
    W jaki sposób najlepiej wykrywać PAL/NTSC (dla przykładowo szybkości odgrywania muzyki)?
    Tebe kiedyś polecał $D014 i to "standardowa" metoda ->link<- , ale mamy modyfikacje.
    Na AtariAge polecają VCOUNT e.g. ->link<- ponieważ ludzie wymieniają NTSC na PAL i są potencjalnie inne modyfikacje.
    • 2: CommentAuthorxxl
    • CommentTime8 Jan 2020
     
    jesli nie zamierzasz zapisac programu na CAR to moze $62 PALNTS - dla komputerow z XL/XE/GS ?
    • 3: CommentAuthormono
    • CommentTime8 Jan 2020 zmieniony
     
    Opcje są dwie, bo i są dwa układy w Atari.
    Sprawdzenie PAL($D014)/PALNTS($62) zwróci Ci tylko informację o GTIA, czyli o tym jakie kolory są generowane przez komputer - to się nadaje tylko do korekty kolorów w grze.
    Policzenie linii VCOUNT (które generuje ANTIC) zwróci info o częstotliwości ramki i to przydaje się do taktowania playera.
    sync1 lda VCOUNT
    sync2 cmp VCOUNT
    beq sync2
    cmp VCOUNT
    bcc sync1

    cmp #[312+262]/2/2

    C=0-NTSC, C=1-PAL

    Edit: Choć bezpieczniejsze na zwisy będzie chyba coś takiego:
    sync1 ldx VCOUNT
    bpl sync1
    sync2 txa
    ldx VCOUNT
    bmi sync2

    cmp #[312+262]/2/2

    Trzeba oczywiście uważać na długi VBLK więc lepiej to robić albo przy wyłączonych NMI albo przynajmniej przy SEI (jeśli na VBLKI nie wisi długa procedura - szczególnie przy NTSC).
    W pierwszej procedurze dwie pętle są dlatego, że przy różnych prędkościach CPU procedura może się zapętlić w nieskończoność bo drugie CMP może złapać jeszcze wartość 156. Efekt opisywał Simius w ->link<- i na AtariAge też gdzieś to wyłapali.
    • 4: CommentAuthortebe
    • CommentTime8 Jan 2020 zmieniony
     
    czy to znowu jest wina ludzi modyfikujących sprzęt, że takie fikuśne fikołki trzeba wyczyniać ?

    czy Atari tak chciało ;) ?

    link do programu ASCRNET-a dokonującego detekcji tego i owego

    ->link<-

    w pliku 'antic_detect.asm' widzimy

    // ANTIC PAL Test for Atari 8-bits
    // (C) 2019 Guillermo Fuenzalida

    .proc @ANTIC

    antic_loop1
    lda vcount
    cmp #100
    bcc antic_loop1 //Wait till scanline 200
    sta scanline
    antic_loop2
    lda vcount
    cmp #10
    bmi antic_loop2_fin
    cmp scanline
    bmi antic_loop2
    sta scanline
    bpl antic_loop2
    antic_loop2_fin
    ldx #$00
    lda scanline
    cmp #135
    bmi ntsc
    inx
    ntsc
    stx palnts
    detect
    mva #1 @antic_detect
    lda palnts
    beq end_antic
    mva #0 @antic_detect
    end_antic
    rts

    scanline
    .byte 0

    .endp


    p.s.
    brakuje w biblioteczce programisty na Atariki wpisu na temat detekcji PAL / NTSC
    • 5: CommentAuthorxxl
    • CommentTime8 Jan 2020
     
    jaka to ma przewage nad detekcja na zasadzie odczytania zawartosci komorki PALNTS ?
    • 6: CommentAuthortebe
    • CommentTime8 Jan 2020 zmieniony
     
    okazuje się że odczytanie PALNTSC prowadzi do detekcji systemu w jakim działa GTIA, natomiast w/w procedury dokonują detekcji systemu w jakim pracuje układ ANTIC

    PALNTSC = GTIADetect only

    p.s.
    w dawnych, zamierzchłych czasach, kiedy plomby nie pozwalały dostać się do środka obudów, odczyt PALNTSC był tożsamy z detekcją obu układów GTIA/ANTIC

    współcześnie będziemy stosować wyrafinowane programy aby wykryć wszystkie dodatkowe urządzenia podpięte pod każdą nóżkę układów GTIA/ANTIC ;)
    • 7: CommentAuthorxxl
    • CommentTime8 Jan 2020
     
    GTIA NTSC i ANTIC PAL?

    ojojojojojoj :D
    • 8: CommentAuthorilmenit
    • CommentTime9 Jan 2020
     
    Dla mnie pisanie tak, aby działało na zmodyfikowanych Atari jest coraz bardziej absurdalne ;) Ale powiedziałem sobie, że nie będę otwarcie krytykował, dopóki chociaż jednego projektu tak nie napiszę.
    Będę zatem co jakiś czas otwierał temat coś zrobić, aby było "prawilnie" i nie po "patokodersku" ;)
    • 9: CommentAuthorxxl
    • CommentTime9 Jan 2020
     
    a ile razy slyszy sie: "zalatwiac wszystko przez system"

    sami wpadaja w swoje sidla ;-)
    • 10:
       
      CommentAuthorpirx
    • CommentTime9 Jan 2020 zmieniony
     
    ja bym się tym anticem tak bardzo nie przejmował - chłopaki w usa montują palowe antiki, żeby pooglądać nasze palowe prodki, czyli celem tego modu jest odpalenie czegoś, co normalnie się nie odpala. na 100 pro mają też amerykańskie atarki, a te grzebane są do zadań specjalnych.
    moim skromnym zdaniem wystarczy obmacać PALNTSC i się dalej nie zastanawiać.
    • 11: CommentAuthorwieczor
    • CommentTime9 Jan 2020
     
    Dokładnie - cały czas nie widzę informacji która to niby modyfikacja uniemożliwia wykrycie systemu w normalny sposób - poza tą, o której wspomniał pirx - tzn. GTIA i ANTIC są w różnych systemach :)
    • 12: CommentAuthorilmenit
    • CommentTime9 Jan 2020
     
    Ludzie np. wymieniają wadliwe GTIA ->link<- i potem by potrzebowali "poprawną" detekcję:
    ->link<-
    Nie trolluję, chcę zrobić projekt, który będzie działać "na wszystkim" i zobaczyć, ile potem będzię uwag "u mnie nie działa" ;)
    • 13: CommentAuthorwieczor
    • CommentTime9 Jan 2020 zmieniony
     
    Ok, ale akurat to się tyczy sytuacji gdy

    if you have repaired machines and GTIAs have been swapped between pal/ntsc machines


    Osobiście nie spotkałem się z taką akrobacją gdy ktoś mając wadliwe GTIA swapuje je na takie nie z tego systemu - raczej z reguły wymienia się wadliwe GTIA PAL na GTIA PAL. Równie dobrze możesz próbować przygotować się na sytuację, gdy ktoś zdemontował jeden z portów joysticka (bo używa tylko jednego ) - to moim zdaniem przesada.

    A jeżli już faktycznie chcesz to tak jak napisano powyżej - policz linie obrazu. System wykrywa się w dwóch celach - kalibracja koloru - tu jest ważna wersja GTIA - synchronizacja - tu jest ważny ANTIC.
    • 14: CommentAuthorAdam
    • CommentTime9 Jan 2020
     
    Z tego co wiem, wymiana w maszynach NTSC ANTIC-a na wersję PAL-ową jest coraz bardziej popularna w Stanach.

    Gdyby Atari miało tylko jeden układ odpowiadający za grafikę, to wystarczyłaby jedna flaga - mamy kłopot bogactwa, ot co ;) A konstruktorzy założyli, że wystarczy sprawdzenie samego wariantu GTIA.
    • 15: CommentAuthormono
    • CommentTime9 Jan 2020
     
    U ABBUC-ów się pojawiło coś takiego chyba rok temu: ->link<-
    • 16: CommentAuthorzbyti
    • CommentTime9 Jan 2020 zmieniony
     
    Marzy mi się współczesna pozycja książkowa (uwzględniająca najnowszy sprzęt, trendy etc.) o programowaniu na A8/C64/ZX/CPC - ktoś coś wie?

    Ja jedynie zanotowałem w pamięci ostatnią reedycję na A8 książki o asm i ambicję @bocianu napisania czegoś o MadPascalu :)

    Sam chciałem na bazie MadPascala zrobić jakiś wstęp do programowania szachów ale "życie mnie zaskoczyło" i sprawa kodowania leży (jak i zdobywania samej wiedzy o programowaniu szachów) a co dopiero napisanie jakiejś broszury.
    • 17:
       
      CommentAuthorKaz
    • CommentTime9 Jan 2020
     
    Podejrzewam, że przeróbka polegająca na przełączniku PAL/NTSC będzie zyskiwać na popularności. Z dwóch względów: a) ludzi z NTSC zyskują dostęp do softu pod PAL, b) ludzie z PAL mogą otrzymać lepsze wrażenie w niektórych grach. Tak jest przecież np. z Moon Patrol Redux - na kompie NTSC gra działa nieco szybciej i jest płynniejsza, na kompie PAL są delikatne szarpnięcia i rozgrywka bardziej dla emerytów ;). Różnica jest też oczywiście w prędkości odtwarzania muzyki, co słychać wyraźnie.

    zbyti:

    o programowaniu na A8/C64/ZX/CPC - ktoś coś wie?


    Obawiam się, że o A8 musisz sam napisać :) Problem z tego typu książkami jest taki: a) wymagają ogromnej wiedzy, którą mają nieliczni, b) nakład pracy do fazy wydania książki jest olbrzymi, c) odbiorców książki będzie niewielu, nawet jeśli to będzie 500 osób, to dalej nie zarobisz na tym tyle, by się zwrócił nakład pracy.
    • 18: CommentAuthorzbyti
    • CommentTime9 Jan 2020 zmieniony
     
    @Kaz są jeszcze maniacy co piszą manuale ;)

    Obadaj to: DurexForth ->link<- ->link<- ->link<-

    Chcę dziś nauczyć się trochę podstaw bo się spóźniłem o 25 lat z nauką :D Tak dla higieny umysłowej ;)

    @ilmenit przepraszam, zaśmieciłem ważny wątek...
    • 19:
       
      CommentAuthorKaz
    • CommentTime9 Jan 2020 zmieniony
     
    Ale to pojedynczy program, a to jest do niego 31-stronicowa broszurka, instrukcja obsługi programu. Myślałem, że chodzi ci o książkę, która zawiera np. jakieś porównania języków (wad, zalet), techniki programowania z uwzględnieniem uwarunkowań Atari czy nowych odkryć (np. w zakresie grafiki czy muzyki). Żeby uczyło tworzenia programów na różnych współczesnych sprzętach (np. z większą pamięcią, stereo) czyli wiedza była w miarę aktualna, a nie z lat 80tych :)

    PS. W zakresie Fortha polecam tę książkę, z której ja się uczyłem - Jan Ruszczyc "Poznajemy Forth", 220 stron, dostępny w naszej biblioteczce:

    ->link<-

    • 20: CommentAuthorzbyti
    • CommentTime9 Jan 2020 zmieniony
     
    @Kaz no to dobrze mnie zrozumiałeś :] Chciałbym książkę dokładnie taką jak opisałeś, może nie aż tak przekrojową a skupioną na jednym języku programowania.

    Zamieściłem Durex bo nawet broszurka w tego typu oprogramowaniu to dziś rzadkość.

    Tak, mam już tę książkę co polecasz bo czytałem na temat tego języka dwa wątki na tym forum i brzmiało ciekawie :]