atarionline.pl BASIC Jak wprowadzić dokładny listing z edytora na pc -atr do atari - 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.  
      Otóż używam parsera z tej strony ->link<- do zamiany kodu z edytora na plik z rozszerzeniem bas -

      wgrywam na atr

      Po wgraniu pliku do atari, listing jest inny - nie ma komentarzy REM, skrócone printy zamienia mi na pełne i zmienia mi nazwy zmiennych.
      Co zrobić aby listing wyglądał tak samo w edytorze na pc i w atari - czy muszę użyć innego parsera.
      A jak tak to jakiego?

      Czyli w skrócie: Jak wprowadzić poprawny listing z edytora na pc do żywego atari.

      Do atari; do wgrania bas na atr używam respqt a potem ładuje plik w atari komendą LOAD "D1:NAZWA.BAS"
      Z góry dziękuję za odpowiedzi
      • 2:
         
        CommentAuthorlaoo
      • CommentTime21 Apr 2022 19:04
       
      Brzmi jak "optymalizacja" robiona przez parser. Alternatywnie można wprowadzić plik tekstowy komendą ENTER "D1:NAZWA.LST". Trzeba tylko CR/LF zamienić na 155.
      • 3: CommentAuthor0xF
      • CommentTime21 Apr 2022 19:04
       
      Jeżeli chcesz używać tbxl-parser, to wszelkie problemy z nim zgłaszaj na GitHubie.

      Jeżeli zależy Ci tylko na pisaniu w zwykłym Atari BASIC wygodniejszym edytorem, to włącz w Altirra urządzenie H:, ustaw katalog dla H1:/H6: i wtedy:
      ENTER "H6:NAZWA.LST"

      wczyta pecetowy plik tekstowy. Możesz go zapisać na ATRa:
      SAVE "D1:NAZWA.BAS"
      • 4:
         
        CommentAuthorpirx
      • CommentTime21 Apr 2022 19:04 zmieniony
       
      Ja bym polecał zostać przy tbxl-parser, bo nie ma lepszego narzędzia do pisania czytelnego basica.

      Ale musisz wiedzeć, że to narzędzie powstało nie w celu przerabiania plików tekstowych na basic, bo to zrobisz tak, jak 0xF (Fox) napisał wyżej.

      tbxl-parser służy do robienia maksymalnie optymalnych programów w basicu - są ktrótsze, zajmują mniej pamięci, dużo łatwiej jest też dołączać różne dane binarne (nie trzeba pisać długaśnych wierszy DATA, można zdefiniować stałe (np. zamiast POKE 54282,0 może być poke @WSYNC,0) ma też wiele innych funkcji ułatwiających pisanie programów. A przede wszystkim nie trzeba pisać numerów wierszy, chyba że się bardzo chce albo musi).

      Parser ma opcje wyłączające te optymalizacje, są one opisane na stronie na githubie, ale najprościej to na początku programu napisać
      $ options -optimize


      Podsumowując - z tbxl-parser pracujesz tak, że źródło programu trzymasz w postaci czytelnej dla tbxl-parser.
      plik .BAS jest tak jakby "skompilowaną" (w rzeczywistości stokenizowaną) wersją twojego źródła, która służy wyłącznie do uruchamiana - wszystkie edycje robisz w oryginalnym pliku i znów parsujesz do .BAS.
      • 5:
         
        CommentAuthorpirx
      • CommentTime21 Apr 2022 19:04
       
      W sumie to narzędzie działa dość podobnie do minifikatorów, takich jak np. ->link<-
      • 6: CommentAuthorAtaripuzzle
      • CommentTime21 Apr 2022 20:04 zmieniony
       
      Dobra - wielkie dzięki chłopaki za wyjaśnienia. Na razie radziłem sobie tak, że wczytywałem do atari bas z parsera i ręcznie poprawiałem program w atari i ponownie zapisywałem już z poziomu atari.
      mi atari nie czyta plików LST - próbowałem return "D1:NAZWA.LST" i od razu wyskakiwał error
      • 7: CommentAuthor0xF
      • CommentTime21 Apr 2022 20:04
       
      W używanym przeze mnie edytorze da się to zrobić.
      Inne opcje:
      - emulatory konwertują EOLe przy transmisji z/na H6:
      - Atari800Win PLus ma taką opcję w menu Convert
      • 8: CommentAuthorAtaripuzzle
      • CommentTime21 Apr 2022 20:04 zmieniony
       
      Acha czyli tylko emulatory przeczytają lst? Atari nie -czy dobrze rozumiem
      • 9:
         
        CommentAuthorKaz
      • CommentTime21 Apr 2022 20:04
       
      Oczywiście, że Atari przeczyta LST poprawnie - jeśli jest sformatowane jako ATASCII. Sęk w tym, że możesz mieć plik LST w formacie pecetowym. Wtedy prosta konwersja pliku pomoże. Na przykład ta w emulatorze Atari800Win PLus (ATASCII to ASCII i odwrotnie). Program LST w Basicu wczytujesz przez ENTER: "D:NAZWA.LST".
    2.  
      próbowałem wczytywać LST z atr niestety mi to nie działa ani w emulatorze ani na atari - a na pewno konwertowałem do ATASCII w parserze - trudno postaram się jakoś wyłączyć optymalizacje parsera i może wtedy będzie ok
      • 11: CommentAuthor0xF
      • CommentTime21 Apr 2022 22:04
       
      próbowałem wczytywać LST z atr niestety mi to nie działa ani w emulatorze ani na atari

      Jakbyś podał użytą komendę i jej wynik, moglibyśmy coś podpowiedzieć.
      • 12: CommentAuthorAtaripuzzle
      • CommentTime21 Apr 2022 22:04 zmieniony
       
      próbowałem wcisnąć return "D1:NAZWA.LST" i return i wyskakiwał error bez numeru; jakby błąd składni.

      Ale problem został rozwiązany inaczej. W parserze wpisałem parametr -k (pełne komentarze) oraz parametr -f (pełne nazwy zmiennych) i osiągnąłem to co chciałem
      czyli komenda basicParser -k -f samples/sample-1.txt

      Nie wiem czy jest jeszcze potrzebny parametr -A ; ale dobrze mi się wczytuje cały listing
      • 13:
         
        CommentAuthorKaz
      • CommentTime21 Apr 2022 22:04
       
      Komenda ENTER przed "D1:NAZWA.LST" była?
      • 14: CommentAuthor0xF
      • CommentTime21 Apr 2022 22:04
       
      Wcisnąć return? Powinieneś wpisać komendę:
      ENTER "D1:NAZWA.LST"

      gdzie NAZWA.LST do nazwa pliku na ATRze.
      E-N-T-E-R. :)
      • 15: CommentAuthorAtaripuzzle
      • CommentTime21 Apr 2022 23:04 zmieniony
       
      Dzięki - źle zrozumiałem

      Więc ta komenda rzeczywiście jest poprawna bo wyskakuje mi samo READY jednak do pamięci nic się niestety nie wczytuje - może schrzaniłem coś z lst - jak wpisuję "LIST" to tylko READY się pojawia jutro to sprawdzę
      • 16: CommentAuthor0xF
      • CommentTime21 Apr 2022 23:04
       
      Możesz załączyć plik LST, to zobaczymy, co z nim nie tak.
      Zgaduję, że jest pusty lub nie ma numerów linii.
      • 17:
         
        CommentAuthorCyprian
      • CommentTime21 Apr 2022 23:04
       
      Możesz też użyć "Paste" emulatora i wkleić listing a potem go ewentualnie zapisać w formacie Atari
      • 18: CommentAuthorAtaripuzzle
      • CommentTime21 Apr 2022 23:04 zmieniony
       
      Na to nie wpadłem - dzięki. Umieszczanie lst nie będzie konieczne ponieważ osiągnąłem to co chciałem - dzięki
      Udało się też zaczytać lst pomógł converter emulatora (zakładka Misc>Convert ASCII to ATASCII
      • 19:
         
        CommentAuthorKaz
      • CommentTime22 Apr 2022 16:04
       
      Dla uściślenia - copy / paste to w emulatorze Altirra. A konwerter formatu ATASCII-ASCII w Atari800Win PLus.