A billentyű- és joystickfigyelésnek van valami más módja, mint az INKEY$ és a JOY() függvény? Arra gondolok, hogy valami cím értéke megváltozik, ha egy billentyű le van nyomva vagy a joystick el van mozdítva. Basic programoknál körülményes megoldani, hogy figyelje a joystickot és a billentyűzetet is, egyszerűbb lenne a CASE után a címértékeket odaírni, és azokra menne pl. jobbra a figura.
BASIC-ben a 181-es port írásával és olvasásával tudod figyelni a billentyűzetet és a belső joy-t, a külső joy-t a 181-es port írásával, és a 182-es port olvasásával. Szerintem ezt megvalósítani BASIC-ben nem egyszerűbb, mint a joy és az inkey$
nézd a billentyűzet mátrixot:
http://povi.uw.hu/images/key_matrix.pngha pl. az ENTER-t akarod figyelni, az a 7. sorban van
ezért a 181-es portra írsz egy 7-est, majd beolvasod a 181-es port értékét, mondjuk a P nevű változóba, aminek értéke 0 és 255 között lesz
OUT 181,7
P = IN(181)
ha valaki lenyomta az ENTER-t, ami a 6. oszlopban van, akkor a P változó 6. bitje 0 lesz, vagyis = 1011 1111 = 191, ha csak az ENTER-t nyomták le, és semmi mást abban a sorban.
vagy nézheted BAND utasítással is
P BAND 64 akkor lesz 0, ha lenyomták az ENTER-t
10 OUT 181,7
20 IF (IN(181) BAND 64)=0 THEN PRINT "Enter"
30 GOTO 10