atarionline.pl Program COM na kasetę - 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
    • CommentTime2 Mar 2009
     
    Skompilowałem sobie pewien program przy użyciu Kyan Pascal. Jak teraz zrobić żeby automatycznie się ładował i uruchamiał z kasety po włączeniu Atari z wciśniętym Start i Option?
    • 2:
       
      CommentAuthorKaz
    • CommentTime3 Mar 2009
     
    Informacje o Kyan Pascal znajdziesz:
    - w Bajtku (jest w Bibliotece, ale numeru nie pamietam)
    - w ksiazce Zientary "Jezyki Atari XL/XE cz.2" (jest w Bibliotece)
    - w IKS - byl kurs programowania (w Bibliotece),
    - w tutorialach towarzyszacych temu jezykowi na dyskietce (jest w Katalogu Uzytkow).

    Na zdrowy rozum oprocz kompilacji potrzebujesz dolaczyc biblioteke procedur. Zientara pisze o tym tak:

    "Kyan Pascal odczytywany jest automatycznie z dyskietki
    znajdującej się w stacji dysków numer 1 w chwili włączenia
    komputera. Sposób uruchomienia edytora i kompilatora jest podany w rozdziałach opisujących te części systemu. Programy napisane w Kyan Pascalu mogą być uruchamiane samodzielnie pod warunkiem, że biblioteka zawarta w pliku LIB znajduje się na tej samej dyskietce lub została dołączona do programu. Dotyczy to również programów zapisanych pod nazwą AUTORUN.SYS, które samoczynnie wczytują się i uruchamiają po włączeniu komputera. Sposób wykorzystania pamięci komputera przez edytor i kompilator Kyan Pascala jest dla użytkownika zupełnie nieistotny.

    Ważne jest jedynie położenie w pamięci gotowego, skompilowanego programu. Obszar od adresu 37888 ($9400) do 48127 ($BBFF) zajmuje biblioteka (LIB). Powyżej znajduje się pamięć obrazu w trybie 0. Dla programu oraz jego danych i stosu pozostaje miejsce od szczytu
    DOS—u do początku biblioteki. Obszar ten rozciąga się od adresu 8192 ($2000) do 37B87 ($93FF). Skompilowany program wczytywany jest normalnie od adresu 8192, co można zmienić poprzez dyrektywę ORG. Dostępny obszar pamięci zmniejsza się znacznie przy stosowaniu trybów graficznych, które wymagają więcej miejsca niż tryb 0, ze
    względu na konieczność przeniesienia pamięci obrazu poniżej biblioteki. Do dyspozycji użytkownika pozostaje ponadto szósta strona pamięci RAM (1536— 1791 = $0600-$06FF)."

    Wiecej we wspomnianej wyzej ksiazce i innych materialach.
    • 3:
       
      CommentAuthoradiblol
    • CommentTime3 Mar 2009 zmieniony
     
    kyan pascal to tylko przykład. chodziło mi o zapisanie pliku binarnego programu na kasecie. Jaki loader mogę do tego wykorzystać? Czy do zapisania samego pliku com wystarczy mi DOS? Stawiając sprawę prosto: jaki loader kasetowy automatycznie mi załaduje program COM? btw tak w ogóle to chcę odpalić program swojego autorstwa na prawdziwym atari który niestety nie ma stacji dyskietek.
    • 4:
       
      CommentAuthorlarek
    • CommentTime3 Mar 2009
     
    Polecam to: ->link<-

    Generalnie zasada jest prosta. Przed swoim programem (*.COM) należy na taśmie nagrać odpowiedni loader, np. słynny "!". Skopiuj go z innej gry, którą masz na taśmie. Powyższy link wskazuje bardziej eleganackie rozwiązanie.
    • 5:
       
      CommentAuthorKaz
    • CommentTime3 Mar 2009
     
    A loadery powinienes znalezc w katalogu uzytkow.
    • 6:
       
      CommentAuthorsikor
    • CommentTime3 Mar 2009
     
    @adiblob: tak w ogóle to chcę odpalić program swojego autorstwa na prawdziwym atari który niestety nie ma stacji dyskietek.
    Hmm, a ja bym Ci zaproponował wykonanie kabelka SIO2PC (jeśli masz port COM w komputerze) - koszt rzędu 10-20 złotych (jeśli nie chcesz ucinać wtyczki z magnetofonu - można wykonać dodatkowe gniazdo w samym magnetofonie, plus-minus 2 złote plus troszkę cięcia).
    A docelowo - zainwestowanie w SIO2SD - chyba najwygodniejsze urządzenie do pracy z obrazami atarowskich dysków. Ale tu już zabawa jest znacznie droższa...
    • 7: CommentAuthorxxl
    • CommentTime3 Mar 2009
     
    SIO2SD dziala nie tylko z obrazami dyskow, z plikami rowniez. cena tez nie zabija - chyba 100zl a karda SD na ktorej zmiescisz wszystko co pojawilo sie na atari to pewnie z 20zl ;-) no ale jesli to jednorazowy zryw do atari to loader (wykrzyknik) zalatwi sprawe.
    • 8:
       
      CommentAuthoradiblol
    • CommentTime5 Mar 2009
     
    próbowałem wykorzystać loader z gry Cavelord (ze zgranej taśmy a nie naszego katalogu). Na emulatorze świetnie działał, na prawdziwym Atari nie wykrywal końca programu :( czy możecie podać z jakiej gry mogę wziąć wykrzyknika? Lub podać nazwę jakiegoś dobrego, krótkiego i uniwersalnego loadera (który jest w katalogu użytków)?
    • 9:
       
      CommentAuthorlarek
    • CommentTime6 Mar 2009
     
    Prawdopodobnie podczas wczytywania wystąpił jakiś błąd. Tak na wszelki wypadek zapytam: przy włączaniu Atari trzymałeś wciśnięty klawisz Option (oprócz oczywiście Start)? Może był włączony Basic? Emulator ma Basic standardowo odłączony (odwrotnie niż Atari). Skoro na emulatorze się wgrywało, to ja bym raczej stawiał na błąd odczytu z taśmy.
    • 10:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    sam loader się wgrywał. włączałem z wcisnietym start i option. loader nie wykrywa końca programu. podejrzewam że w tym loaderze jest na stałe zakodowana liczba rekordów ...
    • 11:
       
      CommentAuthorKaz
    • CommentTime6 Mar 2009
     
    Na, ale gdyby tak bylo, to program by tez nie uruchamial sie na emulatorze... Obstawiam to co Larek - blad odczytu (stara tasma albo zle dopasowanie ustawienia glowicy).
    • 12:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    Dobra... nieważne jaka jest przyczyna, ważne że nie działa.

    Spróbuję w następny czwartek z loaderem z Mózgprocesora (zaraz sprawdzę ile rekordów on zajmuje).
    • 13:
       
      CommentAuthorlarek
    • CommentTime6 Mar 2009 zmieniony
     
    Oryginalny Mózgprocesor, o ile pamiętam, miał swój własny loader, który raczej nie będzie działał z innymi programami.

    Standardowe loadery (np. !) działają z plikami bez względu na ich długość.
    • 14:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    Loader z Mózgprocesora nie działa... :(

    Z jakiej gry mogę wziąć "!"? Bo w katalogu użytków nie znalazłem.
    • 15:
       
      CommentAuthorlarek
    • CommentTime6 Mar 2009 zmieniony
     
    Np. z tej:
    ftp://ftp.pigwa.net/stuff/collections/stryker/cas/other/!/atari_tennis.cas

    --------------
    Jak widzę, linkowanie nie zawsze działa :(
    Skopiuj link i wklej do przeglądarki.
    • 16:
       
      CommentAuthorKaz
    • CommentTime6 Mar 2009
     
    W katalogu gier na AtariOnline jest sporo gier w formacie CAS, jak ktos ma je sciagniete to mozna szybko odnalezc i zaaplikowac.


    @"Dobra... nieważne jaka jest przyczyna, ważne że nie działa."

    No wlasnie, ze wazna jest przyczyna, bo jezeli to nie wina loadera tylko np. tasmy/glowicy, to zmiana na DOWOLNY loader niczego nie zmieni.
    • 17:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    Z tym że gra Cavelord, używająca tego samego loadera i zripowana z tej samej taśmy co loader działa... więc to wina loadera.
    • 18:
       
      CommentAuthorlarek
    • CommentTime6 Mar 2009
     
    Prawdę mówiąc, to się pogubiłem...
    Cavelord wczytuje się z tym loaderem, Twój program nie - tak?
    Jeśli tak, to nadal przyczyną może być błąd odczytu. Jeśli nie, to może wina leży po stronie tego Twojego programu, a nie loadera. Może wczytuje się w obszar pamięci zajmowany przez loader? Może... no właśnie, pozostaje tylko "może". Rozumiem, że pod DOS-em program się uruchamia. Jeśli tak, to powinien (wręcz musi) uruchomić się pod COS-em ->link<- ! Jeśli nie, to nadal wracam do twierdzenia, że program źle się nagrał/źle się odczytuje.
    • 19:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    "Cavelord wczytuje się z tym loaderem, Twój program nie - tak?" - tak. Bo loader jest wzięty z Cavelorda więc musi z nim działać

    "Jeśli tak, to nadal przyczyną może być błąd odczytu." - inne gry i programy (z własnymi loaderami, a także programy w Atari Basicu) odczytują się bez problemów, a loader z Cavelorda wyraźnie oczekuje dodatkowych rekordów. Kiedyś, gdy program się skończył ładować, dotknąłem palcem wtyczki mini-jack na którą szedł sygnał do magnetofonu. Zaindukowany w moim ciele przydźwięk sieci spowodował błąd (chyba 143) - czyli Cassete Read Error, a nie jak zwykle przy używaniu tego loadera - cośtam Timeout (nie pamiętam dokładnie).

    Magnetofon mam przerobiony: ->link<-

    "powinien (wręcz musi) uruchomić się pod COS-em" - jeśli się nie pomyliłem w obliczeniach to COS zajmuje ok. 10 rekordów. Nie podoba mi się to...

    Co do wykrzyknika to nie ma róży bez kolców. Po załadowaniu programu nie działa w nim funkcja printf (robię pod CC65) :( Pewnie dlatego że wykrzyknik "cudem tylko działa na komputerach serii XL/XE" (źródło: Atariki)

    Czy możecie dać nazwę, a jeśli nie ma w naszym katalogu to także linka jakiegoś dobrego loadera na kasetę?
    • 20:
       
      CommentAuthorlarek
    • CommentTime6 Mar 2009 zmieniony
     
    Oj, trudno Ci dogodzić ;-)
    Piszesz program z nagłówkiem dosowym (bo taki jest plik COM), czyli z przeznaczeniem do uruchamiania pod DOS (lub COS), a chcesz koniecznie uruchamiać go z magnetofonu bez systemu. Skoro już piszesz coś w asemblerze, to od razu stwórz plik bootowalny. Bardzo ładnie jest to opisane tu ->link<- .
    Kwestia innego nagłówka. Nie bedziesz potrzebował żadnego loadera.
    • 21:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009 zmieniony
     
    Ten loader od Cavelorda był idealny... niestety miał stałą liczbę rekordów (nie wykrywał końca)

    Chyba prościej będzie kupić/zrobić interfejs SIO2PC niż bawić się z tymi loaderami :)

    dodane:
    Ten układ jest rzeczywiście bardzo prosty! godzina roboty albo mniej tak myślę...
    Tylko czy jak podepnę się pod kable magnetofonu to magnetofon będzie nadal działał? (tzn. jak zdejmę izolację i podepnę SIO2PC NIE odłączając kabli od magnetofonu)
    • 22: CommentAuthorzaxon
    • CommentTime6 Mar 2009
     
    Adiblol, rozumiem ze szukasz taniego wgrywadelka, zrob sobie moze sdrive rastra?Atmege ci moge zaprogamowac,plytke na upartego tez wytrawie jak nie potrafisz. Proste w budowie i naprawde skuteczne. A kable jak chcesz podpinac rownolegle to na lini command ma byc dioda zaporowo.
    • 23:
       
      CommentAuthorsikor
    • CommentTime6 Mar 2009
     
    Tak mi chodzi po głowie... A nie próbowałeś zastosować kopiera do plików kasetowych. Nie pamiętam, ale chyba CASDUP lub CACKO pozwalał na dodanie loadera (w tym któryś pozwalał wygenerować wykrzyknik).
    Co do niewgrywania - przyczyna może być zupełnie inna i prozaoiczna, o czym wielu zapomina. Jeśli masz w środku programu blok INIT (bodajże) - może wymagać dłuższej przerwy między blokami. Jak jej nie dostaje - za wcześnie pojawia się kolejny blok danych i program się nie wgra, bez względu na to, jakiego loadera użyjesz. Po prostu jest "za gęsto" nagrany. Albo tu, albo na atariarea była kiedyś o tym dyskusja - poszukaj, proszę. Należy użyć kopiera, który dodaje odpowiednie przerwy (hmm, chyba CACKO to potrafił, ale głowy nie dam).
    • 24:
       
      CommentAuthoradiblol
    • CommentTime6 Mar 2009
     
    znam się trochę na elektronice więc nie musisz mi pomagać :) co do tej diody to jak? tak (bebechy magnetofonu --|>|--- wtyczka do kompa) czy odwrotnie?