atarionline.pl "Nielegale" na DL - 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:
       
      CommentAuthorxeen
    • CommentTime8 Sep 2014 zmieniony
     
    Czy są jakieś kombinacje programu DL, które na jednych sprzętach działają - na innych nie?
    • 2: CommentAuthormono
    • CommentTime8 Sep 2014
     
    Myślę że nie ma czegoś takiego ze względu na regularną budowę programu ANTICa. Ciekawią mnie jednak niewykorzystane bity w rozkazach skoków:
    - b7 - nmi
    - b6 - 0=jmp, 1=jvb
    - b5 - ???
    - b4 - ???
    - b3..b0 - 1
    W pozostałych rozkazach (prócz pustych linii) te bity są odpowiedzialne za poziomy i pionowy scroll. Skok generuje pustą linię więc i scroll jest niepotrzebny. Ciekawe czy te 4 kombinacje powodują cokolwiek?
    • 3: CommentAuthor0xF
    • CommentTime8 Sep 2014 zmieniony
     
    Wszystkie 256 opkodów jest dobrze określone. Natomiast są zachowania mało znane i chyba nie objęte oficjalną dokumentacją, np.:
    - bity 4 i 5 rozkazów skoków są ignorowane
    - $c1 to JVB generujący DLI co linię
    - rozkaz pustych linii (niezależnie od ich ilości) lub rozkaz skoku następujący po linii z przesuwem pionowym ma wysokość określoną przez VSCROL - tak jak to się dzieje z rozkazem generowania linii trybu

    Jest też błąd w ANTICu, ale dotyczący nie tyle DL, co DMA. Można go obejrzeć wpisując:
    POKE 39974,18:POKE 39975,8:POKE 54276,15
    • 4: CommentAuthormono
    • CommentTime8 Sep 2014 zmieniony
     
    A jak włączyć skrol pionowy czy poziomy w pustej linii?

    Edit: Aaaa chodzi Ci o to, że skrolowana linia tekstowa jest wypełniana pustymi liniami jeśli po niej następuje pusta linia.
    • 5: CommentAuthor0xF
    • CommentTime8 Sep 2014 zmieniony
     
    Poziomego nie da się włączyć - nie ma co skrolować.
    Puste linie zachowują się jak linie trybu ze skrolem pionowym wyłączonym - czyli mają inną wysokość od zadeklarowanej w przypadku gdy są użyte po linii trybu ze skrolem pionowym włączonym, np.
    VSCROL=3
    dl dta $62,a(screen) ; 5 skanlinii: delta counter = 3, 4, 5, 6, 7
    dta $60 ; dowolny rozkaz pustych linii ma tu wysokość 4 skanlinii: delta counter = 0, 1, 2, 3
    • 6: CommentAuthormono
    • CommentTime8 Sep 2014
     
    Gorąco polecam lekturę Altirra Hardware Reference Manual. Sporo ciekawych rzeczy można w niej wyczytać np to, że niezależnie od systemu telewizyjnego ANTIC zawsze wyświetla na ekranie wyłącznie linie 8..247 a w 248 zamraża swoją pracę i generuje przerwanie VBLK (a wszystkich linii na ekranie jest 312 w PAL i 262 w NTSC). Przerwanie VBLK jest więc generowane na końcu ekranu a nie na jego początku. Warto o tym pamiętać konstruując różne synchronizacje z RTCLOK (aktualizowanym na VBLK) i VCOUNT.
    To może mały offtopic, ale dla mnie swego czasu ta informacja okazała się nezwykle istotna.

    Co do JVB - ANTIC po napotkaniu tego rozkazu po prostu zamraża swoje działanie czekając na VBLK (czyli na 248 linię obrazu). Jeśli w rozkazie włączone jest NMI, to jest ono co linię generowane.
    • 7:
       
      CommentAuthortdc
    • CommentTime9 Sep 2014 zmieniony
     
    Fox, a wspominałeś kiedyś o tym że można sobie budować tryby, które mają inną głębię kolorów, np. 3 kolory. Nie jest to osiągane przez DL, ale przy okazji zdradzisz co wykombinowałeś i jakie jeszcze głębie można osiągnąć?;)
    • 8: CommentAuthor0xF
    • CommentTime9 Sep 2014
     
    Tryb 3-kolorowy to np. zwykły hires w interlace.
    • 9:
       
      CommentAuthortdc
    • CommentTime9 Sep 2014
     
    Nie interlace. Mówiłeś o kolorowym trybie z Numena, pamiętam minę tego studenta, który pobladł gdy słyszał takie rzeczy;)
    • 10: CommentAuthorbob_er
    • CommentTime10 Sep 2014
     
    Można też kombinować w stronę np. gr.7+GTIA. Zmniejszy to liczbę dostępnych kolorów, ale procka mniej to obciąża.
    • 11: CommentAuthorxxl
    • CommentTime10 Sep 2014
     
    mozna zaklocac prace antica tak, ze bedzie inaczej interpretowal DL.

    ->link<- (altira juz to emuluje)

    • 12: CommentAuthorw1k
    • CommentTime10 Sep 2014
     
    move ATARI800WIN to trash and use only one real emulator - altirra
    • 13: CommentAuthorwieczor
    • CommentTime10 Sep 2014
     
    @w1k: unfortunately there's no only one real emulator :) Altirra seems to be more complete, but some things are emulated or just working better at A800Win :) I'm using Altirra for development - mainly thanks to great visual debugger - but afterwards still checking with both of them ;) Especially if you're playing with timings result can be different (and on real hw too).
    • 14:
       
      CommentAuthorDracon
    • CommentTime10 Sep 2014 zmieniony
     
    ATARI800WIN has still more friendly (etc.) interface (GUI). :)
    • 15: CommentAuthormono
    • CommentTime10 Sep 2014
     
    And atari800 emulator (base project for Atari800Win) is multiplatform, not windows only...
    • 16: CommentAuthorwieczor
    • CommentTime10 Sep 2014
     
    @Dracon: It was in the past, that kept me away from Altirra (when settings were accessible via weird blue colour screen looking like gr.0) now it's almost the same - I mean top menu with options. Acceptable :)

    @mono: I've managed to run it with no problem with wine64 in Ubuntu, Kuba Husak did it at OsX, so we can call it somehow multiplatform already ;) Yet, Atari800Win is a huge step forward from its origin , Atari800 - I can tell that original A800 is so useful :)
    • 17: CommentAuthor0xF
    • CommentTime11 Sep 2014
     
    tdc: a to długo by opisywać, nie mam czasu :)
    • 18: CommentAuthorgorgh
    • CommentTime11 Sep 2014 zmieniony
     
    mi sie udalo przypadkiem osiagnac szerokosc 5-6 bajtow linii antica w trybie bitowym, jeszcze nie zbadalem na czym to polega, ale wystepuje to tez na real atari

    edit: zalaczam plik w ktorym ten efekt jest widoczny ( trzeba chwile poczekać) :)
    • 19: CommentAuthorgorgh
    • CommentTime11 Sep 2014 zmieniony
     
    edit: mysle,ze jest do osiagniecia caly ekran takiej szerokosci, gdyz tutaj linie sa dwie a nie jedna
    Z Bob_erem wywiazala sie dyskusja i podeslalem mu zrodla do wgladu, z tego co moge napisac to:
    -przed pojawieniem sie linii nastepuje zerwanie synchronizacji, tj. prawdopodobnie wystepuja jako 240te.
    -wszystkie linie sa liniami trybu bitowego hires z szerokoscia ekranu 48 bajtow i ustawionym vscrollem i kazda linia pobiera dane pamieci ekranu
    -byc moze te 5-8 bajtow ekranu ktore sie wyswietlaja sa to bajty z linii 48 bajtowej. :)
    stay tuned for more news :)
    • 20:
       
      CommentAuthorKaz
    • CommentTime17 Apr 2019
     
    Mam pytanie laika: jeżeli program korzysta z nielegali, to na jakich komputerach nie będzie działał? Tych z prockiem 65C02?
    • 21: CommentAuthorxxl
    • CommentTime17 Apr 2019
     
    ten watek dotyczy "nielegali" procesora Antic a nie 65xx.

    ale jak juz pytasz o nielegale 6502c to nie ma komputerow atari z procesorem 65c02
    • 22:
       
      CommentAuthorKaz
    • CommentTime17 Apr 2019
     
    Ok, to inaczej: na których komputerach użycie nielegali spowoduje, że program nie będzie działał?

    Czy tak nie było z demem Rigolletto, że działało tylko na niektórych kompach?
    • 23: CommentAuthorxxl
    • CommentTime17 Apr 2019
     
    nie beda dzialac na komputerach przerobionch w taki sposob zeby dzialaly z innym procesorem niz 6502c

    ---
    po co zasmiecac watek... moze wydziel to do innego - wlasciweo - tematu
    • 24:
       
      CommentAuthorDracon
    • CommentTime17 Apr 2019
     
    Czy tak nie było z demem Rigolletto, że działało tylko na niektórych kompach?

    Akurat tutaj bardziej chodziło o bezpośrednie odwoływanie się do czegoś w starym OS-ie, a nowsze egzemplarze XL/XE nie potrafiły tego odpalić z racji zmian w systemie. Bzdura ale tak niektórzy kiedyś robili. :(
    Znajomy (Ark-soft) napisał nawet kiedyś sprytny "translator", który umożliwiał wgranie starego systemu a potem bootowanie i uruchamianie takich problematycznych dzieł. :)