atarionline.pl MadPas(CART) [und|or] ExtMemory - 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
    • CommentTime1 Jul 2023 zmieniony
     
    Wybaczcie pytania początkującego, jeżeli "wszystko już gdzieś jest opisane"...

    Czy MadPascal ma wsparcie do obsługi Carta?
    Jeżeli nie ma natywnie, to czy koledzy, którzy mają doświadczenie w tym temacie, byli by chętni podzielić się wiedzą?

    Przykładowy scenariusz: używam pamięci karta do ładowania grafiki i innych elementów - np. muzyki dla danego etapu.
    Rozumiem, że pierw muszę przygotować dane w postaci 16kB bloków, by wcześniej przygotowanym programem ("wątek obok") przenieść je na karta (z możliwością zapisu).

    Czy, w momencie inicjalizacji karta, pamięć spod niego będzie dostępna w MadPascalu?
    Np. by nie tracić pamięci, w pamięci natywnej przechowuję ekran początkowy HighScore i instrukcję. W momencie przejścia do gry inicjalizuję karta, ustawiam odczyt np. z bloku $01, po ukończeniu etapu przełączam na blok $00, gdzie przechowuję dane "międzyetapowe", potem przełączam na $02 - czyli kolejny etap - itd. itp.

    ...czy taki sam układ danych mogę użyć dla obsługi pamięci rozszerzonej?
    Rozumiem, że wtedy zapisanie bloków musi dokonać się iteracyjnie przed załadowaniem właściwego programu, następnie zacząć ładowanie głównego modułu, a na koniec przekazać mu sterowanie.
    • 2: CommentAuthortebe
    • CommentTime1 Jul 2023
     
    Jakub Husak dysponuje foxDOS-em przystosowanym do działania z CART-em
    • 3:
       
      CommentAuthorjhusak
    • CommentTime1 Jul 2023
     
    Z dokładnością do tego, że to wersja bardzo beta - praktycznie zintegrowana z danymi na kartridżu (niestety inaczej nie wchodziło na kartridż). Kiedyś popracuję nad zrobieniem tego bardziej uniwersalnie.
    • 4:
       
      CommentAuthorgienekp
    • CommentTime2 Jul 2023 zmieniony
     
    Chyba jeszcze xBIOS (i PrinceofPersia) tak umie?

    No ja dla początkujących to proponuję zrobić zwykły dosowy plik ATR. Najlepiej taki pod 512kB (jak w załączniku). Wszystko tam powgrywać jak trzeba na tym ATR.
    A potem zamienić ATR za pomocą ATR2JAC na obraz carta (*można też ATR2CAR). Powstanie nam obrazek carta. I na koniec flahser i fizyczny cart od @jhusak i mamy gotowe finalne własne dzieło gotowe do wsadzenia do pudełeczka.

    *ATR2CAR produkuje dla S-XEGS, do programowania tego standardu trzeba mieć programator pamięci flash.

    Dlatego polecam iść w standard J(atari)Cart512(kB) :)
    • 5:
       
      CommentAuthorMaW
    • CommentTime3 Jul 2023 zmieniony
     
    Gienek, fajnie, śledzę Twój wątek i doceniam opcję uruchamiania obrazu dyskietki z Carta - ale tu nie o taką obsługę pamięci carta chodzi. M.in. przez to, że odpada możliwość korzystania z pamięci Carta jako bloków pamięci bezpośredniej:
    Czy, w momencie inicjalizacji karta, pamięć spod niego będzie dostępna w MadPascalu?
    Np. by nie tracić pamięci, w pamięci natywnej przechowuję ekran początkowy HighScore i instrukcję. W momencie przejścia do gry inicjalizuję karta, ustawiam odczyt np. z bloku $01, po ukończeniu etapu przełączam na blok $00, gdzie przechowuję dane "międzyetapowe", potem przełączam na $02 - czyli kolejny etap - itd. itp.

    Jeżeli była by możliwość zapisu do carta bezpośrednio z programu/preloadera, rozwiązanie było by idealne. Rozumiem, że musiało by być dostosowane pod jeden, określony typ karta - ale: _dostępnego_jako_pamięć_ bezpośrednio z programu załadowanego do atari. Czyli tak, jak na komputerze z rozszerzoną pamięcią.
    • 6: CommentAuthortebe
    • CommentTime3 Jul 2023
     
    w grze FLOB jest obsługa carta, jako źródło assetów, czyli odczyt wszystkich danych dotyczących leveli gry

    ->link<-
    • 7:
       
      CommentAuthorgienekp
    • CommentTime3 Jul 2023
     
    W ATR2CAR domyślnie cart jest wyłączony. Przy pamięci flash 512kB i dyskietce SD 80% carta jest puste. I można sobie je normalnie bankować. Oczywiście jak będziemy chcieli jednocześnie bankować i czytać to będzie konflikt. Ale ten konflikt będzie i przy normalnej pracy.

    Przy ambitniejszym projekcie niestety trzeba wszystko projektować specjalnie pod cartridge. Mało tego, pod konkretny cartridge. Bo zupełnie inaczej jest jak się przełącza bloki 8kB a inaczej 16kB. Jakby nie patrzeć 16kB to 1/4 zakresu pamięci całego ATARI. Odejmując ROM to tak na oko mamy tylko połowę przestrzeni żeby się minąć z danymi. A jeszcze jak w carcie nie ma danych na gotowo, ale tu jakiś obrazek, tam jakiś kod. To jak zmiana umeblowania w ciasnym pokoju :)

    A jak dojdzie zapis to już się robi naprawdę ciekawie. Bo wszystko trzeba robić pod konkretną pamięć flash. I tu dochodzi jeszcze problem bufora na zapis do pamięci flash. A sektor do zapisu może być duuuuży :)
    • 8: CommentAuthortebe
    • CommentTime3 Jul 2023
     
    a ja tak nie chce, ja chce oddzielny dostęp do RAM i CAR jak w 130 XE

    bo ja jestem znawca tematu...
    • 9: CommentAuthortebe
    • CommentTime3 Jul 2023 zmieniony
     
    cart który nie istnieje na Atari XE/XL

    podajesz do carta adres źródłowy (24bit), docelowy (24bit), długość (24 bit), cart realizuje przesył danych

    adres 0..$FFFF to pamięć podstawowa, powyżej pamięć carta
    • 10:
       
      CommentAuthorgienekp
    • CommentTime3 Jul 2023
     
    @tebe
    trochę już istnieje :)
    tylko nie 24-bit a 32-bit

    Niestety do końca nie można stwierdzić, czy do ATARI dopięto "coś" po gnieździe cartridge, czy jednak do tego cudaka dopięto ATARI po tym złączu.
    • 11:
       
      CommentAuthorMaW
    • CommentTime6 Jul 2023
     
    Dzięki Tebe za link do repo Floba, nawet nie wiedziałem, że Bocianu już uwolnił kod gry.