atarionline.pl Liczba linii w trybach grafika+tekst - 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:
         
        CommentAuthoradiblol
      • CommentTime8 Mar 2009 16:03
       
      Czy da się zmienić liczbę linii tekstu w trybie grafika+tekst (u góry tryb graficzny, na dole tekstowy)?
      Interesuje mnie żeby zrobić coś takiego jak w grze Pięć Gówien Eepcha:

      Niestety nie da się przeglądać kodu dyskietki z tą grą więc nie mogę przeanalizować kodu.

      A może to jest zrobione tak jak Dratewka The Shoemaker, czyli po prostu tekst pisany w trybie graficznym?
      • 2:
         
        CommentAuthorsikor
      • CommentTime8 Mar 2009 17:03
       
      Poszukaj w Migucie (ATARI BASIC) lub dowolnej innej książce o programowaniu na Atari, przejrzyj atariki. Mały hint: szukaj pod hasłem "DISPLAY LIST", czasem w literaturze/internecie w skrócie podawana nazwa "DL"
      • 3:
         
        CommentAuthorKaz
      • CommentTime8 Mar 2009 18:03 zmieniony
       
      Krotko piszac, zebys wiedzial, jak to ugryzc - w Atari obraz wyswietla procesor graficzny ANTIC. Realizuje on swoj program, niezalezny od procesora 6502. Program ten, jak napisal Sikor, nazywa sie DISPLAY LIST i mowi, co ma byc w kazdej kolejnej linii ekranu.

      Wszystkie tryby graficzne to takie programy dla ANTIC-a z ustawionymi na sztywno parametrami - gdzie ma byc linia grafiki, gdzie linia znakow, etc. Twoim zadaniem jest zmienic ten program na inny, ktory Ci pasuje.

      Dlatego szukasz w sieci materialow o modyfikacji DISPLAY LIST.
      • 4:
         
        CommentAuthoradiblol
      • CommentTime8 Mar 2009 19:03
       
      Wygląda ciekawie... będę musiał ugryźć te display listy.
      • 5:
         
        CommentAuthorsikor
      • CommentTime8 Mar 2009 19:03
       
      Powodzenia!!! Aha, mała uwaga: większość trybów ma (standardowo) linie 40 bajtów szerokości, ale niektóre 20 bajtów - tak informacyjnie podaję, gdyby przy testach coś Ci źle wychodziło ;) Czekamy na efekty.
      • 6:
         
        CommentAuthoradiblol
      • CommentTime8 Mar 2009 20:03 zmieniony
       
      W Migucie nie mogłem tego znaleźć... może źle szukałem... ale w Atarikach jest wszystko fajnie podane, tylko trochę skomplikowane. Możecie polecić jakąś książkę/artykuł na stronie internetowej gdzie jest to wyjaśnione z przekładami?
      • 7:
         
        CommentAuthorsikor
      • CommentTime8 Mar 2009 21:03
       
      Hmm, na szybko rzuciłem okiem do Miguta i wprost nie ma, ale pamiętam, że w komentarzach do któregoś programu coś było. Na pewno jest przydatna tabela 5.1
      Z innych pozycji: zajrzyj do "Poradnika programisty" W. Zientary (http://tajemnice.atari8.info/ksiazki/pp/pp_djvu.html), na pewno pomoże lektura "Tajemnic Atari" (chyba było coś w cyklu "piszemy demo"), hmm, na atariarea.krap.pl jest dostępny kurs assemblera TeBego, chyba rozdział 4 opisuje Antica i DL. Źródeł jest sporo.
      • 8:
         
        CommentAuthoradiblol
      • CommentTime8 Mar 2009 21:03
       
      ->link<-
      IrfanView nie chce mi tego otworzyć :/ będę musiał poszukać innej przeglądarki.

      A co do Asemblera to to dla mnie czarna magia :) (w przeciwieństwie do asemblera dla PC)
      • 9:
         
        CommentAuthorsikor
      • CommentTime8 Mar 2009 22:03
       
      Ściągnij sobie winDJview - jest darmowy (nie pamiętam linku, ale pewnie mr google pomoże). Co do assemblera - ja go nie znam, ale w tym artykule masz opisaną zasadę wyświetlania i budowę własnej DL, więc polecam.
      • 10:
         
        CommentAuthortdc
      • CommentTime9 Mar 2009 00:03
       
      adiblol: warto się zająć DL, gdyż jest to POWER, inne komputery mogą sobie o tym pomarzyć.

      Potem poczytaj sobie o DLI - to jeszcze większy POWER;)
      • 11:
         
        CommentAuthoradiblol
      • CommentTime9 Mar 2009 10:03
       
      DLI to przerwanie, które może być generowane co linię. Czy z tym powerem to chodzi o to że można w procedurze obsługi np. zmienić kolor z palety?
      • 12:
         
        CommentAuthorKaz
      • CommentTime9 Mar 2009 10:03
       
      Tak, na przyklad kolory z palety.
      • 13:
         
        CommentAuthoradiblol
      • CommentTime9 Mar 2009 18:03 zmieniony
       
      "Ściągnij sobie winDJview"
      Nawet on nie chce otworzyć tego pliku. Plik ma 521 bajtów 8-|

      dodane:
      Czy będę skazany na samodzielną realizację funkcji "gets" (chodzi o CC65) gdy użyję własnych adresów pamięci obrazu?
      • 14:
         
        CommentAuthoradiblol
      • CommentTime9 Mar 2009 19:03 zmieniony
       
      Jak znaleźć obszar w pamięci, który nie jest na granicy 1KB? Wiem, że można użyć funkcji JMP, ale powoduje ona utworzenie pustej linii :(

      dodane:
      Tryb tekstowy działa, jednak zamienia spacje na "@", wielkie litery na jakieś krzaczki. Tylko małe litery są dobrze.
      • 15:
         
        CommentAuthoradiblol
      • CommentTime10 Mar 2009 11:03
       
      wpadłem na to, że mogę wyświetlać zawartość pamięci normalnego trybu tekstowego (gr.0), wtedy nie muszę samodzielnie robić funkcji puts, gets. A może są komórki pamięci które przechowują liczbę linii i adres, wystarczy wtedy zapisać tam odpowiednie wartości, a funkcje systemu zrobią resztę?
      • 16:
         
        CommentAuthoradiblol
      • CommentTime10 Mar 2009 11:03 zmieniony
       
      (tu był nie wiem dlaczego, zdublowany post)
      • 17:
         
        CommentAuthortdc
      • CommentTime13 Mar 2009 10:03
       
      adiblol: genialność DLI polega na tym że możesz sobie zrobić co chcesz - co jest potrzebne to sobie zrobisz. Dzięki temu (przykładowo) oprogramowanie jakiegoś zupełnie nowego trybu graficznego na małym Atari jest bardzo proste i niejako sprzętowo wspierane, bo ty w swoim kodzie nie musisz nic robić - wszystko robią super przerwania DLI (no może VBLK można zmieniać sobie np. pamięć obrazu).
      • 18:
         
        CommentAuthoradiblol
      • CommentTime13 Mar 2009 15:03
       
      Wiem. Chodziło mi o wykorzystanie pamięci _znaków_ a nie _listy wyświetlania_.
      • 19:
         
        CommentAuthoradiblol
      • CommentTime13 Mar 2009 21:03
       
      Teraz szukam gdzie jest zapisana liczba linii w trybie tekstowym, z której to wartości korzysta funkcja puts, printf, i basicowe PRINT. Wie ktoś może? I jak skonwertować ATASCII na postać zrozumiałą dla ANTIC'a (tak żeby działało normalnie a nie tylko małe litery dobrze).
      • 20: CommentAuthormarok
      • CommentTime17 Mar 2009 13:03
       
      "I jak skonwertować ATASCII na postać zrozumiałą dla ANTIC'a (tak żeby działało normalnie a nie tylko małe litery dobrze)."

      ->link<-
      • 21:
         
        CommentAuthoradiblol
      • CommentTime17 Mar 2009 16:03 zmieniony
       
      MAM! Znalazłem wskaźnik z którego korzystają funkcje tekstowe (conio.h itp.). Adres: 0x0058.

      marok: dzięki za link.

      Pozostaje mi znaleźć liczbę linii, z której korzystją funkcje tekstowe i będzie szansa na użycie Display Lists.

      dodane : swoją drogą ciekawe jak w "pięciu gównach eepcha" jest to zrobione...