atarionline.pl Chętny na cartridge z Action! - 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:
       
      CommentAuthorinsert
    • CommentTime26 Dec 2010 zmieniony
     
    jak w temacie :)
    • 2:
       
      CommentAuthorKaz
    • CommentTime7 May 2020
     
    To ja tutaj dokleję post pana Zenona. Na ostatnim KWAS-ie, który skończył się dzisiaj w nocy, było sporo mówione o zapotrzebowaniu na prawdziwy cartridge Action!. Ponieważ na rynku trochę ciężko dostać takie cudo, zarówno oryginał, jak i kopie, a pojedyncze osoby są chętne na zaopatrzenie się czy to w celach eksperymentalnych, sentymentalnych czy hobbystycznych, to zaczęliśmy rozważać, czy możliwe jest wykonanie jakiejś niewielkiej partii (kilka? kilkanaście sztuk?) na nasze potrzeby.

    Podyskutujmy więc w tym wątku o tym jak to zrobić, jak ma wyglądać, etc.

    Z odnotowanych w trakcie spotkania pomysłów i uwag:
    - cart z dwoma wersjami Action! - oryginalną oraz zmienioną przez Petera Della
    - jak najniższy koszt takiego carta
    - rozbicie prac na kilka osób
    - uzyskanie pozwolenia zarówno od autora oryginału (Clinton Parker), jak i poprawek (Peter Dell).

    Rozmawiałem z AtariFanem dzisiaj telefonicznie, jest gótów nam w tym pomóc. Z kolei Zenon w wątku o warsztatach Action! rozpoczął dyskusję, ale przenoszę tę treść tutaj, bo tam się zagubi i zakłócałaby też rozmowy o warsztatach:

    Zenon:

    Moja koncepcja kartridża ACTION jest taka. Pamięć EEPROM AT28C256 o pojemności 32KB, w sam raz na dwa systemy. Pamięć jest programowana napięciem 5/V więc nie potrzebuje dodatkowego zasilacza.

    W kartridżu jest przełącznik włączający tryb PROGRAMUJ. Uruchamia się prodecurę programującą i plik danych wprogramuje się w kilka minut. Przełączenie na BOOT i powinien odpalić. Pamięć przed ponownym zaprogramowanie nie wymaga kasowania, po prostu wpisuje się co trzeba i jest ok. Można programować dowolny bajt jako tylko ten.

    Taki programowany kartridż ACTION ma tę zaletę, że jak po chwili powstanie nowe oprogramowanie do ACTION, użytkownik sam sobie go wprogramuje bez szukania kogoś kto ma programator.

    Do programowania zastosować można opcję -szybkie programowanie.
    Polega na tym, że przed wprogramowaniem kolejnego bajtu odczytuje się z pamięci EEPROM zawartość jej komórki. Jeżeli zawartość jest tożsama to pomija się programowanie tego bajtu i adresuje następną komórkę.

    A samo programowanie polega na tym że następuje:
    LDA DANA ; pobranie danej do zaprogramowania
    STA ADRES ; adres komórki do zaprogramowania ($A000-BFFF)
    ..... ; tu pusta pętla by chwilę odczekać aż wewnętrzne układy pamięci dokonają cyklu wprogramowania, czekać ok.10 milisekund
    ..... a tu kolejne wprogramowanie do komórki następnej lub dowolnie innej.

    Mogę zrobić prototyp na już, a ktoś niech napisze procedurę programującą.
    • 3:
       
      CommentAuthorKaz
    • CommentTime7 May 2020
     
    A jeszcze tak informacyjnie, że można Action! oczywiście umieścić np. na carcie SIC! (chyba obecnie nie do dostania) oraz Atari Max Flash Cart, co w obu przypadkach przygotował i opisał Kuba Husak:

    ->link<-

    ->link<-
    • 4:
       
      CommentAuthorKaz
    • CommentTime7 May 2020
     
    Tutaj strona Petera na SourceForge i informacja dotycząca licencji kodu Action!:

    In 2015, Clinton Parker has release the Action! 3.6 source code to the public under the terms of GPL. This project is intended to preserve the Action! source code and to provide updates and fixes for known bugs.


    ->link<-
    • 5:
       
      CommentAuthorpabloz1974
    • CommentTime7 May 2020
     
    I na ultimate cart
  1.  
    @Zenon jestem chętny
    • 7:
       
      CommentAuthorjhusak
    • CommentTime8 May 2020 zmieniony
     
    Wyważacie otwarte drzwi. Troszkę trywialnych zmian i będzie działał na moich kartridżach, tych, co Ridiculous Reality był wydany. Wystarczy podmieniając bankowanie zmienić procedurę zmiany banków. No i robi się kartridż redundantny, bo bankowanie 8KB to nie 4KB. W cenie pięćdziesiąt zł dla forumowiczów, w obudowie maszczyka, prom (czyli raz na zawsze). Flash byłby ciut droższy.

    Ktoś chętny?
    Jak mogę pomóc - to chętnie pomogę. Mogą być na za tydzień :)
    • 8:
       
      CommentAuthorbocianu
    • CommentTime8 May 2020 zmieniony
     
    jakbyście chcieli sobie zrobić nowe nalepki to tak się dobrze składa, że mam zwektoryzowane logo Action!
    • 9:
       
      CommentAuthorKaz
    • CommentTime8 May 2020 zmieniony
     
    Kuba - z nieba nam spadasz! :D
    Wczoraj na Afterku intensywnie rozmawialiśmy o przedstawionej przez Ciebie opcji - i chętnie skorzystamy. Jakieś pytanie miał jednak AtariFan i chciał się z Tobą skontaktować (zdaje się chodzi o to, czy faktycznie będą dwa Action! jednocześnie - stary i nowy, i przełącznik). I od razu szykujemy listę zamówień, bo parę osób się zdeklarowało, a jeszcze dzisiaj po warsztatach TDC-a będziemy ustalać co i jak. Acha, optujemy za opcją Flash, bo jednak wierzymy w to, że za jakiś czas powstanie aktualizacja Action! :D

    Ktoś się nawet zdeklarował, że przygotuje program programatora w Action! (pomysł AtariFana), co będzie domknięciem symbolicznego koła - cartridge Action! zaprogramowany przez Action! :D

    Bocianu - rewelka, dzięki! To zaoszczędzimy trochę czasu na przenoszeniu logo, chociaż on jest takie, jakie się Atari Fanowi nie podoba :D
    • 10:
       
      CommentAuthorjhusak
    • CommentTime8 May 2020 zmieniony
     
    Ależ program programatora już jest. Może w wersji trochę tekstowej, ale zawsze :)

    Na szybko - jeden Action w kartridżu. Opcja typu 2 kartridże na kartridżu widzę tak, że np. option startuje opcjonalny, a bez option zwykły; niemniej, aby to działało, potrzebne są kolejne pacze wsadów action, bo przecież w innych bankach będą leżały.

    Jeśli by zastosować przełącznik - komplikuje się sprawa mechaniki, bo to trzeba odciąć, przylutować, wywiercić dziurę, przykleić przełącznik ... zabawa Panie, zabawa. A przełączniki się utleniają... Zwłaszcza te suwakowe malutkie.

    Dlatego proponuję, dla wygody własnej - jeden kartridż - jeden Action. Jak będzie flash, to se będzie można zmieniać dość szybko wersję Action.
    • 11:
       
      CommentAuthorKaz
    • CommentTime8 May 2020
     
    Z tym Option to jest myśl bardzo dobra. Wpadnij dzisiaj na warsztaty TDC o 20:00 albo Afterek po 23:00 to ustalimy co i jak.
    • 12: CommentAuthorVLX
    • CommentTime11 May 2020
     
    Tak z ciekawości, jakie zmiany wprowadził Peter Dell? Czym się różnią te dwie wersje Action?
    • 13:
       
      CommentAuthorKaz
    • CommentTime11 May 2020
     
    Z obecnych tu osób ten temat chyba najbardziej zgłębił Zbyti. Pewnie wkrótce odpowie :)
    • 14: CommentAuthorzbyti
    • CommentTime11 May 2020 zmieniony
     
    Nie wiem wiele o 3.7P ;(

    Co do poprawionych błędów względem wersji 3.6 to znajdujemy dość lakoniczny wpis:

    New ACTION! versions > 3.6 thanks to JAC! for compiling and fixing the known bugs ->link<-

    Te błędy jak rozumiem poprawił jeszcze oryginalny autor ->link<-

    O szczegóły trzeba by napisać do Petera Della.

    Zmiana, która dezorientuje jest inny układ pamięci. Coś mi się kołacze, że Action 3.6 miał bank switching po 8K a 3.7P wygląda jakby 16K trzymał od razu od $8000-$BFFF, przynajmniej ta wersja przeznaczona pod emulatory.

    3.7P zabiera RAM od $8000, zmienna deklarująca wielkość tablicy symboli jest ustawiona na 16 (3.6 ma domyślnie 8), więc jeszcze ram spada od o 16 stron pamięci. W praktyce Action! 3.7P robi już coś od $6C00, nie kojarzę ale chyba mimo wszystko pamięć ekranu jest powyżej tego adresu.

    Do tego jeżeli zamiast kompilować zewnętrze źródła piszesz w edytorze to Action twoje źródła trzyma od $0E00, poniżej tego adresu trzyma jakieś swoje zmienne.

    ERGO: przy pracy z Action! RAM-u jest niesamowicie mało! Nie udaje się skorzystać z pamięci 130XE.

    Pewnym ratunkiem jest używania carta tylko do kompilacji i zgrywania tego z RUNTIME do .COM który doczyta sobie zasoby.

    -----

    Zautomatyzowanie tego procesu pozbawi nas informacji o błędach podczas kompilacji. Do tego w sposób wygodny możliwe jest to tylko na emulatorze gdzie odpalisz po sobie kompilacje a później wytstartujesz emulator z save state z wczytanymi zasobami.

    Także osobiście czekam na Effectusa od Gurego a cartridge z Action! to zakup ciekawy tylko jeżeli mamy zamiar pisać krótkie programy natywnie lub odpalać większe, które nie zostały skompilowane z RUNTIME i wymagają obecności carta.
    • 15:
       
      CommentAuthorjhusak
    • CommentTime11 May 2020 zmieniony
     
    Da się pisać duże programy w Action, jednak lepiej pisać oddzielnie bloki gry: plansza tytułowa, wybór leveli, intra, game over i właściwa gra umieszczać w oddzielnych plikach i kompilować pod oddzielne adresy w pamięci.

    Najlepszym plikowym rozwiązaniem było przepisywanie spod ramu przełączanych 3 bloków. Najlepszym, bo w całości(?) kompatybilnym z kartridżem. Minus - strasznie powolna kompilacja.
    • 16: CommentAuthorzbyti
    • CommentTime11 May 2020 zmieniony
     
    @jhusak dać się da ale kosztem dużej niewygody - odpada pisanie w edytorze Action! i testowanie tak pisanego programu jednocześnie jako całości.

    Musisz używać dyrektywy OFFSET i poskładać to sobie poza środowiskiem Action! zwłaszcza jeżeli chcesz mieć od $8000-$BFFF wolne.

    Kto ma na to dziś czas i ochotę jak taki Mad Pascal pozwala na dostęp do całego RAM Atari bez zbędnej zabawy?

    Effectus odziedziczy tę zaletę Mad Pascala.

    EDIT: coś dopisałeś jak pisałem tego posta. To może wyłuszcz bardziej szczegółowo swoją metodę?

    Jak omijam wady Action! tak jak opisałem ale to działa tylko z emulatorem.
    • 17: CommentAuthorMADRAFi
    • CommentTime11 May 2020
     

    jhusak:

    Da się pisać duże programy w Action, jednak lepiej pisać oddzielnie bloki gry: plansza tytułowa, wybór leveli, intra, game over i właściwa gra umieszczać w oddzielnych plikach i kompilować pod oddzielne adresy w pamięci.


    Czyli jednak mialem racje ze mozna pisac porzadnie w Action!
    ;)
    • 18:
       
      CommentAuthorKaz
    • CommentTime11 May 2020
     
    Madrafi - he he, to przyznawanie sobie racji na podstawie jakiegoś wycinka wypowiedzi Kuby. Przecież z kontekstu wynika, że to "porządne pisanie" to rzeźnia, która szczególnie nie nadaje się do nauczania początkujących.
    • 19: CommentAuthorMADRAFi
    • CommentTime11 May 2020
     
    Nie jakiegos wycinka. Masz cala wypowiedz.
    Poczatkujacy to pisza "Hello World" a nie gry na Atari.
    • 20:
       
      CommentAuthorKaz
    • CommentTime11 May 2020 zmieniony
     
    No właśnie masz całą wypowiedź, więc nie ma potrzeby wyrywania z kontekstu:

    1.

    Husak:

    Da się pisać duże programy w Action (...)


    - co oznacza, że to nie jest dla początkujących, bo tacy nie będa pisać w Action! dużych programów. Pomiędzy Hello World a dużymi programami jest naprawdę spora przestrzeń dla początkujących.
    - "da się" nie oznacza, że "trzeba" albo "jedyne słuszne rozwiązanie".

    2.

    Husak:

    i właściwa gra umieszczać w oddzielnych plikach i kompilować pod oddzielne adresy w pamięci


    I to ma być Rafał dla początkujących? Znasz jakichś początkujących, piszących duże programy w Action! i potrzebujący korzystać z dodatkowej pamięci? (w sensie pamięci ponad to, co oferuje standard Action!)

    3.

    Husak:

    Minus - strasznie powolna kompilacja.


    To jakoś nie widzę tego na warsztatach nauczania Action!. Ciągłe składanie elementów składowych, gdy trzeba szybko pokazać jakiś efekt, przekopiować jeden fragment programu w inne miejsce, etc.

    4. No i pominąłeś dalszą część kontekstu, na którą zwracał uwagę Zbyti:

    Zbyti:

    dać się da ale kosztem dużej niewygody - odpada pisanie w edytorze Action! i testowanie tak pisanego programu jednocześnie jako całości.


    Jeśli początkujący mieli by pisać "kosztem dużej niewygody" to chyba to nie jest dobry kierunek? Poza tym pisanie w Action! poza edytorem Action! powodowałoby odpadniecie elementu, na który nacisk kładzie TDC - powrót na platformę, poznanie prawdziwych możliwości Atari, etc.
    • 21: CommentAuthorzbyti
    • CommentTime11 May 2020 zmieniony
     
    @Kaz mi chodziło, że można by pisać w edytorze Action! ale na czas kompilacji trzeba by pamięć edytora zwolnić i kompilować z pliku.

    Ja pisząc w zewnętrznym edytorze mam ten krok z automatu. Na czas kompilacji wywołuję emulator od razu z monitorem Action! i wpisaną ścieżką oraz nazwą pliku do kompilacji, dlatego mogę ustawić sobie CODEBASE od $1000.
    • 22:
       
      CommentAuthorKaz
    • CommentTime11 May 2020
     
    Zbyti - tak właśnie to zrozumiałem :)
    • 23: CommentAuthorMADRAFi
    • CommentTime11 May 2020
     
    Chyba ta dyskusja powinn abyc przeniesiona gdyz nie dotyczy watku.

    Odpowiadajac Kaz, Maly program nie ma problemu mozna trzymac w pliku pamietajac o przejrzystosci kodu.
    wieksze programuy ktore potrzebuja bibliotek, wlasnych procedur, raczej widzialbym pociety na kawalki.
    Min in dlatego ze nie da sie duzego source edytowac wygodnie.
    Ekran w atari to 40x24, takze ja bym wolal zajrzec do odzielnego pliku ktory dotyczy danego fragmentu danego programu. NP gry.

    Min dlatego ja osobiscie pocialbym kod zrodlowy i uzywal includow. Wtedy ladujemy do pamieci odpowiedni fragment i go edytujemy.

    Z tego co widzialem to TDC w omawianym programie juz uzywa include.
    • 24: CommentAuthorzbyti
    • CommentTime11 May 2020
     
    My TDC nie namówiliśmy ale życie go zmusiło ;)
    • 25: CommentAuthorzbyti
    • CommentTime11 May 2020 zmieniony
     
    Sprawdziłem RAMLO po odpaleniu obu cartów:

    Action! 3.6 $A000-$BFFF
    Action! 3.7P $8000-$BFFF

    Fizycznie na Atari brałbym w taki razie oryginał 3.6, jakbym już koniecznie chciał mieć.
    • 26:
       
      CommentAuthorjhusak
    • CommentTime11 May 2020 zmieniony
     
    Ale wersja "P" to jest taka "spróbuj, zanim się zaangażujesz", ona się nie nadaje do niczego poważniejszego poza napisaniem 2kb źródła i skompilowaniem. Ale jest bardzo potrzebna - dobrze, że powstała jako oficjalne wydanie wraz z dokumentacją (prostą, ale kluczową), a nie pokątnie.

    Fajnie, jakby powstała wersja 130xe, gdzie źródła mamy w dodatkowej pamięci, a kompilujemy do podstawowej. Zapodam do JACowi jako temat.