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 zmieniony
     
    ->link<-
    a poza tym atariki:
    ->link<-
    i ->link<-
    • 3:
       
      CommentAuthormgr_inz_rafal
    • CommentTime12 May 2013 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
     
    Polecam ->link<-
    Ma sporo błędów, ale można zrobić proste buildowanie ATR.
    • 5: CommentAuthormono
    • CommentTime12 May 2013 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 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
     
    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
     
    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 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
     
    Altirra
    File->Disk Drives-> (kliknac na >) a dalej już z górki.
    • 13: CommentAuthorxxl
    • CommentTime12 May 2013
     
    Altirra
    file/disk drives/>/mount folder as virtual dos 2 disk

    szkoda ze atari800 tego nie ma :/
    • 14:
       
      CommentAuthormgr_inz_rafal
    • CommentTime12 May 2013 zmieniony
     
    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
     
    stara wersja emulatora
  4.  
    Której wersji powinienem zatem użyć?
    • 17: CommentAuthorxxl
    • CommentTime12 May 2013
     
    2.3 z hakiem na stronie jej nie ma, musisz poszukac w watku altirra na forum atariage
    • 18:
       
      CommentAuthorwilly
    • CommentTime12 May 2013
     
    ->link<-
    Smacznego.
  5.  
    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
     
    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
     
    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
     
    Echhhh.
    • 23:
       
      CommentAuthorKaz
    • CommentTime12 May 2013
     
    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
     
    :) - nic się nie stało ;)
    • 25: CommentAuthorxxl
    • CommentTime12 May 2013
     
    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 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.
  6.  

    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
     
    daj maila wysle Ci przygotowane pliczki.
    • 29: CommentAuthorgreblus
    • CommentTime13 May 2013 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
     
    poszlo.
    • 31: CommentAuthorxxl
    • CommentTime13 May 2013 zmieniony
     
    ->link<- - tu masz pliczki, poczta cos nie chce tego dostarczyc ;-)


    ---
    sorka. teraz jest ok.
  7.  
    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 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 :).
    • 34:
       
      CommentAuthormgr_inz_rafal
    • CommentTime13 May 2013 zmieniony
     
    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
     
    @XXL - bo jak podajesz taki link:

    ->link<-

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

    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
     
    Ten limit jest chyba tylko jak wybierzesz opcję "Mount folder as virtual Dos 2 disk". W opcji montowania jako dysk Sparty powinno być ok.
  9.  
    Jako dysk Sparty działa.
    Dziękuję.