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 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 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 zmieniony
     
    Zmień na:

    10 DUPA=PEEK(54016+1)
    • 4: CommentAuthorMaciek
    • CommentTime4 Jun 2012
     
    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 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
     
    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
     
    racja.