atarionline.pl wolny RAM - 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: CommentAuthordan
    • CommentTime19 Mar 2023
     
    Robię sobie małe przypomnienie i przeglądam mapę pamięci. Czy ja dobrze myślę, że po przełączeniu przerwań na swoje procedury będę mógł swobodnie skorzystać z adresacji:
    0600-CFFF
    D800-E3FF

    Pytanie dodatkowe. Chcąc wykorzystać dodatkowy RAM w 130XE, przełączam banki - jak szybko realizowane jest takie przełączenia i czy muszą być spełnione jakieś dodatkowe warunki np. przełączenie następują w czasie przerwania.
    Czy dostępne rozszerzenie w stylu ULTIMATE 1MB również, będzie działać w 65XE jak "standardowy" RAM w 130XE? Chodzi mi o przełączanie banków?
    • 2:
       
      CommentAuthorjhusak
    • CommentTime19 Mar 2023 zmieniony
     
    Przełączanie banków jest natychmiastowe (obowiązuje w następnym cyklu po zapisie do PORTB). Problematyczne jest przeskakiwanie kodem pomiędzy bankami, bo pobrana instrukcja (pipelining) może być nie ta, co w innym banku. Bezpiecznie jest więc sam kod przełączania banków umieścić poza bankami.

    W zależności od wykorzystania systemu, możesz wykorzystać nawet adresy $200 - $Cfff, $d800 - $fff9, jeśligo kompletnie wyłączysz. Jednak procedury przerwań co najmniej musisz mieć własne.
    Przy wykorzystaniu systemu najniższy bezpieczny adres to $400, a pamięć pod systemem można wykorzystać różnie - w zależności od potrzeb.

    Ultimate 1MB w jednym z trybów (Compy Shop)j jest zgodne w dół z bankowaniem 130XE.
    • 3: CommentAuthordan
    • CommentTime19 Mar 2023
     
    Bardzo Ci dziękuję za "chłopskie" wytłumaczenie. Banki chce przełączać dla danych - ale słuszna uwaga o kodzie, bo o tym bym nie pomyślał :)
  1.  
    Well,

    if you don't create a bootdisk and/or your own bootcode/bootloader, I would avoid using memory $0700-09FF, since it is hard to find a loader program (DOS, Gamedos, Bootloader, etc.) for such a program.

    Besides, while 130XE and some newer RAM upgrades do support separate Antic access, quite many RAM upgrades do not support this mode - so many A8 users will not be able to run such a program. (And most if not all A8 programs that make use of sep. Antic access can also work without it. For example Video Blitz, Metalguy RGB slideshow, TL Cars and several other programs that were programmed for sep. Antic access are also available as patched versions that do NOT require sep. Antic access.)
    • 5: CommentAuthorbob_er
    • CommentTime19 Mar 2023
     
    Dodatkowo:
    1. Jeśli system jest włączony, to na stronie zerowej wolne masz adresy od $80. Jeśli go nie masz, to cała strona.
    2. Dobry obyczaj (i kompatybilność z loaderami/DOSami) mówi, by binarka ładowała się od $2000 (choć nie ma twardego wymogu). W poście powyżej CharlieChaplin sugeruje używać od $A00, ale DOSy tutaj sobie nie poradzą, i część bootloaderów również.
    • 6: CommentAuthordan
    • CommentTime19 Mar 2023
     
    OK - niech mi ktoś jeszcze wyjaśni o co chodzi z tym separowanym dostępem Antica do rozszerzenia RAMu o którym pisze CharlieChaplin? Jak program powinien być skonstruowany? Wyłączać obraz na czas przełączenia banków? Czy może nie powinno być w tym obszarze danych z których korzysta Antic?
    • 7: CommentAuthorbob_er
    • CommentTime20 Mar 2023
     
    Chodzi o to, że oryginalnie w 130XE (i kilku rozszerzeniach) w PORTB o którym Kuba pisał ustalasz osobno, czy CPU czy ANTIC czytają z pamięci dodatkowej. W bardziej wypasionych rozszerzeniach (512kb dodatkowej pamięci lub więcej) dostęp jest wspólny dla obu scalaków. W skrócie: ustalasz który dodatkowy bank jest aktywny i kto z pary 6502/Antic ma dostęp do tej pamięci. Czyli np. odczyt z adresu $4000 (który jest w obrębie okna dla pamięci dodatkowej) będzie w takim przypadku zwracał inną wartość dla 6502 i dla Antic (jeśli ustawisz osobny dostęp i Twoje rozszerzenie to wspiera).
    Jednakże to jest mało popularna opcja tak naprawdę.
    • 8:
       
      CommentAuthorjhusak
    • CommentTime20 Mar 2023 zmieniony
     
    W skrócie - CPU i ANTIC to 2 procesory (Atari jest systemem dwuprocesorowym).

    I dla każdego oddzielnie można przyporządkować bank $4000-$7fff - np. że program wykonuje się z banku 2 a obraz leci z banku 3 (np. splash screen).


    Rzeczywiście, w praktyce jest to ciekawostka, nie wyobrażam sobie przypadku, żeby było to potrzebne w trybie normalnej pracy. Natomiast wyobrażam sobie taki system operacyjny wielowątkowy, że w tych bankach trzymał by sobie programy albo części programów, które nie miały by prawa wyjść poza ten obszar.
  2.  
    Well,

    with most RAM enhancements both CPU and Antic have access to RAM or both have access to XRAM.

    But there are some RAM enhancements like 130XE where the CPU has access to RAM and Antic has access to XRAM or the other way around CPU has access to XRAM and Antic has access to RAM (this is called separate Antic access, since Antic can use different RAM than CPU).

    Thats the advantage of the Antic chip, it is a programmable graphics chip (with its own instruction set) and has DMA. Nowadays we can play movies (up to 509KB per second) with 50fps (PAL) or 60fps (NTSC), thanks to Antic - the CPU would be too slow for this.
    • 10: CommentAuthorświęty
    • CommentTime20 Mar 2023
     
    Ogólnie jeśli program ma wykorzystywać dodatkową pamięć to najbezpieczniej jest nie używać pamięci w obszarze od $4000-$7fff jako pamięci dla grafiki ,wtedy nie będzie problemu na z prawidłowym wyświetlaniem obrazu na różnych rozszerzeniach pamięci ;)|
    • 11: CommentAuthormono
    • CommentTime20 Mar 2023
     
    @jhusak: Taki OS napisał kiedyś Krap i nazwał go XEUX.
    • 12: CommentAuthortebe
    • CommentTime20 Mar 2023
     
    XEUX? gdzie to można namierzyć ?

    innym ograniczeniem przy korzystaniu z dodatkowych banków może być sposób ładowania danych do nich, bezpiecznie jest korzystać z dodatkowego bufora, z którego następnie przepiszemy dane do właściwego banku, to tak gdybyśmy chcieli bezpiecznie korzystać z SDX
    • 13:
       
      CommentAuthorjhusak
    • CommentTime20 Mar 2023 zmieniony
     
    2008 - i nikłe info, czeba szukać i nie znajdywać...
    ->link<-
    O, tu jest ppt: ->link<-

    Tam pisze, że trzeba przepisać stos i zeropage podczas vblanka. No ale stos to z reguły kilka - kilkanaście bajtów, na szczęście, a zeropage pod stały adres (rozumiem, że jest pod koniec 16k bloku) to można ciurkiem króciutką procką o cyklu długości 3+5+2+3 cykle, albo ciurkiem procką o długości 1280 bajtów, za to _prawie_ 2 x szybszą :)

    Też tak macie, że 2008 był 10 lat temu?
    I można się żenić z dorosłymi kobietami urodzonymi w np. 2004 roku?
    • 14: CommentAuthortebe
    • CommentTime20 Mar 2023
     
    czyli XEUX jest i można go lizać przez "szybę" ;)
    • 15:
       
      CommentAuthorgienekp
    • CommentTime20 Mar 2023
     
    Ooo... to ja od razu dopytam mistrzów, jak to jest z gniazdem CART.

    Powiedzmy, że w obszarze $A000 - $BFFF jest RAM.
    Następnie wpisuje coś do $D5xx (rodzaj carta bez znaczenia), który powiedzmy, że po zegarze opadającym, aktywuje mi RD5 (na wysoki).
    Po ilu cyklach, do tego RD5 a może od razu? Pojawi się zapotrzebowanie na nS5?
    Bo to, że banki w carcie przełączają się natychmiastowo to wiadomo, ale pstrykanie między RAMem a CARTem to już takie oczywiste nie jest. Bo muszą się dogadać zatrzaski carta z tym układem MMU (nazwa mi uciekła z głowy)

    Według Altiry to teoretycznie dałoby się tak wstrzelić. Że PMG pobierze bajta z RAM, ale ANTIC będzie karmił się ROMem z carta lub odwrotnie.
    • 16: CommentAuthortebe
    • CommentTime20 Mar 2023
     
    ciekawe jak GTIA by zareagował gdyby można podmieniać stronę $d000 w sposób podobny jak przez PORTB, ~6..8 cykli CPU aby podmienić 30 rejestrów GTIA
    • 17: CommentAuthorgorgh
    • CommentTime20 Mar 2023
     
    Ruchać to się można i z urodzonymi w 2006
    • 18:
       
      CommentAuthorpirx
    • CommentTime20 Mar 2023
     
    o **** *** jak *********** czas
    już wnuczki ****** się, już wnuczki ****** się
  3.  
    przez całe dnie uczyłaś ***** je na ***** zarabiać..
    • 20: CommentAuthorkrap
    • CommentTime22 Mar 2023
     
    eh, z tym XEUXem to tak, ze mialem zaraz-za-chwile wyjsc z fazy “proof of concept” oraz “co za kocmoluch bez szkoly to pisal” do fazy dojrzalego produktu. ale zamknalem oczy na chwile i minelo kilkanascie lat, za co serdecznie przepraszam.

    sprobuje to jakos moze nawet dzis wydlubac i wystawic gdzies na github, moze komus sie do czego przyda, ale moim zdaniem to co zrobil mono w 2019 jest znacznie bardziej rokujace dla community niz tej moj kasztan. :)
    • 21: CommentAuthortebe
    • CommentTime22 Mar 2023
     
    tzn. co Mono zrobił w 2019 ?
    • 22:
       
      CommentAuthorjhusak
    • CommentTime22 Mar 2023
     
    Zaśpiewał "Mam tę moc" :)
    • 23:
       
      CommentAuthorsun
    • CommentTime23 Mar 2023
     
    i to w stereło
    • 24: CommentAuthorkrap
    • CommentTime23 Mar 2023
     
    Nastapily pewne problemy z moja autentycznoscia, ale w kazdym razie staralem sie. ;)
    • 25: CommentAuthortebe
    • CommentTime23 Mar 2023 zmieniony
     
    XEUX, link

    ->link<-

    Krap, możesz umieścić post o XEUX na AtariAge?
    • 26: CommentAuthorkrap
    • CommentTime23 Mar 2023
     
    Sikor juz wrzucil.

    (swoja droga, myslalem, ze to przez link ten moj poprzedni post nie przechodzil, ale widze, ze to nie bylo zwiazane. znow mam eror).
    • 27:
       
      CommentAuthorpirx
    • CommentTime23 Mar 2023
     
    ten typ, tzn forum, tak ma...