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
    • CommentTime7 dni temu zmieniony
     
    @pirx:
    Może chodziło Ci o to demou? ;)

    • 10:
       
      CommentAuthorDracon
    • CommentTime7 dni temu
     
    @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
    • CommentTime7 dni temu
     
    Z Atari800Win PLus. Zdaje się, że to uszkodzenie jest w pliku, ewentualnie spróbuj ustawić pamięć na zgodną z Atari 130XE.
    • 12: CommentAuthortebe
    • CommentTime7 dni temu
     
    Kaz, Atari800Win już się nie używa, jest zbyt niedoskonały w porównaniu do perfekcyjnej Altirry ;)
    • 13:
       
      CommentAuthorKaz
    • CommentTime7 dni temu
     
    Perfekcyjnie to mi działają wszystkie Atarynki - z tym, że każda inaczej :D
    • 14: CommentAuthorpirx
    • CommentTime7 dni temu
     
    @Dracon kurcze, wydawało mi się, że inne, z 2 zmianami trybu w wierszu, ale może mi się pomyliło
    • 15: CommentAuthortebe
    • CommentTime7 dni temu
     
    "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
    • CommentTime7 dni temu
     
    ...na Swaroga! :)
    • 17: CommentAuthormakary
    • CommentTime7 dni temu
     
    bogdaj nam zaległ na ustach wrzód!
    • 18: CommentAuthorblb
    • CommentTime7 dni temu
     
    O ile dobrze pamiętam to jest to po prostu SPLIT.
    • 19:
       
      CommentAuthorDracon
    • CommentTime7 dni temu
     
    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
    • CommentTime7 dni temu
     
    Studio Dream jeszcze - obrazek w intrze, pierwszy tutaj: ->link<-
    • 21:
       
      CommentAuthorKaz
    • CommentTime7 dni temu
     
    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
    • CommentTime6 dni temu 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
    • CommentTime6 dni temu
     
    Na czym polega sam efekt?
    • 24: CommentAuthorxxl
    • CommentTime6 dni temu
     
    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
    • CommentTime6 dni temu 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
    • CommentTime6 dni temu
     
    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
    • CommentTime6 dni temu
     
    Szkoda tylko, że zjada to tyle czasu CPU :(
    Tak, wiem, można ten czas wykorzystać lepiej niż NOP'y.
    • 28: CommentAuthorpin
    • CommentTime6 dni temu
     
    Rapidusem pogonić i święto ;)
    • 29: CommentAuthorRocky
    • CommentTime3 dni temu 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
    • CommentTime3 dni temu
     
    widziałem to, dobre.
    • 31: CommentAuthorPecet
    • CommentTime2 dni temu
     
    A te inne eksperymenty na czym polegały i gdzie można zobaczyć efekty?