atarionline.pl Efekt "trójtrybu" - 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:
       
      CommentAuthorKaz
    • CommentTime7 Feb 2010 zmieniony
     
    Sadzilem, ze "The Unity Project" z 1992 roku bylo pierwszym demem, ktore prezentowalo efekt w postaci trzech trybow graficznych jednoczesnie w linii (hi-res, GTIA, GR15).

    Ale przegladam wlasnie stare demka i widze "Impossible Demo" z 1989 roku, gdzie Rudy Haegeman tez to pokazuje:





    Moze ten blad byl znane i wykorzystany gdzies jeszcze wczesniej?

    PS. Acha, demka tutaj:

    ->link<-

    ->link<-
    • 2:
       
      CommentAuthormiker
    • CommentTime7 Feb 2010
     
    Nie do końca trójtryb, ale też jest - "Studio Dream" by The German Chaotics, obrazek w intrze: ->link<-
    • 3:
       
      CommentAuthorKaz
    • CommentTime8 Feb 2010
     
    To chyba dwutryb :). Ale tez interesujacy - co to wlasciwie jest i jak oni to zrobili?
    • 4: CommentAuthor0xF
    • CommentTime8 Feb 2010
     
    W "Studio Dream" jest ten sam trick, tyle że nie ma grafiki hires.
    • 5:
       
      CommentAuthorKaz
    • CommentTime13 Aug 2019 zmieniony
     
    Kolega Sun mi podpowiedział jeszcze jeden program, zawierający trójtryb, mianowicie grę "Admirandus" Mario Krixa oraz Michaela Kienera z 1990 roku. To proste koło fortuny dla maksymalnie 4 graczy, w języku niemieckim. Pograłem, są 4 rundy (bo 4 kategorie słów) i potem od nowa.

    Na górze widać trzy tryby: hires, kolorowe paski GTIA i potem graficznki w GR15.
    • 6:
       
      CommentAuthorKaz
    • CommentTime13 Aug 2019 zmieniony
     
    CharlieChaplin - looks that roots of this trick are in Germany... The first known person who used a tri-mode is Mr. Rudy Haegeman in "Impossible Demo". Andreas, do you know him or is it possible to catch him around, maybe in ABBUC? It could be great to ask him if it's his own invention or what was his source of idea? Thanks for any help!
    • 7:
       
      CommentAuthorsun
    • CommentTime13 Aug 2019
     
    A ja to też gdzieś po prostu wyczytałem, o tej gierce. Teraz próbuję sobie przypomnieć gdzie :) I nawet mi się udało.
    ->link<-
    • 8:
       
      CommentAuthorpirx
    • CommentTime14 Aug 2019
     
    Jiri Bernasek tez coś takiego (9+15+9) zrobił, niestety nie pamiętam w którym demku.
    • 9:
       
      CommentAuthorDracon
    • CommentTime14 Aug 2019 zmieniony
     
    @pirx:
    Może chodziło Ci o to demou? ;)

    • 10:
       
      CommentAuthorDracon
    • CommentTime14 Aug 2019
     
    @Kaz:

    - z czego robiłeś te zrzuty?
    Tak z ciekawości odpaliłem to pod Altirrą i ta dolna połowa tam się chrzani, tzn. są zakłócenia w pokazywaniu tej piłki i hiresu z lewej. Ciekawe czy to wina (niedopracowania?) emulatora, czy nie włączyłem tam jakiejś istotnej opcji ? :o
    • 11:
       
      CommentAuthorKaz
    • CommentTime14 Aug 2019
     
    Z Atari800Win PLus. Zdaje się, że to uszkodzenie jest w pliku, ewentualnie spróbuj ustawić pamięć na zgodną z Atari 130XE.
    • 12: CommentAuthortebe
    • CommentTime14 Aug 2019
     
    Kaz, Atari800Win już się nie używa, jest zbyt niedoskonały w porównaniu do perfekcyjnej Altirry ;)
    • 13:
       
      CommentAuthorKaz
    • CommentTime14 Aug 2019
     
    Perfekcyjnie to mi działają wszystkie Atarynki - z tym, że każda inaczej :D
    • 14:
       
      CommentAuthorpirx
    • CommentTime14 Aug 2019
     
    @Dracon kurcze, wydawało mi się, że inne, z 2 zmianami trybu w wierszu, ale może mi się pomyliło
    • 15: CommentAuthortebe
    • CommentTime14 Aug 2019
     
    "trójtryb" co to za nazwa, może jakaś propozycja sformalizowania nazwy takiego efektu, MMIL (Multi Mode In Line)

    nie rozumiem czemu na Atari XE/XL nie ma takiej tradycji nadawania odpowiednich nazw jak mają na C64

    bez tego każdy będzie to nazywał po swojemu i wyjdzie z tego 'Trygław'
    • 16: CommentAuthormono
    • CommentTime14 Aug 2019
     
    ...na Swaroga! :)
    • 17: CommentAuthormakary
    • CommentTime14 Aug 2019
     
    bogdaj nam zaległ na ustach wrzód!
    • 18: CommentAuthorblb
    • CommentTime14 Aug 2019
     
    O ile dobrze pamiętam to jest to po prostu SPLIT.
    • 19:
       
      CommentAuthorDracon
    • CommentTime14 Aug 2019
     
    Grupy SHADOWS i HARD nieco bardziej "rozsławiły" ten trick/błąd(?!) układu GTIA. Niestety nie każdy mógł się nim cieszyć, pamiętam jak w jednym z moich kompów miałem to skopane... :(
    • 20:
       
      CommentAuthormiker
    • CommentTime14 Aug 2019
     
    Studio Dream jeszcze - obrazek w intrze, pierwszy tutaj: ->link<-
    • 21:
       
      CommentAuthorKaz
    • CommentTime15 Aug 2019
     
    Nazwa "Trygław" mi się bardzo podoba, oddaje ducha tego trybu! "Split" nie, bo to może oznaczać masę innych rzeczy, wieloznaczna nazwa.

    Jednakoż nie bardzo rozumiem o co Ci chodzi Tebe, że nie mamy własnych nazw - przecież "trójtryb" to też własna nazwa i używam jej od wielu lat, pierwszy post w tym wątku jest z 2010 roku, a i wcześniej tak to nazywałem :D. Proste do zapamiętania i od razu określa funkcję - uzyskanie trzech trybów.

    Nazywanie czegoś MMIL czy GRPRD albo XGZYN to raczej niezdrowa przypadłość pecetowskich userów o wybitnie słabej wyobraźni, więc weź mi tu nie wmawiaj, że to komodorowska tradycja :)

    Z tym, że ja Cię nie namawiam, używaj sobie co chcesz. Wbuduj w G2F możliwość robienia plików MMIL to się zapewne Twoja nazwa spopularyzuje.

    A propos G2F, tam właśnie z pomocą Tebe zrobiłem taki obrazek jak w załączniku. Czy czasem Rocky nie robił jeszcze takich obrazków ostatnimi laty? Rocky, jesteś, żeby potwierdzić?
    • 22: CommentAuthorRocky
    • CommentTime15 Aug 2019 zmieniony
     
    Tak mam kilka popełnionych z różnymi kombinacjami.. może nie widać 3 rożnych trybów, ale gdzieś w tle są.. mechanizm ten sam (w postcard masz 5 trybów w linii).
    Klasyczne 3 różne tryby ma App clown.
    • 23:
       
      CommentAuthorshanti77
    • CommentTime15 Aug 2019
     
    Na czym polega sam efekt?
    • 24: CommentAuthorxxl
    • CommentTime15 Aug 2019
     
    w linii zmieniasz sposob interpretacji trybu dla GTIA.
    mozesz to robic dla roznych trybow ale najbardziej popularna kombinacja to:
    gr.8/gr.9/gr.pseudo 15
    mozna wracac do trybow GTIA ale blad w HV nie pozwala wrocic do trybu gr.8
    • 25:
       
      CommentAuthorKaz
    • CommentTime15 Aug 2019 zmieniony
     
    Link z opisem do atariwiki podał Sun:

    The Unity demo by Our-5oft has a screen that displays 3 different graphics modes on a single scan-line: graphics mode 8 (ANTIC mode f), mode.9 and something similar to mode15 (ANTIC mode e). This effect is accomplished by altering the GPRIOR register on-the-fly within a DLI. By writing a 0 into GPRIOR at the beginning of a scan-line, waiting some time, switching to GTIA mode.9 by writing #$40 and finally in the last 1/3 of the scan-line writing a 0 again. Rather than returning the display to mode f, the GTIA becomes confused and displays the remainder of the line as ANTIC mode e. This effect can be seen is several demos, including Unity and is used in the game Admirandus by MK-SOFT. Below is a kernel that demonstrates this technique.

    dli pha ; preserve registers 
    txa
    pha
    tya
    pha
    ldy #64 ; display is 64 scan-lines tall
    wloopsta WSYNC ($d40a)
    lda #0
    ldx #$41 ; for GTIA 9
    sta PRIOR ($d01b)
    nop ; wait for ~24 cycles
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    stx PRIOR ($d01b)
    nop
    nop
    sta PRIOR ($d01b)
    dey
    bne wloop
    pla ; restore registers and exit
    tay
    pla
    tax
    pla
    rti


    This technique can also be used to split between GTIA modes, so with careful counting, it should be possible to have 4 or possibly 5 modes on a single line. Determining a good reason to do this is up to the game author.

    Notice that this technique will work in text modes as well as in graphics modes, but cycle counting becomes problematic in text modes as ANTIC steals extra cycles every x number of scan lines to refresh the character map.
    • 26:
       
      CommentAuthorKaz
    • CommentTime15 Aug 2019
     
    I jeszcze opis Foxa z naszej korespondencji z 2017 roku, mam nadzieję, że wybaczy tak obszerne cytowanie, ale to ważny element edukacyjny, a kto nie jak Fox zna się na rzeczy:

    0xF:

    Przełączenie z trybu hires bezpośrednio do trybu 15 nie jest możliwe. Zawsze tę operację wykonuje się przechodząc przez tryb GTIA (9-11).

    W każdej linii tryby można przełączać niezależnie. Możliwy jest więc obrazek:

    GR.8 | GR. 9 | GR. 10

    GR. 15

    GR.10 | GR.15

    Prawie zawsze przełączanie trybów wykonuje się w trybie 15 ANTICa, nie mylić z GR. 15. Tryb ten normalnie wyświetla się jako GR. 8, GR. 9, GR. 10 lub GR. 11 w zależności od wartości rejestru GTIA. Między trybami 9-11 możemy się zawsze przełączać. W środku linii nie możemy się przełączyć do GR. 8. Próba wykonania takiej operacji skutkuje włączeniem "dziwnego" trybu 4-kolorowego, który potocznie określamy "GR. 15", chociaż przypisanie kolorów do wartości bitów jest inne, niż w trybie 15:

    0 = COLPF0, a nie COLBAK

    1 = COLPF1, a nie COLPF0

    2 = COLPF2, a nie COLPF1

    3 = COLPF3, a nie COLPF2

    Można przełączyć się do tego trybu 4-kolorowego na tyle wcześnie, że przy normalnej szerokości obrazu zaczynamy już od tego trybu.

    Istnieje też możliwość włączenia trybów GTIA w trybie 14 ANTICa, który normalnie służy wyłącznie jako GR. 15. Sam spotkałem się jedynie z dwoma programami, które to stosowały. Zaprogramowałem to w Atari800, natomiast wątpię, aby Graph2Font wyświetlał poprawnie te kombinacje. Tutaj też przypisanie bitów do kolorów jest inne, w dodatku nie mamy dostępu do wszystkich kolorów z trybów GTIA. W trybach 9 i 11 mamy do dyspozycji 12 kolorów zamiast 16, a w trybie 10 7 zamiast 9. Z punktu widzenia obrazka nie wydaje się to przydatne. Te tryby mają natomiast jeszcze niewykorzystany potencjał przy programowaniu efektów. Ale to osobna historia. :)

    Kiedy można przełączać tryby? Jesteśmy ograniczeni prędkością procesora. Standardowo cykl 6502 odpowiada czasowi wyświetlenia 4 pikseli hires. Jednak dane grafiki muszą zostać pobrane z pamięci przez ANTIC, dlatego w trybach ANTICa 15 i 14 dla 6502 jest dostępny co drugi cykl. Tak więc granice przełączania trybów są co 8 pikseli hires, chociaż nie pokrywają się z granicami bajtów. Na lewej połowie ekranu ANTIC dokonuje odświeżania pamięci, co dodatkowo ogranicza miejsca, gdzie można dokonać zmiany trybu. Instrukcja 6502 służąca do zmiany trybu trwa 4 cykle. Nie możemy więc zmieniać trybów częściej, niż co 32 piksele hires.

    W miejscu przełączania trybów powstają różne artefakty. Nie zgłębiałem tego tematu, ale jest on opisany w Altirra Hardware Reference Manual. Te artefakty są różne w różnych egzemplarzach GTIA, na niektórych komputerach widać więcej "śmieci" w miejscu przełączenia trybu, np. w slideshow "Extract" przy przełączeniu z hires do trybu 4-kolorowego.
    • 27:
       
      CommentAuthorsun
    • CommentTime15 Aug 2019
     
    Szkoda tylko, że zjada to tyle czasu CPU :(
    Tak, wiem, można ten czas wykorzystać lepiej niż NOP'y.
    • 28: CommentAuthorpin
    • CommentTime15 Aug 2019
     
    Rapidusem pogonić i święto ;)
    • 29: CommentAuthorRocky
    • CommentTime18 Aug 2019 zmieniony
     
    pin za dużo nie pogonisz no i po co tyle zmian trybów w jednej linii..
    Za to były robione inne eksperymenty ze zmianami kolorów w linii lub wypełnienie ekranu duchami..
    Z tym pierwszym TeBe robił eksperymenty.. wychodzi ciekawie..
    To drugie zastosowałem do zrobienia 3 odc szarości hiresa
    • 30: CommentAuthorpin
    • CommentTime19 Aug 2019
     
    widziałem to, dobre.
    • 31: CommentAuthorPecet
    • CommentTime19 Aug 2019
     
    A te inne eksperymenty na czym polegały i gdzie można zobaczyć efekty?
    • 32:
       
      CommentAuthortdc
    • CommentTime26 Aug 2019 zmieniony
     

    sun:

    Szkoda tylko, że zjada to tyle czasu CPU :(

    Tryb HAM w Amidze 500 też zjada czas CPU mimo, że jest trybem sprzętowym. (zjada dużo więcej czasu bo wymaga większej ilości zmian)

    sun:

    Tak, wiem, można ten czas wykorzystać lepiej niż NOP'y.

    No a na Amidze 500 nie można wykorzystać nopów, bo zmiany kolorów w linii zabierają tyle czasu, że już Amiga wiele więcej nie zrobi...

    Zmierzam do tego, że jakoś Amigowcy nie narzekają, że zmiany zabierają czas CPU;)
    Chwała Bogu, że mamy Atari, na którym możemy sobie robić tryby graficzne. Raz takie, które zabierają czas, a raz takie które nie zabierają czasu. Do wyboru do koloru;))
    • 33: CommentAuthorRocky
    • CommentTime26 Aug 2019
     
    Z tego co wiem, to HAM na Amidze nie zabiera za dużo CPU na zmiany.. te są sprzętowe.. jedynie narzut CPU na obsługę 4096 kolorów, a bardziej analizę całych zestawów pikseli.. Tu nie można ot tak zmienić piksela nr 60 w linii na inny kolor, gdyż jest on uzależniony od wcześniejszych pikseli..

    Co do Atari to problemem nie jest tak do końca CPU, a bardziej Antic, który wpuszcza CPU w określonych momentach.. i te momenty możemy wykorzystać na program bądź właśnie na zmiany w linii i wtedy brakuje czasu na inne sprawy..

    To jest konsekwencja wieloprocesorowości architektury Atari, gdzie chipy muszą się dzielić czasem dostępu do pamięci..

    W Amidze jest to samo, stąd jak się doda pamięci Fast to procesor przyśpiesza, bo nie musi się tą pamięcią z nikim dzielić... Taką pamięć w przypadku małego Atari ma Rapidus.

    Problemem jest to, żeby coś było widać i słychać, trzeba zaadresować pamięć podstawową (można ją nazwać jak w przypadku Amigi pamięcią Chip).. wtedy Rapidus musi zwolnić i czekać, aż mu Antic pozwoli..

    Owszem można wyłączyć Antica i pozostać przy spritach.. ale chyba nie o to chodzi.
    • 34:
       
      CommentAuthorsun
    • CommentTime28 Aug 2019 zmieniony
     
    @tdc: ja nie narzekam. Widzę tylko jak mi np. procka wstawia napisy w trybie 80col jak mam po jednej stronie pół ekranu w kolejnych 2 trybach a jak to robi jak mam tylko hires. Ot co. To, że jeszcze zostało czasu na odtworzenie modułu w RMT to mnie zaskoczyło :)

    @Rocky: i tu chyba (nie znam się to mogę oczywiście pisać bzdury) da radę VBXE? W sensie wyłączam Antic i wszystko rysuje mi VBXE? No bo umówmy się, że tylko sprite'y to troszkę mało.
    Tylko... no właśnie... po co wtedy jakieś zabawy z "trójtrybem" :)
    • 35: CommentAuthorRocky
    • CommentTime29 Aug 2019
     
    w przypadku użycia VBXE to właściwie nie ma tematu.. jego możliwości przewyższają wszystkie kombinacje..
    Zresztą VBXE to takie jakby VGA w Atari.. nie ta epoka.

    Jednakże mówimy tu o wykorzystaniu chipów Atari (Antic, GTIA).. tu jedynie można pogonić je Rapidusem.
    • 36: CommentAuthorRocky
    • CommentTime31 Aug 2019 zmieniony
     
    Dwa ciekawe obrazki w trzech odcieniach szarości w hires.. C64 raczej tego nie zrobi..
    • 37: CommentAuthormono
    • CommentTime31 Aug 2019
     
    @Rocky: To Twoje? Możesz podesłać .XEX-y?
    • 38:
       
      CommentAuthorshanti77
    • CommentTime31 Aug 2019
     
    C64 może jeszcze nałożyć duszki i dokładając atrybuty mogło by dać radę.
    • 39: CommentAuthorxxl
    • CommentTime31 Aug 2019 zmieniony
     
    jaka jest roznica miedzy tymi obrazkami z posta 36 Rockiego a grafikami na VBXE? zadne z nich nie dzialaja na zwyklym Atari...
    • 40:
       
      CommentAuthorDracon
    • CommentTime1 Sep 2019
     
    @Rocky: To Twoje? Możesz podesłać .G2F-y?
    • 41: CommentAuthortebe
    • CommentTime1 Sep 2019
     
    Tryb HPM, obsługuje go AGS (Atari Graphics Studio), konwersję opracował Rocky, ale nie zostawił żadnego opisu czy artykułu na ten temat

    w przypadku eksportu do XEX-a, pod Alitrrą należy wybrać procek 21MHz i pamięć High
    • 42: CommentAuthorRocky
    • CommentTime1 Sep 2019 zmieniony
     
    shanti: tu mamy 3 odcienie szarości na pełnym ekranie.. C64 może dawać więcej kolorów, ale w bajcie tylko 2. duchy w C64 nie pokryją całego ekranu... niestety na zwykłym Atari (bez rapiodusa) tego nie osiągniesz..

    xxl: nie będę się z tobą wdawał w polemikę.. VBXE to takie VGA w XE, czyli nie ta liga...
    To powyższe jest generowane przez chipy Atari (Antic+GTIA).. fakt, trzeba je nieco pogonić.

    Dracon: nie to tylko konwerty.. dragon z postu 29 to moje zrobione właśnie w tej technice.. niby jeden odcień więcej, ale wizualnie bardzo dużo daje.
    • 43:
       
      CommentAuthorshanti77
    • CommentTime1 Sep 2019
     
    Nie znam zbyt dobrze c64, ale na pewno podobnie jak w atari, duszka można wyświetlić kilka razy w linii, więc może by się dało (c64 też może być dopalone).
    • 44: CommentAuthorxxl
    • CommentTime1 Sep 2019
     
    @Rocky, ten obrazek do prawidlowego wyswietlenia potrzebuje Antic+Gtia+65816 ... nie ta liga (uzywajac Twoich slow). na Atari nie dziala.
    • 45: CommentAuthortebe
    • CommentTime1 Sep 2019 zmieniony
     
    na C64 dają radę w bloku 8x2 piksle zmienić 3 kolory, w trybie NUFLI który korzysta z duchów podwójnej szerokości jako jednej z warstw

    ->link<-

    na Atari czeka na wykorzystanie HCM (Hard Color Map, pokazany w Reharden), taka namiastka mapy kolorów, 36 pola w linii z możliwością wyboru jednego z 3 kolorów (PMG nakładane na siebie i multipleksowane w linii), piksel szerokości 4 cykli koloru
    • 46:
       
      CommentAuthorDracon
    • CommentTime1 Sep 2019
     

    Rocky:

    nie to tylko konwerty.. dragon z postu 29 to moje zrobione właśnie w tej technice.. niby jeden odcień więcej, ale wizualnie bardzo dużo daje.

    Samo w sobie bardzo ładne, ale rozczarowanie, że wymaga to "ponadstandardowego" sprzętu. :(
    A już myślałem, że wymyśliłeś jakiś sprytny sposób na lepsze pokrywanie duchami hiresu. :(

    Tebe:

    pod Alitrrą należy wybrać procek 21MHz i pamięć High

    OMG! Chyba nie tędy droga...
    • 47:
       
      CommentAuthorDracon
    • CommentTime1 Sep 2019
     

    Tebe:

    na Atari czeka na wykorzystanie HCM (Hard Color Map, pokazany w Reharden), taka namiastka mapy kolorów, 36 pola w linii z możliwością wyboru jednego z 3 kolorów (PMG nakładane na siebie i multipleksowane w linii), piksel szerokości 4 cykli koloru

    No to kiedy będzie implementacja tego w jakimś sensownym edytorze typu G2F lub AGS? ;o
    • 48: CommentAuthorRocky
    • CommentTime1 Sep 2019 zmieniony
     
    tak, nufli daje radę.. choć w tym jest dość sporo kombinacji z duchami i takiej swobody nie ma..

    Tryb z Reharden podstawia szerokie sprity i to średnio wygląda..

    xxl: czyli wsadzając np. 060 do Amigi, amiga przestaje być Amigą...
    Platforma traci swoją tożsamość, jeśli zastąpi się w niej układy, które stanowią o niej.. np. jeśli w Atari grafikę zastąpisz VGA, a dźwięk np. Soundblasterem, to możemy pogadać czy to nadal Atari.. CPU do tych układów raczej nie należy..
    Oczywiście są tacy, dla których każda przeróbka powoduje, że to już nie Atari.. a jak coś siedzi w karcie to jest ok.. nawet jeśli w tym karcie siedzi coś, czym Atari tylko steruje.. i zasila...
    Jeśli wpakuje się do karta malinkę i odpali na niej jakąś gierką, np. Doom (malinka ma własne wyjścia dźwięku i obrazu), atari ją tylko zasila i robi za klawiaturę.. dla niektórych ta gra to nadal będzie na Atari...
    • 49: CommentAuthorxxl
    • CommentTime1 Sep 2019
     
    Ciesze sie, ze masz sprzet ktory Ci odpowiada, mozesz zastepowac dowolny jego element tlumaczac sobie w dowolny sposob, dla mnie to nie ma znaczenia, ale niestety rzeczy pisane pod tak zmodyfikowane konstrukcje nie dzialaja na Atari xl/xe :( przykladem sa te obrazki...
    • 50:
       
      CommentAuthorshanti77
    • CommentTime1 Sep 2019
     
    Tylko ,że w atari nikt nie wymieniał procesorów gdy były one w oficjalnej sprzedaży, a amiga w czasach swojej świetności oferowała już dopalacze.