10 REM EXAMPLES IN AT&T GW-BASIC 20 REM 30 DIM X$(6),Y$(6),Z$(6) 40 C=816 : P=C+3 : REM DEFINE PORTS 50 X=1: Y=2: Z=3 : REM DEFINE COUNTERS 60 S1=1:S2=1:S3=1: REM SCALE FACTORS 70 O1=0:O2=0:O3=0: REM AXIS OFFSETS 80 PRINT TAB(25),"SEC-PC BOARD DEMO" 90 PRINT : PRINT 100 INPUT "PRESS 'RETURN' WHEN CURSOR IS OVER REFERENCE",J$ 110 PRINT "THANKS." 115 PRINT "PRESS DIGITIZER BUTTON TO DIGITIZE, BREAK TO EXIT":PRINT 120 OUT C,0 :REM CLEAR COUNTERS, RATE ERROR FLIP-FLOP 130 REM 140 REM MAIN LOOP 150 J=INP(P) :REM CLEAR SWITCH FLAG 155 OUT P,0 :REM SELECT STATUS 160 REM WAIT FOR OPERATOR SWITCH 170 IF INP(C)<128 THEN GOTO 170 180 OUT C,1 :REM COPY TO HOLDING REGISTER 190 IF INP(C)>191 THEN GOTO 340 200 OUT P,X 205 X$="" 210 FOR I=1 TO 6: X$ = X$ + CHR$(INP(C)+48) : NEXT I 220 OUT P,Y 225 Y$="" 230 FOR I=1 TO 6: Y$ = Y$ + CHR$(INP(C)+48) : NEXT I 240 OUT P,Z 245 Z$="" 250 FOR I=1 TO 6: Z$ = Z$ + CHR$(INP(C)+48) : NEXT I 260 REM CONVERT STRINGS TO NUMBERS, CHECK MINUS, SCALE, OFFSET 270 X1=VAL(X$): IF X1>7E5 THEN X1=X1-1E6 275 X2=S1*X1+O1 280 Y1=VAL(Y$): IF Y1>7E5 THEN Y1=Y1-1E6 285 Y2=S2*Y1+O2 290 Z1=VAL(Z$): IF Z1>9E5 THEN Z1=Z1-1E6 295 Z2=S3*Z1+O3 300 N=N+1 310 PRINT "DATA POINT";N; 320 PRINT TAB(20);"X=";X2;TAB(35);"Y=";Y2;TAB(50);"Z=";Z2 330 GOTO 150 340 PRINT "***THERE HAS BEEN A RATE ERROR***" 350 STOP