atarionline.pl błąd kompilatora tbxl - 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: CommentAuthorMaciek
      • CommentTime4 Jun 2012 22:06 zmieniony
       
      Panowie, czy ktoś wie czemu nie mogę skompilować następującego programu (mniej więcej coś takiego w dużym uproszczeniu):

      10 DUPA=PEEK(54017)
      20 DUPA=INT(DUPA/2)
      30 IF DUPA MOD 2 <> 0
      40 ...
      50 DO:LOOP
      60 ENDIF
      70 IF DUPA MOD 2 = 0
      80 ...
      90 DO:LOOP
      100 ENDIF

      Nawet zajrzałem do manuala żeby sprawdzić czy przypadkiem nie użyłem jakiejś zakazanej instrukcji itd., ale wszystko wydaje się być ok. Naturalnie kod jest dużo bardziej zamotany w oryginale, ale doprowadziłem go do takiej schematycznej wersji jak powyżej żeby sprawdzić co się kompiluje, a co nie.
      Pomożecie?
      • 2:
         
        CommentAuthormiker
      • CommentTime4 Jun 2012 22:06 zmieniony
       
      Generalnie, to co chcesz zrobić z komórką 54017? Po skompilowaniu Turbo BASIC zakłada, że wszystkie jego biblioteki (runtime) będą znajdowały się pod ROMem. Kombinując bezpośrednio z programu z PORTB (właśnie 54017), możesz spowodować, że te biblioteki staną się nieosiągalne dla skompilowanego programu. Chyba, że nie o to chodzi w tym momencie...
      • 3:
         
        CommentAuthorlarek
      • CommentTime4 Jun 2012 22:06 zmieniony
       
      Zmień na:

      10 DUPA=PEEK(54016+1)
      • 4: CommentAuthorMaciek
      • CommentTime4 Jun 2012 22:06
       
      faktycznie!
      Ale jaja, nie wiedziałem. Faktycznie z innym bajtem się kompiluje. Da się to jakoś obejść czy muszę napisać to w koniecznie w ASM? Może w liniach DATA?
      Chciałem wykrywać basic. Mam zamiar linkować runtime.
      • 5: CommentAuthorMaciek
      • CommentTime4 Jun 2012 22:06 zmieniony
       
      Dzięki Larek, chłopcy... uratowaliście moją DUPĘ(54017;)

      Ech, szkoda tylko, że wykrywanie bazyla nie działa. Wie ktoś jak to zrobić w TBXL? Plik mam zamiar skompilować razem z runtimem.
      • 6:
         
        CommentAuthorlarek
      • CommentTime5 Jun 2012 00:06
       
      TBXL zawsze wyłączy Atari Basic, nawet gdy nie będzie wciśnięty Option przy ładowaniu. Nie ma w zasadzie czego wykrywać.
      • 7:
         
        CommentAuthortdc
      • CommentTime6 Jun 2012 05:06
       
      racja.