atarionline.pl Assembler od czego zaczac ? - 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: CommentAuthorzaxon
      • CommentTime11 Mar 2009 18:03
       
      No wlasnie, zieleniec w temacie jestem totalny. Moja assemblerowa edukacja skonczyla sie ok 1990 roku na Quick assemblerze i Tajemnicach Atari.Od tego czasu pamietam tylko lda ,sta i nop. Co warto poczytac oprocz Zientary, jakiego assemblera uzywac? Od czego zaczac ? Jak wy zaczynaliscie pisac takie fajne programy?
      • 2: CommentAuthorbob_er
      • CommentTime11 Mar 2009 19:03
       
      w tajemnicach atari byl fajny kurs. sporo koderow (w tym i ja) uczylo sie z tego kursu. na atariki znajdziesz kilka trikow. obawiam sie takze, ze na tzw. konkretne pytania szybciej dostaniesz odpowiedz u konkurencji (atariarea) - nic kazowej stronie nie ujmujac (imho ma po prostu troche inny profil).
      • 3:
         
        CommentAuthorKaz
      • CommentTime11 Mar 2009 20:03
       
      Zaxoncu, oprocz kursu i wielu przykladow w asemblerze w Tajemnicach Atari:
      ->link<-

      znajdziesz tez kurs imc Pana Tebego:
      ->link<-
      ->link<-
      ->link<-
      ->link<-
      ->link<-
      ->link<-
      ->link<-
      ->link<-
      ->link<-

      przyklady w asemblerze konkretnych procedur sa oczywiscie w Atariki:
      ->link<-

      jak i ogolnie przydatne informacje o Atari:
      ->link<-
      ->link<-

      ale przyklady sa takze na zapomnianej, ale fajnej stronie AtariWiki:
      ->link<-

      Bober - jezeli moge rozwiac watpliwosci: niniejsze forum nastawione jest na wszelkie projekty zwiazane z Atari, wiec kodowanie takze jest "w profilu" :). To tylko kwestia czasu, zeby ludzie poznali i przywykli do nowego forum i mam nadzieje, ze koderzy rowniez.
      • 4: CommentAuthorzaxon
      • CommentTime14 Mar 2009 00:03
       
      Cool Kaz, i o to chodzilo, dzieki.
      • 5:
         
        CommentAuthorKaz
      • CommentTime17 Mar 2009 02:03
       
      Tylko nie zapomnij sie chwalic postepami :)
      • 6:
         
        CommentAuthortdc
      • CommentTime17 Mar 2009 12:03
       
      zaxon: a do czego jest Tobie asm potrzebny ?
      • 7:
         
        CommentAuthorKaz
      • CommentTime17 Mar 2009 12:03
       
      To troche jak z pytaniem: "a do czego Ci potrzebne Atari, skoro masz peceta?" :DDD

      Odpowiedz: zeby sobie w przyjemny sposob utrudnic zycie!
      • 8: CommentAuthorzaxon
      • CommentTime18 Mar 2009 00:03
       
      TDC, hmm ,rozszerzen w atarce przybywa programow takich jake bym chcial do nich nie ma wiele wiec zgodnie ze starym hasłem, trzeba "napisac se" , no i poza tym troche wstyd nie potrafic jakiejs prostej procedurki napisac.
      • 9:
         
        CommentAuthoradiblol
      • CommentTime18 Mar 2009 16:03
       
      Znalazłem dobrą książkę traktującą o asemblerze 6502:
      ->link<-
      • 10:
         
        CommentAuthorKaz
      • CommentTime18 Mar 2009 19:03
       
      Nie mow, ze nie przegladales jeszcze Biblioteki?

      ->link<-
      • 11:
         
        CommentAuthoradiblol
      • CommentTime18 Mar 2009 19:03
       
      Interesowało mnie coś ogólnie o 6502, a nie konkretnie o Atari, więc wpisałem w Google "6502 asembler".
      • 12: CommentAuthorKoval
      • CommentTime26 Jun 2009 12:06
       
      Jak zorganizować sobie max ergonomiczny "warsztat pracy" przy programowaniu asemblerem?
      Zależy mi na tym, żeby to był cross asembler, najlepiej zgodny z QA. Dobrze by było, gdyby ten asembler posiadał edytor, z którego jednym przyciskiem wykonywałoby się asemblację. Może opiszę, jak sobie to zorganizowałem, ale proszę o dobrą radę;) bo mnie to nie pasuje...;)
      Mam QASM 1.0 (jest jakaś nowsza wersja?). Ma on swój edytor, produkuje pliki .xex. Wszystko byłoby ok, ale przy prostym, przykładowym programie pokazuje błąd I/O 103. Dla sprawdzenia skompilowałem przykładowy programik madsem - bezbłędnie. Tylko, że mads produkuje plik .obx, nie ma swojego edytora, a kompilowanie za pomocą ręcznego wklepywania polecenia mads.exe -b:1536 nazwa_pliku.asm no jakoś mi się nie uśmiecha. Poza tym jak dalej obrobić plik .obx? Jak go wczytać do emulatora, jak sprawić, żeby emulator go wykonał? A może pownienem w jakiś sposób uzyskac plik .xex albo .atr? Może ktoś wytłumaczy mi "drukowanymi literami" jak on pracuje nad programami, jak uzyskuje pliki wynikowe i jak je potem wczytuje do emulatora?
      Pytam o to wszystko, bo dawno temu bawiłem się w pisanie programów w jęz. maszynowym, ale nie miałem asemblera, a wszystkie programy powstawały w zeszycie, potem wpisywałem je w linii DATA itd.... Chciałbym sobie conieco przypomnieć, ale mieć jednocześnie komfort pracy do jakiego przywykłem w PC;)
      • 13:
         
        CommentAuthorKaz
      • CommentTime26 Jun 2009 12:06
       
      Mozesz zmienic rozszerzenie pliku obx na xex i bedzie dzialac. To, ze nie ma wlasnego edytora to chyba zaleta, bo mozesz uzywac wlasnego, takiego jak Ci pasuje?
      • 14: CommentAuthormono
      • CommentTime26 Jun 2009 12:06
       
      Używam madsa 1.8.5 oraz jedit'a 4.3pre13 z kolorowaniem składni dla 6502 (plik mogę podesłać). Mam to na ubuntu i moja praca wygląda tak:

      1. Odpalam jedita i edytuję sobie plik po czym zapisuję.
      2. W konsoli odpalam madsa

      $ mads prog.asx

      3. W konsoli odpalam atari800

      $ atari800 -windowed -width 800 -height 600 -nobasic prog.obx

      Rozszerzenie .obx czy .xex nie gra roli.
      Jako alias w konsoli zdefiniowałem sobie polecenie a800, które mi oszczędza wklepywania parametrów do atari800:

      alias a800="atari800 -windowed -width 800 -height 600 -nobasic"

      i odpalam sobie wtedy emulator za pomocą:

      $ a800 prog.obx

      W konsoli działa historia więc to kwestia naprzemiennego używania 2 poleceń :)
      Na pewno można sobie urządzić warsztat jeszcze fajniej, ale mnie to wystarcza.
      • 15:
         
        CommentAuthorCosi
      • CommentTime26 Jun 2009 14:06
       
      Ja co prawda nie piszę w asemblerze, ale mam ca65 (wchodzi w skład kompilatora cc65) i edytor Kate (pod Linuksa, też koloruje składnię asma 6502). W edytorze można ustawić skrót klawiszowy, który wywoła kompilację aktualnego pliku.
      • 16: CommentAuthormono
      • CommentTime28 Jun 2009 09:06 zmieniony
       
      @Koval: Heh. Właśnie przypadkiem na atariage trafiłem na ->link<- . Chyba warto byłoby na to sobie spojrzeć, bo ma parę fajnych cech no i miałbyś chyba to, czego potrzebujesz.
      • 17:
         
        CommentAuthorimmolator
      • CommentTime28 Jun 2009 20:06
       
      mono: dzięki za link! Kiedyś myślałem o zrobieniu takiego plugina... A tu bum! i gotowe. QA w nowym wydaniu :-)
      • 18: CommentAuthorKoval
      • CommentTime29 Jun 2009 07:06
       
      mono: ten jedit jako edytor wygląda b. ciekawie. WUDSN też zresztą - ciekawy plugin... Trzeba by to praktycznie sprawdzić;) Zobaczę, jak mi to spasuje wszystko... Dzięki wielkie.
      • 19: CommentAuthormono
      • CommentTime29 Jun 2009 11:06 zmieniony
       
      Nie ma sprawy. Przesyłam jeszcze mój plik do kolorowania składni. Trzeba to tak zainstalować:

      1. Skopiować plik do /usr/share/jedit/modes/ (na win pewnie w Program Files/JEdit/modes/).
      2. W pliku /usr/share/jedit/modes/catalog (win: Program Files/JEdit/modes/catalog) dodać sekcję definiującą tryb pracy:
      <MODE NAME="assembly-6502"
      FILE="assembly-6502.xml"
      FILE_NAME_GLOB="*.{asx,asm}" />

      Tryb pracy można zmieniać albo ze status bara w aplikacji (kiedy masz już wczytany plik a z jakichś powodów się nie włączył - zdarza się kiedy różne tryby używają tych samych rozszerzeń), albo z poziomu menu "Utilities" / "Buffer Options".
      W zipie masz jeszcze mój przykładowy plik catalog. Tylko do wglądu - nie nadpisuj nim swojego :)
      • 20: CommentAuthorGonzo
      • CommentTime30 Jul 2009 23:07
       
      Scrollowanie grafy pewnie maglowano już do znudzenia, ale jakoś nie mogę znaleźć odpowiedzi na kilka pytań. Np. na czym polega scrollowanie wierszy w lewo i prawo jednocześnie (nie pamiętam nazwy dema, w którym to było, ale jakoś utkwiło mi w pamięci), albo np. scrol, w którym wiersze przesuwane są z różnymi prędkościami (to było chyba intro na jakiś zlot - efekt roju meteorytów z nałożonym tekstem) można by tak długo wymieniać (sinusy, odbicia lustrzane, płynące kolory itd.), ale na razie niech zostaną te dwa przykłady, jak to zostało zrobione? A przy okazji moich zabaw w Space Fighter, wyszedł mi scrollik jak niżej - ciekawe jest to, że krzyżyk jest jednokolorowy, a wydaje się być wielokolorowy (obrazek z katalogu g2f).

      • 21: CommentAuthorxxl
      • CommentTime30 Jul 2009 23:07
       
      zeby scrollowac obraz w lewo/prawo najlatwiej w display liscie dla wierszy ktore chcesz przesuwac wlaczyc hscroll i lms. poczytaj o tym np u zientary to wszystko sie wyjasni.
      • 22:
         
        CommentAuthorjhusak
      • CommentTime6 Apr 2010 10:04 zmieniony
       
      No i trzeba (niekoniecznie, ale wypada) używać przerwań display list (DLI), często przy współużyciu przeładowania adresu w DL. O ile przeładowanie adresu nie wymaga przerwań DL (chodzi o skrolowanie co bajt ekranu), to niestety "fine scrolling" już tak.
      W praktyce:
      jest jedna tablica pozycji i w przerwaniu VBL jest ona przeliczana (żadne tam aj-waj, kilkadziesiąt- kilkaset bajtów), wstawiane wartości do adresów poszczególnych linii, wystarczy przy umiejętnej żonglerce tylko młodszy bajt. Najmłodsze bity idą do hscroll już w przerwaniu DL. Też nie jest aj-waj, może to być jedno przerwanie przeliczaniem a potem synchronizacją - oczekiwaniem na koniec linii.

      W ogóle może to być przerwanie VBLK, tylko długie. A nawet może to być pętla bez przerwań, ale trzeba pamiętać o synchronizacji z linią ekranu.

      Należy przerwania DL synchronizować jakoś z konkretną linią na początku, bo lubią przeskakiwać, jak się tego nie zrobi.
      • 23: CommentAuthor0xF
      • CommentTime6 Apr 2010 10:04
       
      Rzeczywiście brakuje strony "jak zainstalować asembler, emulator, czym się różni XEX od OBX i ATR, jak napisać i skompilować Hello World" (z obrazkami i webcastami).

      Swego czasu dołączałem do xasma opis, jak ustawić podświetlanie składni i kompilację w kilkunastu różnych edytorach. Nie dostałem żadnego feedbacku, więc zostawiłem tylko opis dla SciTE, którego sam używam do edycji programów we wszelkich językach.

      Do asemblera 6502 trzeba przede wszystkim mnóstwo czasu i cierpliwości, co moim zdaniem znacznie ogranicza potencjalne grono nowych programistów. Sam zaczynałem od lektury książki Ruszczyca (link został już podany).
      • 24:
         
        CommentAuthorCosi
      • CommentTime6 Apr 2010 11:04
       
      Jeżeli ktoś wyrazi chęć, to mogę pomóc w przystosowaniu edytora Kate do pracy z atarowskimi asmami (podświetlanie składni, kompilacja itp.).
      • 25:
         
        CommentAuthorKaz
      • CommentTime6 Apr 2010 14:04
       
      Czy Kate to jest ta Kate:

      ->link<-

      a SciTE to tutaj:

      ->link<-

      ?
      • 26: CommentAuthor0xF
      • CommentTime6 Apr 2010 14:04
       
      Tak.
      • 27:
         
        CommentAuthorCosi
      • CommentTime6 Apr 2010 17:04
       

      Kaz:

      Czy Kate to jest ta Kate

      Ano :) Mój ulubiony edytorek :)
      • 28:
         
        CommentAuthorKaz
      • CommentTime7 Apr 2010 01:04
       
      No to widze, ze kazdy uzywa czegos innego, bo ja na przyklad fajnego Notepada++.

      Idea Foxa mi sie podoba, zeby zrobic taki krotki step-by-step dla tych, ktorzy chcieli by rozpoczac programowanie Atari na pececie i chca sobie stworzyc srodowisko. Jezeli mielibyscie chec opisac swoje metody - to mozna by z tego opracowac jeden zbiorczy tekst, w ktorym po prostu pokaze sie dostepne, a juz gotowe do pracy z Atari sposoby - jak Twoj, Foxa, Ilmenita, MaW, etc. Czytelnik bedzie mogl sobie wybrac metode mu najblizsza.
      • 29:
         
        CommentAuthorjhusak
      • CommentTime8 Apr 2010 15:04
       
      vim ?
      • 30:
         
        CommentAuthorCosi
      • CommentTime8 Apr 2010 16:04
       

      jhusak:

      vim ?

      Jesteś fanatycznym Pythonowcem? ;-D
      • 31: CommentAuthornosty
      • CommentTime8 Apr 2010 23:04 zmieniony
       
      No to ja, choc programuje bardzo rzadko mam chyba najprosciej :) Uzywam darmowego ConTEXT'a. A do kompilacji XASM'a.
      W ConTEXT mam zdefiniowane dwa polecenia podpiete pod klawisze:
      F9 - kompiluje aktualnie edytowany plik i zwraca mi wynik na ekran (zalaczam screen).
      F10 - uruchamia skompilowany xex w emulatorze.

      Czyli kompilacje i test wlasnie pisanego programu zalatwiam trzema klawiszami (bo musze jeszcze program zapisac).
      • 32:
         
        CommentAuthorpiomet
      • CommentTime14 Nov 2018 17:11
       
      Jak skonfigurować ConText aby po kompilacji uruchamiał kod w Altirze?
      • 33:
         
        CommentAuthorYosh
      • CommentTime15 Nov 2018 01:11 zmieniony
       
      Altirra ma fajny tryb "otworz w tym samym oknie"

      Tools/Options - reuse instance

      wtedy wystarczy raz ją odpalić, a inne toole poprostu odpalają ją jeszcze raz, instancja się reużywa i jest bajer.

      więc w dowolnym edytorze mam podpięte "altirra tocorobie.xex' i działa

      - dla używających scite: korzystam z takiego haka, że wynik madsa pcham przez sed 's/ (\(.*\)) ERROR/:\1:0: error/' i dzięki temu mam błędy gcc-like (po których scite umie skakać)