atarionline.pl Turbo Basic Compiler - 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.  
    Jak będę pisał kompilator C to pewnie zrobię go właśnie w składni C ;-)
    • 2:
       
      CommentAuthormgr_inz_rafal
    • CommentTime12 Apr 2017 zmieniony
     
    Czy PROC musi być na początku linii?

    Poniższy program zgłasza błąd składni w TBXL, natomiast mój kompilator poprawnie to kompiluje i zastanawiam się, czy nie zostawić tego jako "extension" :)

    6 EXEC STANIK
    7 EXEC BERET
    9 GOTO 9
    10 PROC BERET:PRINT 1:ENDPROC:PRINT 2:PROC STANIK:PRINT 2:ENDPROC
    • 3: CommentAuthorpirx
    • CommentTime13 Apr 2017 zmieniony
     
    Koniecznie zostaw, świetne do 10 liners. PROC bardzo traci przez to, że musi być od nowego wiersza.
    Trza by to dodać to TB :)

    Pewnie TB tego nie łyka, bo PROC to jakiś syntactic sugar do GOSUB...
    • 4: CommentAuthormono
    • CommentTime13 Apr 2017
     
    Pewnie musi być od nowego wiersza, żeby wcięcia ładnie działały :)
    • 5: CommentAuthormav
    • CommentTime13 Apr 2017
     
    Co to będzie za 10liner, skoro przed kompilacją będzie można wywalić formatowanie?
    To tak jakby powiedzieć, że np. jquery to oneliner :D
  2.  
    OK, dzięki - wszystko jasne. Zostawiam tak jak jest.

    Jak jeszcze numery linii zrobię opcjonalne, to będzie można pisać one-linery, bo nie ma limitu na długość wiersza ;)
    • 7: CommentAuthorpirx
    • CommentTime14 Apr 2017
     
    I O TO CHODZI!!! :))))))
    • 8: CommentAuthorpin
    • CommentTime14 Apr 2017
     
    Zróbcie wersję na Atari, albo choć jeden pacz, by oryginalny kompiler pobierał z linii poleceń parametr z plikiem do kompilacji. Niejednokrotnie oszczędziło by mi to dużo czasu...
    • 9:
       
      CommentAuthormgr_inz_rafal
    • CommentTime7 May 2017 zmieniony
     
    Dobra, uporządkowałem trochę kod, popisałem CMejki i zrobiłem, żeby kompilowało się też na linuchu. Zara wrzucę na GitHubę.

    Tak to wygląda na Miętosiu:



    Testy też się kompilują, ale nie zadziałają, bo musiałbym całość jeszcze spiąć z atari800 (nie-Win) oraz z Madsem pod Linuxa zapewne poprzez Wine. Nie chce mi się :)



    Link: ->link<-
    • 10:
       
      CommentAuthorbocianu
    • CommentTime7 May 2017
     
    mads pod linuxa jest natywny - nie trzeba wine ;)
  3.  
    Zacnie...
    Ale i tak mi się nie chce ;-)
    • 12: CommentAuthorgreblus
    • CommentTime7 May 2017
     
    Hej wrzuć na github-a. Akurat wyjeżdżam do kalifatu niemieckiego, ale jak wrócę w przyszłą sobotę i zostanie mi choć jedna żywa szara komórka, to chętnie potestuję na Linuksie ;).
    • 13:
       
      CommentAuthormgr_inz_rafal
    • CommentTime14 May 2017 zmieniony
     
    Kolega grablus sprawił, że linuxowe toole są już w projekcie i nawet działają :)

    Dzięki!

  4.  
    Mam pytanie: jeśli robię
    PRINT 1,2

    To co właściwie jest drukowane w miejscu przecinka? Jak obliczyć tę odległość do następnej kolumny?
    • 15: CommentAuthormono
    • CommentTime17 May 2017
     
    A to nie jest kompatybilne z AtariBASIC-em?
  5.  
    Masz rację.

    I nawet już mi to tłumaczyłeś: ->link<-

    Ogólnie w tym starym wątku jest masa wiedzy, która znowu mi się przyda.
    • 17: CommentAuthorantrykot
    • CommentTime18 May 2017
     
    SOUND jest źle zaimplementowane.

    Inicjalizując POKEYa zakładasz że pierwsze SOUND które wystąpi w programie, będzie również wykonane jako pierwsze, a tak przecież nie musi być.

    Rzecz w tym że w ogóle nie powinieneś resetować POKEYa przez zapis 0 do SKCTL, gdyż jest to tutaj zbędne (choć są inne sytuacje w których jest to użyteczne).

    Za to powinieneś za każdym razem gdy wykonywana jest instrukcja SOUND zapisywać 0 do AUDCTL i 3 do SKCTL, jeżeli zależy Ci na kompatybilności.
  6.  
    Masz rację, SOUND nie brzmiało mi za dobrze przy testach, nawet wpisałem ten fakt w readme.

    Dzięki za wskazówki; przyjdzie czas na poprawki i w tym zakresie.