atarionline.pl ASM - jak realizować I/O? - 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.  
      Hej,
      Proszę o wskazanie źródeł, w których można poczytać o tym, jak robić operacje I/O w asemblerze.

      Wiem, że jedną z opcji jest xBios od XXLa. A jak to zrobić we współpracy z "pełnoprawnym" DOSem?
      • 2: CommentAuthormono
      • CommentTime11 May 2013 19:05 zmieniony
       
      ->link<-
      a poza tym atariki:
      ->link<-
      i ->link<-
      • 3:
         
        CommentAuthormgr_inz_rafal
      • CommentTime12 May 2013 21:05 zmieniony
       
      OK, działa.

      Mam pytanie uzupełniające - jak "wygodnie" programować na PC w momencie, gdy program wymaga DOSa?

      Do tej pory, przy pisaniu programów niedoczytujących, uruchamiałem .xex pod emulatorem i już :)

      A teraz:
      1. Kompilacja
      2. Uruchomienie "makeatr"
      3. Edycja dyskietki z DOSem i dodanie do niej .xexa
      4. Odpalenie emulatora z dyskietką z DOSem
      5. Załadowanie i uruchomienie programu
      • 4: CommentAuthorilmenit
      • CommentTime12 May 2013 21:05
       
      Polecam ->link<-
      Ma sporo błędów, ale można zrobić proste buildowanie ATR.
      • 5: CommentAuthormono
      • CommentTime12 May 2013 21:05 zmieniony
       
      Ja robię sobie Makefile, które mi skompiluje, skonwertuje i zrobi atra. Używam sobie do tego:
      - mads (asm)
      - franny (atr) ->link<-
      - iconv (dokumentacja) ->link<-
      - cpp (makra)

      Edit: Ilmenit mnie nieco ubiegł :) Jeśli idzie o samego dosa, to wygodnie jest przygotować sobie plik .car z sdx (np. emulgatorem atari800), podłączyć go do emula i zapisać konfigurację. Nie trzeba wtedy za każdym razem trzymać atra wzorcowego z zainicjalizowanym dosem.
      • 6:
         
        CommentAuthorwilly
      • CommentTime12 May 2013 21:05 zmieniony
       
      Do większych projektów warto się zaprzyjaźnić z profesjonalnymi narzędziami programistycznymi.

      ->link<-

      Tworząc odpowiedni plik makefile, jednym kliknięciem można cały proces zautomatyzować.
      (to tak w skrócie)

      edit: mono mnie uprzedził.
    2.  
      Dzięki za odzew.

      Make znam, czas zaprzyjaźnić się z Franny :)
      • 8: CommentAuthorxxl
      • CommentTime12 May 2013 21:05
       
      to sa oczywiscie dobre sposoby ale pracochlonne.

      ja proponuje do katalogu z projektem skopiowac dosa ktorego uzywasz pod nazwa $dosboot.bin i wskazac ten katalog emulatorowi jako "mount folder as virtual DOS2 disk"

      od teraz po skompilowaniu pliczku bedzie on odrazu widoczny pod dosem na emulatorze
      • 9:
         
        CommentAuthorTheFender
      • CommentTime12 May 2013 21:05
       
      No no, robi się nam z kolegi Rafała koder pełną gębą :)
      Chociaż, w świetle jego produkcji aż chce się krzyknąć pełną .... ;)
    3.  
      xxl,
      Jaki emulator ma tę opcję i gdzie?
      • 11: CommentAuthormono
      • CommentTime12 May 2013 21:05 zmieniony
       
      I xxl pozamiatał :)
      Jakbyś chciał z kolei kompilować na pc i odpalać na żywym atari, to mogę polecić 2 rozwiązania oparte na sio2pc:
      - sio2bsd z mapowaniem atra pod d1
      - sio2bsd z mapowaniem katalogu jako PCL: i sterownikiem PCLINK.SYS do sdx (musisz mieć carta sdx w atari)
      sio2bsd nie cachuje informacji o dyskietce więc możesz w locie (bez kończenia sio2bsd) wymieniać zawartość atra jak i katalogów (aspeqt oidp cachuje).
      • 12:
         
        CommentAuthorwilly
      • CommentTime12 May 2013 21:05
       
      Altirra
      File->Disk Drives-> (kliknac na >) a dalej już z górki.
      • 13: CommentAuthorxxl
      • CommentTime12 May 2013 21:05
       
      Altirra
      file/disk drives/>/mount folder as virtual dos 2 disk

      szkoda ze atari800 tego nie ma :/
    4.  
      Hmm, albo jestem ślepy albo...

      Gdzie tutaj jest to ">", na którym mam kliknąć?



      Klikanie na "F" pozwala mi wybrać folder, ale wskazanie takiego, który zawiera $dosboot.bin nie powoduje nic poza "BOOT ERROR".
      • 15: CommentAuthorxxl
      • CommentTime12 May 2013 22:05
       
      stara wersja emulatora
    5.  
      Której wersji powinienem zatem użyć?
      • 17: CommentAuthorxxl
      • CommentTime12 May 2013 22:05
       
      2.3 z hakiem na stronie jej nie ma, musisz poszukac w watku altirra na forum atariage
      • 18:
         
        CommentAuthorwilly
      • CommentTime12 May 2013 22:05
       
      ->link<-
      Smacznego.
    6.  
      Dzięki :)
      Widzę, że jest już nawet -test25.

      I mam przy okazji dokładniejsze wyjaśnienie:
      If you place a 384 byte file called $dosboot.bin containing standard DOS 2 boot sectors in the folder along with DOS.SYS, Altirra will update the boot sector with the correct sector link so that DOS can boot.
      Jutro zobaczę, czy ogarnę temat :)
      • 20: CommentAuthorxxl
      • CommentTime12 May 2013 22:05
       
      no tak, jesli bedziesz mial problemy ze znalezieniem boot loadera sciagnij sobie mojego z ->link<- plik "BOOT Loader 128" (384 bajtow) nazwij go $dosboot.bin a DOS.SYS nazwij "autorun" w tym samym katalogu. albo wyedytuj hexedytorem w bootloaderze nazwe "AUTORUN " na "DOS SYS"
      • 21: CommentAuthorpin
      • CommentTime12 May 2013 23:05
       
      ta - zassaj xbios i posmakuj zgodności z nowym hardwarem :) - zarezerwuj sobie też czas na korespondencję zatytułowaną: "dlaczego to znowu nie działa" ;)
      • 22:
         
        CommentAuthorjhusak
      • CommentTime12 May 2013 23:05
       
      Echhhh.
      • 23:
         
        CommentAuthorKaz
      • CommentTime12 May 2013 23:05
       
      Kuba, a mnie sie te spory xxl/pin bardzo podobaja :) Dzieki nim naprawde mozna poszerzyc wiedze o Atari, popatrzec na dany problem z dwoch roznych punktow widzenia. Nie kazdy spor jest jalowy, a ten moim zdaniem nie jest.

      Kiedys Kurek i Kaminski w "Sondzie" korzystali z tej metody prezentacji wiedzy.
      • 24: CommentAuthorpin
      • CommentTime12 May 2013 23:05
       
      :) - nic się nie stało ;)
      • 25: CommentAuthorxxl
      • CommentTime12 May 2013 23:05
       
      tyle ze tu nie ma zwiazku z xBiosem :-) Pin gdy uslysze szmer krzyczy XBIOS! :-)

      Pin, boot loader to nie xBIOS. :-)
      • 26:
         
        CommentAuthorjhusak
      • CommentTime13 May 2013 07:05 zmieniony
       
      Ale Kurek i Kamiński zmieniali temat co tydzień :D

      No dobra, niech to będzie taki aolowy folklor :).

      Powyższe "No dobra" odnosi się do mojego nastawienia tylko i wyłącznie.
    7.  

      xxl:

      a DOS.SYS nazwij "autorun" w tym samym katalogu
      Który konkretnie DOS.SYS wykorzystać? Próbowałem te dostępne w różnych ATRach na AOL, ale bez skutku.

      Myk z $dosboot.bin generalnie działa, bo jak zmienię nazwę mojego programu na "autorun" to odpala się automatycznie po starcie Altirry. Jednak wrzucenie do katalogu DOS.SYS przemianowanego na autorun powoduje, że po starcie emulatora przez parę sekund w dolnym rogu świeci "1", a potem nic.
      • 28: CommentAuthorxxl
      • CommentTime13 May 2013 12:05
       
      daj maila wysle Ci przygotowane pliczki.
      • 29: CommentAuthorgreblus
      • CommentTime13 May 2013 12:05 zmieniony
       

      mgr_inz_rafal:

      Mam pytanie uzupełniające - jak "wygodnie" programować na PC w momencie, gdy program wymaga DOSa?


      Nie wiem na ile dasz się przekonać do Altirra + SDX, ale sterownik PCLink (o którym wspominał mono) jest przez ten emulator fajnie obsługiwany.

      W skrócie trzeba:

      - włączyć emulację Side (lub U1MB).
      - zbootować atr z flasherem ze strony SDX.
      - ustawić rozmiar i sformatować partycję Side w emulatorze.
      - skopiować sterownik PCLink (jest w toolkicie SDX) na utworzoną partycję. Można też przeedytować obraz rom z flashera aby dodać sterownik PCLink do obrazu rom karta SDX i ładować go w config.sys.

      W konfiguracji Altirry wskazać gdzie będzie katalog podlinkowany do urządzenia PCL:

      Trochę to zamotane, ale wygodne, bo potem odpalamy już binarki bezpośrednio np. X PCL:TEST.XEX, bez zbytniego kombinowania, montowania, rebootowania itp.

      Na prawdziwym sprzęcie bezkonkurencyjny jest loader do xexów Candle'a w Side.
      • 30: CommentAuthorxxl
      • CommentTime13 May 2013 12:05
       
      poszlo.
      • 31: CommentAuthorxxl
      • CommentTime13 May 2013 13:05 zmieniony
       
      ->link<- - tu masz pliczki, poczta cos nie chce tego dostarczyc ;-)


      ---
      sorka. teraz jest ok.
    8.  
      Dziękuję,
      Teraz wszystko działa. To rzeczywiście wygodny patent :)

      Mam jeszcze kilka pytań, ale zanim je zadam to pobawię się parę dni i spróbuję to trochę ogarnąć i usystematyzować.

      @greblus, mono
      Nie chodzi tu o przekonywanie mnie do czegokolwiek, bo nie jestem jakoś z góry uprzedzony do żadnego z rozwiązań. Jednak moja wiedza o Side, Ultimate, flasherach, Sparcie, PCLinku, itp. ogranicza się do tego, że wiem, że są :) Wolę na razie oszczędzić Wam moich pytań na Forum przy próbach konfigurowania tegoż :) Może na jakimś zlocie ktoś mi to pokaże osobiście :)
      • 33: CommentAuthorgreblus
      • CommentTime13 May 2013 20:05 zmieniony
       
      Ale to nie problem. Altirra ma tryb portable:

      ->link<-

      Ściągnij, rozpakuj gdziekolwiek i uruchom. W katalogu Altirra/pcl ustawiłem urządzenie PCL: a D4: podmontowane jest do Altirra/drive/ (to zdaje się działa tylko w ro).

      D1, D2, D3 to dyski stworzone fdiskiem w obrazie side_cf.img (128MB).

      Miłej zabawy :).
    9.  
      Dzięki greblus - to też zadziałało :)
      Na wszelki wypadek na razie zostawię wypieczoną przez Ciebie Altirrę na C:\

      • 35: CommentAuthorpin
      • CommentTime13 May 2013 23:05
       
      @XXL - bo jak podajesz taki link:

      ->link<-

      .. to ciężko na pierwszy rzut oka stwierdzić, że chodzi o coś innego niż xb ;)
    10.  

      greblus:

      D4: podmontowane jest do Altirra/drive/ (to zdaje się działa tylko w ro).
      Ten mechanizm posiada limit i nie udostępnia więcej niż 64 plików z katalogu /drive/

      Znasz może jakieś obejście tego problemu?
      • 37: CommentAuthorgreblus
      • CommentTime24 Oct 2013 15:10
       
      Ten limit jest chyba tylko jak wybierzesz opcję "Mount folder as virtual Dos 2 disk". W opcji montowania jako dysk Sparty powinno być ok.
    11.  
      Jako dysk Sparty działa.
      Dziękuję.