[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]

pressed, the bit (bit 4 in this case) changes to a 0. To read the joystick from BASIC, the following subroutine should be used:

 10 FORK=0TO10:REM SET UP DIRECTION STRING
 20 READDR$(K):NEXT
 30 DATA"","N","S","","W","NW"
 40 DATA"SW","","E","NE","SE"
 50 PRINT"GOING...";
 60 GOSUB100:REM READ THE JOYSTICK
 65 IFDR$(JV)=""THEN80:REM CHECK IF A DIRECTION WAS CHOSEN
 70 PRINTDR$(JV);" ";:REM OUTPUT WHICH DIRECTION
 80 IFFR=16THEN60:REM CHECK IF FIRE BUTTON WAS PUSHED
 90 PRINT"-----F-----I-----R-----E-----!!!":GOTO60
 100 JV=PEEK(56320):REM GET JOYSTICK VALUE
 110 FR=JVAND16:REM FORM FIRE BUTTON STATUS
 120 JV=15-(JVAND15):REM FORM DIRECTION VALUE
 130 RETURN
NOTE: For the second joystick, set JV = PEEK (56321).

The values for JV correspond to these directions:

JV EQUAL TODIRECTION
0 NONE
1 UP
2 DOWN
3 -
4 LEFT
5 UP & LEFT
6 DOWN & LEFT
7 -
8 RIGHT
9 UP & RIGHT
10 DOWN & RIGHT

[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated May 20, 1998.