mam następujący problem. Piszę program w Pascalu i 'keypressed' przestaje mi reagować na klawiaturę - KBCODES sprawdzane przez 'keypressed' trzyma $FF. W międzyczasie program działa, obsługuje przerwania itd. Zerknąłem na SRTIMER($022b) i tam po wciśnięciu klawisza muszę przetrzymać go, aż wartość zejdzie z $FF do 0, czyli dłuższą chwilę. Dopiero wtedy KBCODES reaguje na klawisz i program go przetwarza. Ale nawet wtedy ATRACT nie jest resetowany i pomimo wciskania klawiszy łapie kolorki.
Co do przerwań to korzystam z DLI, VBL i TIMCNT2. Możliwe, że któreś z nich mi zakłóci klawiaturę?
Takie zachowanie jest tylko w Altirze, za każdym razem. Po uruchomieniu programu bezpośrednio na 800XL nie mam tego efektu - nigdy. Problem z klawiaturą mam też uruchamiając CMC - na Altirze nie reaguje mi na klawiaturę. Ale inne rzeczy, które sprawdzałem, działają.
Ktoś ma może jakieś pomysły? Zauważyłem, że problem pojawia się nieco losowo np. dopiszę linię kodu, która nawet nic nie robi specjalnego, i zachowanie może się zmienić. Jakiś taki wyciek pamięci czy coś.
Pamiętam, że też miałem problem z klawiaturą w Altirze. Chyba chodziło o Quick Asembler. Zdaje się, że tak jak pisze antrykot, problemem jest mapowanie klawiatury w Altirra OS. Trzeba dać rom z oryginalnym OS-em Atari.
Ptaszek w ustawieniach klawiatury nie wystarczył, więc podegrałem ROM i faktycznie zaczęło działać, zarówno w moim programie, jak i dla CMC. (ROM wziąłem z załączonych do Altirry 2.80, ale pewnie na jedno wychodzi).
Dziękuję wszystkim.
Wniosek jest prosty - jak się zrobi błąd w programie, trzeba znaleźć ROM, który go ogarnie.