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
     
    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 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
     
    dzięki wielkie po 30 latach wiele zapomniałem :)
    • 4: CommentAuthormono
    • CommentTime13 Mar 2021 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 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 :)