atarionline.pl [ANTIC] co daje przełączanie szerokości ekranu w linii? - 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:
         
        CommentAuthorMaW
      • CommentTime8 Aug 2025 01:03 (3 dni temu)
       
      Hej, czytam wątek o Timbermanie i trafiam na fenomenalny temat przełączania szerokości ekranu w linii.

      Co to dokładnie daje? Co się dzieje na ekranie? Czy dobrze rozumiem, że w takim momencie ANTIC pobiera mniej kształtów znaków, dopełniając po przełączeniu "losowym buforem"?

      I jeszcze jedno: HSCROLL: przy wąskim ekranie nie da się go użyć, w momencie przełączenia na normalną szerokość ANTIC obsłuży przesunięcie?

      (z: Altirra Hardware Reference Manual: Chapter 4 - ANTIC; ANTIC mode 2-5, mode line, narrow playfield)
      • 2: CommentAuthortebe
      • CommentTime8 Aug 2025 08:22 (3 dni temu)
       
      co daje? zakłócenie w odczycie/ładowaniu do bufora do którego Antic ładuje dane zdekodowanych znaków

      w trybie znakowym Antic pobiera dane do bufora z pierwszej linii każdego wiersza, bufor jest stałego ograniczonego rozmiaru czego dowiódł AveryLee przełączając na szeroki ekran i włączając hscrolla, opisał to w Altirra Hardware Reference Manual

      na pewno też opisał pobieranie znaków do bufora, jest to związane z badlines

      jeśli zakłócimy pobieranie danych, co pokazał Fox w trybach z 4 liniowym wierszem, będziemy mogli powielać starą zawartość bufora albo wkazywać nowy moment do ładowania kolejnych danych, w ten sposób możemy uzyskać 60 wierszy w trybie znakowym (TMC2 korzysta z tego, G2F umożliwia to jako DLI+)
      • 3:
         
        CommentAuthorMaW
      • CommentTime8 Aug 2025 09:15 (3 dni temu)
       
      Wybacz Tebe, sposób pisania w AHRM jest dla mnie trochę mało zrozumiały, wolę wytłumaczenie jak kumpel kumplowi, a najlepiej przy piwie|Zoomie.
      Więc cieszę się, że chce Ci się odpowiadać :-)

      Czyli - jeżli wiem, że wiersz składa się z sześciu (przykładowo) różnych znaków, które są rozmieszczone w losowy sposób w tym wierszu, to przepisując je w zestawie znaków na początek, jestem w stanie (odpowiednio się wstrzeliwując) przerwać zapełnianie bufora i wykorzystać te cykle do własnych celów?

      A co wtedy ze znakami w linii: czy muszą być tak poukładane, jak to robi G2F przy GED+ z "disable badlines" (pierwsze 40 znaków), czy mogę wtedy mieć inną kolejność?
      • 4:
         
        CommentAuthorMq
      • CommentTime8 Aug 2025 12:58 (3 dni temu) zmieniony
       
      @MaW, generalnie nie chodziło o przełączanie szerokości ekranu w linii, tylko o to, że ja myślałem, że nie da się w ogóle zmieniać szerokości ekranu dla części ekranu. Tymczasem okazało się, że można każdy wiersz display listy ustawić sobie w innej szerokości i da się przełączać tak ekran dla każdego wiersza osobno.

      Atari ma 3 szerokości ekranu do wyboru, a szerokość tę wybiera się wpisując odpowiednią wartość do odpowiedniego rejestru Antica. Ten sam rejestr włącza/wyłącza ekran, a także DMA (poszczególne funkcje na poszczególnych bitach rejestru). Z tego powodu myślałem że nie da się tego zmieniać w trakcie rysowania ekranu, a tu się okazało że się da, co mnie ucieszyło, bo to przydatna funkcjonalność.

      Szerokości ekranu możliwe to:
      - wąski ekran 32 znaki
      - normalny ekran 40 znaków
      - szeroki ekran 48 znaków

      Następstwa zmiany szerokości są takie:
      - szeroki ekran to więcej grafiki, większa rozdzielczość, można więcej narysować na ekranie
      - wąski ekran, to mniej na ekranie, ale za to mniej zajmujemy pamięci, bo pamięć ekranu jest mniejsza, a także mamy więcej czasu w przerwaniach DLI

      Najważniejsze są te cykle czasu procesora w przerwaniach DLI i po to głównie idzie się na kompromis zwężenia ekranu, żeby móc zmieścić dodatkowy kod wprowadzający zmiany w wierszach w DLI.

      Łopatologicznie, to chodzi o to, że Antic w trakcie wyświetlania ekranu zabiera te cykle w trakcie wyświetlania, bo Antic zatrzymuje w tym czasie procesor, żeby mieć własny dostęp do pamięci. Przy ustawieniu wąskiego ekranu czas Antica jest krótszy, więc czas procesora jest dłuższy.
      • 5:
         
        CommentAuthorMaW
      • CommentTime8 Aug 2025 16:03 (3 dni temu)
       
      Dzięki MQ, to jest jasne - tylko że jak zrozumiałem wv tym "przypadkowym efekcie", wejście w odpowiednim momencie ze zmianą tego rejestru, daje nam mniejszą stratę czasu na zapełnienie bufora znaków, a normalną szerokość ekranu?
      • 6: CommentAuthortebe
      • CommentTime8 Aug 2025 16:37 (3 dni temu) zmieniony
       
      dla zadanej szerokości ekranu i włączonego/wyłączonego hscroll-a będzie pobierana konkretna ilość danych

      jeśli na początku obrazu miałeś normal+hscroll to oznacza 48 bajty, tyle jest w buforze, jeśli niżej postanowisz przełączyć na węższy obraz bez nowego ładowania do bufora, to w tym buforze nadal jest 48 bajtów, mimo że ekran ma już 32+8 (hscroll) = 40 bajty, jak wyłączysz hscroll to tylko 32 bajty

      tutaj bardziej pytanie czy ANTIC łamie takie linie, a może te nadmiarowe bajty z bufora wyświetla jako "śmieci"

      a może zaczyna czytać swój wewnętrzny bufor od innego miejsca, zamiast od indeks=0, indeks=4 ... etc.

      a może przełączenie w środku linii szerokości obrazu powoduje że nie kończy odczytu bufora tylko kontynuuje, a jeśli miał szerszy, np. indeks bufora = 42, przełączyscz na obraz węższy okazuje się wtedy że aktualny indeks może być większy od maksymalnej długości linii np. 40 co wtedy? kończy czy leci do końca bufora (56 wpisów)

      pewnie Fox trzyma wszystkie odpowiedzi w szufladzie

      p.s.
      więcej informacji na temat tworzenia linii obrazu przez ANTIC w "Śmierć śmieciom!"

      ->link<-
      • 7:
         
        CommentAuthorMaW
      • CommentTime10 Aug 2025 20:54 (1 dzień temu) zmieniony
       

      więcej informacji na temat tworzenia linii obrazu przez ANTIC w "Śmierć śmieciom!"

      https://atarionline.pl/v01/index.php?subaction=showfull&id=1704572629&archive=&start_from=100&ucat=1&ct=nowinki

      Bardzo rzeczowy link, polecam każdemu!
      [center]

      [/center]

      Polecam także Nocne Atarowców Rozmowy na Zoomie, dzięki którym mogliśmy z Mono i BCA obdyskutować bydlakowatość linii Antica, kwadratowość pixeli trybów Konopa (Vscrollowanych) i czy na pewno usuwanie badlines jest takie korzystne, jak się wydaje %)

      "Funkcjonalność" Antica, "wyłapaną" w grze Timberman przywrócono w nowym apdejcie Altirry: https://forums.atariage.com/topic/378003-altirra-430-released/page/11/#comment-5699786