10 !CHR$(26) 20 !" PROGRAMMED CURRENT SOURCE - VERSION 1.0" 30 !:!:! 40 OUT195,128 50 !"LOAD (OHMS)";:INPUT R 60 IF R=0 THEN 50 80 H=INT((18.5*100)/R)/100 90 !"PEAK CURRENT (MAX. =";H;"AMP.)";:INPUT I 100 IF I>H THEN 90 110 V1=INT(255*I*R/18.45) 120 IF V1>24 THEN V2=24:GOTO 150 130 IF V1>16 THEN V2=22:GOTO 150 140 V2=INT(1.7*V1) 150 !"DURATION (SEC.)";:INPUT T1 160 IF T1<.5 THEN !:!">>>MINIMUM DURATION 0.5 SEC.<<<":!:GOTO 150 170 T1=INT(T1*10) 180 !"COERCIVE CURRENT (ON/OFF)";:INPUT W$ 190 IF W$="ON" THEN F=1:GOTO 220 200 IF W$="OFF" THEN F=0:GOTO 220 210 GOTO 180 220 !"CYCLES (#)";:INPUT N 230 IF N<1 THEN 220 240 T2=25 250 IF N=1 THEN 350 260 IF F=0 THEN 280 270 IF F=1 THEN 320 280 !"INTERPULSE INTERVAL (MIN.=1.0 SEC.)";:INPUT T2 290 T2=INT(T2*10) 300 IF T2<10 THEN 280 310 GOTO 350 320 !"INTERPULSE INTERVAL (MIN.=2.5 SEC.)";:INPUT T2 330 T2=INT(T2*10) 340 IF T2<25 THEN 320 350 !"

ULSE, AMP OR BORT";:INPUT M$ 360 IF M$="P" THEN 400 370 IF M$="R" THEN 400 380 IF M$="A" THEN 10 390 GOTO 350 400 OUT194,1 410 FOR A=1 TO N 420 Q=0 430 IF M$="P" THEN 470 440 FOR R=0 TO V1 450 OUT193,R 460 NEXT R 470 OUT128,4:OUT128,0 480 OUT193,V1 490 K=INP(129) 500 C=INP(129) 510 IF C=K THEN 500 520 Q=Q+1 530 IF Q=T1 THEN 550 540 GOTO 490 550 IF M$="P" THEN 590 560 FOR R=0 TO V1 570 OUT193,(V1-R) 580 NEXT R 590 OUT193,0 600 Q=0 610 IF F=1 THEN GOSUB 720 620 K=INP(129) 630 C=INP(129) 640 IF C=K THEN 630 650 Q=Q+1 660 IF Q=T2 THEN 680 670 GOTO 620 680 NEXT A 690 OUT194,0 700 !CHR$(7) 710 END 720 K=INP(129) 730 C=INP(129) 740 IF C=K THEN 730 750 Q=Q+1 760 IF Q=9 THEN 780 770 GOTO 720 780 OUT194,3 790 K=INP(129) 800 C=INP(129) 810 IF C=K THEN 800 820 Q=Q+1 830 OUT193,V2 840 K=INP(129) 850 C=INP(129) 860 IF C=K THEN 850 870 Q=Q+1 880 IF Q=17 THEN 900 890 GOTO 840 900 OUT 193,0 910 K=INP(129) 920 C=INP(129) 930 IF C=K THEN 920 940 Q=Q+1 950 IF Q=24 THEN 970 960 GOTO 910 970 OUT194,1 980 RETURN