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
     
    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
     
    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 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
     
    Wygląda ciekawie... będę musiał ugryźć te display listy.
    • 5:
       
      CommentAuthorsikor
    • CommentTime8 Mar 2009
     
    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 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
     
    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
     
    ->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
     
    Ś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
     
    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
     
    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
     
    Tak, na przyklad kolory z palety.
    • 13:
       
      CommentAuthoradiblol
    • CommentTime9 Mar 2009 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 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
     
    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 zmieniony
     
    (tu był nie wiem dlaczego, zdublowany post)
    • 17:
       
      CommentAuthortdc
    • CommentTime13 Mar 2009
     
    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
     
    Wiem. Chodziło mi o wykorzystanie pamięci _znaków_ a nie _listy wyświetlania_.
    • 19:
       
      CommentAuthoradiblol
    • CommentTime13 Mar 2009
     
    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
     
    "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 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...