05-19-2005, 08:11 PM
Has anyone yet managed to crack the problem of sensing the joystick with Win. XP. The following works with Win 95/98 but not now with wonderful Win XP
Gordon
Gordon
Code:
REM Joystick Tests
WIDTH 80, 25: SCREEN 0: LOCATE 4, 35: COLOR 15, 1
PRINT " JOYSTICK TESTS "
COLOR 15, 0: LOCATE 6, 18
PRINT "WARNING - Watch the Sticks if the Cursors are erratic.": PRINT
PRINT TAB(8); "ADJUST THE TRIMMERS WITH THE STICKS CENTERED UNTIL MARKERS ARE STILL."
COLOR 10: LOCATE 12, 10
PRINT "Press:- 1 = Large Marker 2 = Small Marker 3 = ABORT TO DOS"
COLOR 15, 4: LOCATE 17, 27: PRINT " PRESS ANY KEY TO ABORT TESTS."
SOUND 900, 1: K$ = "": WHILE K$ = "": K$ = INKEY$: WEND
IF K$ = "3" THEN WIDTH 80: COLOR 7, 0: CLS : SOUND 1100, 2: SYSTEM
SC = 12: X% = 640: Y% = 480: CL = 80: M = 3: PL = 26
IF K$ = "1" THEN SC = 13: X% = 320: Y% = 200: CL = 40: M = 0: PL = 6
SCREEN SC: CLS : XL = X% - 8: YL = Y% - 4: COLOR 10
PSET (0, 0): LINE -(XL, 0): LINE -(XL, YL): LINE -(0, YL): LINE -(0, 0)
V = Y% / 2: H = X% / 2: FIN = 0: WHILE FIN = 0
K$ = INKEY$: IF K$ <> "" THEN RUN
C = INT(H * CL / X%) + 1: L = INT(V * 25 / Y%) + M
COLOR 15: LOCATE L, C: PRINT CHR$(2); : P = POINT(H, V): IF P < 0 THEN P = 1
PSET (H, V), 15: TIM = TIMER: WHILE TIMER < TIM + .1: WEND
PSET (H, V), 0: AX = STICK(0): AY = STICK(1)
IF AX > 100 AND H < XL THEN H = H + 4
IF AX < 40 AND H > 8 THEN H = H - 4
IF AY > 100 AND V < YL THEN V = V + 4
IF AY < 40 AND V > 8 THEN V = V - 4
LOCATE 2, PL: PRINT SPC(40); : LOCATE L, C: PRINT " "; : COLOR 11
LOCATE 2, PL: PRINT "STICKS"; AX; AY; " BUTTONS ";
FOR Z = 1 TO 7 STEP 2:
PRINT STRIG(Z); : REM IF STRIG(Z) <> 0 THEN SOUND 1200, 1
NEXT
WEND