atarionline.pl help w ataribasic - 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: CommentAuthorbaton
      • CommentTime12 Mar 2021 23:03
       
      Bardzo proszę przypomnijcie mi jak basic'u sprawdzić wciśnięty help? Chciałem by natrafiając na linię programu sprawdził czy naciśnięty jest help i zrestartował program...
      np.: 100 IF PEEK(732)=17 THEN RUN co jest nie tak?
      • 2:
         
        CommentAuthormgr_inz_rafal
      • CommentTime12 Mar 2021 23:03 zmieniony
       
      5 PRINT "JA STARTOWAC"
      6 POKE 732,0
      100 IF PEEK(732)=17 THEN RUN
      110 GOTO 100


      Czyli co było nie tak:

      1. Robiłeś IF tylko raz. Jeśli akurat HELP nie był wciśnięty, to koniec. Drugiej szansy nie było.
      2. Nie wiem, czy takie RUN w programie jest poprawne. Możesz zamiast niego spróbować "GOTO 5"
      3. Wciśnięcie HELP trzeba "zresetować", wpisując 0 do 732
      • 3: CommentAuthorbaton
      • CommentTime12 Mar 2021 23:03
       
      dzięki wielkie po 30 latach wiele zapomniałem :)
      • 4: CommentAuthormono
      • CommentTime13 Mar 2021 10:03 zmieniony
       
      Nie wiem czy to Ci się przyda, ale uzupełnię tylko.
      HELP jest obsługiwany przez układ POKEY* (inaczej niż klawisze START, SELECT i OPTION które obsługuje GTIA) i dlatego może być używany z SHIFT lub CONTROL. W takim przypadku do rejestru HLPFLG (732) trafia wartość 17 zwiększona o 128 (jeśli wciśnięty był CONTROL) lub 64 (jeśli wciśnięty był SHIFT) - czyli 145 lub 81.
      Jeśli trzeba zamaskować te szifty i kontrole można zrealizować bitwise AND np tak:
      100 H=PEEK(732)
      101 IF H>=128 THEN H=H-128
      102 IF H>=64 THEN H=H-64
      103 IF H=17 THEN RUN

      albo oczywiście:
      100 H=PEEK(732): IF H=145 OR H=81 OR H=17 THEN RUN

      Wariantu z równocześnie wciśniętym SHIFT+CONTROL w standardowym Atari się uzyskać nie da, więc kombinacji 209 nie musisz sprawdzać.
      No chyba że ktoś skonstruuje jakąś nową klawiaturę... :)

      Edit: * - z tego powodu też HELP w konsoli XEGS znajduje się na klawiaturze którą można odłączyć (a więc może być niedostępny dla użytkownika) - START, SELECT i OPTION są na obudowie konsoli i są dostępne zawsze.
      • 5: CommentAuthorbaton
      • CommentTime13 Mar 2021 12:03 zmieniony
       
      dziękuję za podpowiedzi z help, a przy okazji przypomniałem sobie użycie GET i dzięki temu poprawiłem sobie drobnostki, które denerwowały mnie w Stock Exchange 6.4, która zresztą daje dużo zabawy :)