------------------------------------------------- 1) program 45 bytes SLOT 1 10 REM PRINT CHARSET 20 FOR I=0 TO 255 30 PRINT CHR$(I); 40 NEXT I ------------------------------------------------- 2) program 192 bytes SLOT 2 10 REM HIGH PRECISION DIVISION 20 PRINT "HOW MANY DECIMAL PLACES?" 30 INPUT D 40 PRINT "DIVIDEND?" 50 INPUT R 60 PRINT "DIVISOR?" 70 INPUT Y 80 LET Z=R/Y 90 LET R=R-Z*Y 100 PRINT "QUOTIENT IS ";Z;"."; 110 FOR J=1 TO D 120 LET Z=10*R/Y 130 LET R=10*R-Z*Y 140 PRINT Z; 150 NEXT J ------------------------------------------------- 3) program 200 bytes SLOT 3 10 REM SQUARE ROOT ROUTINE 20 PRINT "ENTER THE NUMBER TO BE ROOTED" 30 INPUT X 40 LET J=0 50 LET K=J*J 60 LET D=X-K 70 IF D=0 THEN GO TO 110 80 IF D<0 THEN GO TO 130 90 LET J=J+1 100 GO TO 50 110 PRINT "THE ROOT IS ";J 120 GO TO 140 130 PRINT "THE ROOT LIES BETWEEN ";J-1;" AND ";J 140 STOP ------------------------------------------------- 4) program 383 bytes SLOT 4 10 REM DIE THROWING 20 LET A$="\A \A" 30 LET B$=" \A" 40 LET C$="\A" 50 LET D$=" \A" 60 RANDOMISE 70 LET X=RND(6) 80 PRINT "YOUR THREW IS ";X 90 GO TO X*100 100 PRINT "" 110 PRINT "" 120 PRINT B$ 130 PRINT "" 140 PRINT "" 150 GO TO 700 200 PRINT C$ 210 PRINT "" 220 PRINT "" 230 PRINT "" 240 PRINT D$ 250 GO TO 700 300 PRINT D$ 310 PRINT "" 320 PRINT B$ 330 PRINT "" 340 PRINT C$ 350 GO TO 700 400 PRINT A$ 410 PRINT "" 420 PRINT "" 430 PRINT "" 440 PRINT A$ 450 GO TO 700 500 PRINT A$ 510 PRINT "" 520 PRINT B$ 530 PRINT "" 540 PRINT A$ 550 GO TO 700 600 PRINT A$ 610 PRINT "" 620 PRINT A$ 630 PRINT "" 640 PRINT A$ 700 PRINT "HIT NEWLINE TO THROW AGAIN" 710 INPUT X$ 720 CLS 730 IF X$="" THEN GO TO 70 ------------------------------------------------- 5) program 198 bytes SLOT 5 10 REM REACTION TIMER 20 PRINT "PREPARE..." 30 FOR I=1 TO 3000+RND(10000) 40 NEXT I 50 POKE 16414,0 60 POKE 16415,0 70 PRINT "HIT NEWLINE" 80 INPUT C$ 90 LET A=PEEK(16414) 100 LET B=PEEK(16415) 110 PRINT "YOUR REACTION TIME WAS ";(B*256+A-4)*17;" MILLISECS" ------------------------------------------------- 6) program 226 bytes SLOT 6 10 REM RND HISTOGRAM 20 DIM A(20) 30 RANDOMISE 40 FAST 50 PRINT "CALCULATING..." 60 FOR K=1 TO 5000 70 LET N=RND(20) 80 LET A(N)=A(N)+1 90 NEXT K 100 SLOW 110 CLS 120 FOR K=1 TO 20 130 LET A(K)=A(K)/20 140 IF K<10 THEN PRINT " "; 150 PRINT K;" "; 160 IF A(K)<1 THEN GO TO 210 170 IF A(K)>29 THEN LET A(K)=29 180 FOR P=1 TO A(K) 190 PRINT "\A"; 200 NEXT P 210 PRINT 220 NEXT K ------------------------------------------------- 7) program 474 bytes SLOT 7 10 REM LEAP FROG 100 DIM P(9) 200 LET P(5)=0 210 FOR I=1 TO 4 220 LET P(I)=129 230 LET P(I+5)=128 240 NEXT I 250 LET C=0 300 CLS 310 FOR I=1 TO 9 320 PRINT CHR$(P(I));" "; 330 NEXT I 340 PRINT 350 FOR I=1 TO 9 360 PRINT I;" "; 370 NEXT I 500 PRINT "ENTER MOVE" 510 INPUT A 520 IF A=0 THEN GO TO 900 530 LET F=A/10 540 IF F=0 THEN GO TO 510 550 IF P(F)=0 THEN GO TO 510 560 LET T=A-10*F 570 IF T=0 THEN GO TO 510 580 IF P(T)>0 THEN GO TO 510 590 IF ABS(T-F)>2 THEN GO TO 510 600 LET C=C+1 610 LET P(T)=P(F) 620 LET P(F)=0 700 LET X=0 710 FOR I=1 TO 9 720 IF I=5 THEN GO TO 740 730 IF NOT P(I)=128-(I>5) THEN LET X=1 740 NEXT I 750 LET X=X+P(5) 760 IF X>0 THEN GO TO 300 800 PRINT "YOU DID IT IN ";C;" MOVES" 810 PRINT "ANOTHER GO? (Y)" 820 INPUT A$ 830 IF CODE(A$)=62 THEN GO TO 200 900 PRINT "BYEBYE" ------------------------------------------------- 8) program 355 bytes SLOT 8 10 REM ENCODING 100 PRINT "ENTER MESSAGE" 110 INPUT A$ 120 PRINT A$ 130 PRINT "ENTER CODE NUMBER (1 - 256)", 140 INPUT T 150 PRINT T 160 RANDOMISE ABS(T) 170 IF T<0 THEN PRINT "DE"; 180 PRINT "CODED MESSAGE IS" 190 LET R=RND(26) 200 IF T<0 THEN LET R=26-R 210 IF A$="" THEN GO TO 300 220 LET B=CODE(A$) 230 LET A$=TL$(A$) 240 IF B=0 THEN GO TO 280 250 LET B=B+R-38 260 LET B=B-26*(B/26) 270 LET B=B+38 280 PRINT CHR$(B); 290 GO TO 190 300 PRINT 310 PRINT "ANY OTHER MESSAGE? (Y)" 320 INPUT A$ 330 IF NOT CODE(A$)=62 THEN GO TO 360 340 CLS 350 GO TO 100 360 PRINT "BYEBYE" ------------------------------------------------- 9) program 571 bytes SLOT 9 60 DIM O(4) 70 DIM D(4) 80 LET A$="\F\T\S" 90 LET B$=" \S\G\Q" 100 LET C$="\R \E" 110 LET M=100 120 GO TO 200 130 FOR C=1 TO D 140 PRINT " "; 150 NEXT C 160 RETURN 170 FOR I=0 TO 4 180 LET D(I)=0 190 NEXT I 200 PRINT "BANK$";M 210 PRINT "BET?" 220 PRINT 230 PRINT "ODDS" 240 FOR I=1 TO 4 250 LET O(I)=RND(9)+1 260 PRINT CHR$(I+37),O(I);"/1" 270 NEXT I 280 INPUT B 290 IF B=0 THEN GO TO 999 300 PRINT "HORSE?" 310 INPUT H$ 320 FOR L=1 TO 4 330 CLS 340 PRINT "LAP ";L 350 FOR I=1 TO 4 360 LET D(I)=D(I)+5+7/O(I)+RND(2*O(I)/3) 370 IF D(I)>D(0) THEN LET D(0)=D(I) 380 IF D(0)=D(I) THEN LET J=I 390 NEXT I 400 FOR I=1 TO 4 410 PRINT CHR$(I+37) 420 LET D=D(I)-D(0)+15 430 GO SUB 130 440 PRINT A$ 450 GO SUB 130 460 PRINT B$ 470 GO SUB 130 480 PRINT C$ 490 PRINT 500 NEXT I 510 PRINT "N/L" 520 INPUT D$ 530 NEXT L 540 CLS 550 PRINT "WINNER ";CHR$(J+37) 560 LET S=0 570 IF CODE(H$)=J+37 THEN LET S=1 580 LET M=M-B+S*B*O(J) 590 IF M<1 THEN GO TO 999 600 GO TO 170 999 STOP ------------------------------------------------- 10) program 504 bytes, variables 65 bytes SLOT 10 90 DIM A(19) 100 LET V=-50 110 LET H=1500 120 LET R=7000 130 GO TO 500 200 FOR I=0 TO 3 210 FOR X=0 TO 4 220 PRINT CHR$(A(X+5*I)); 230 NEXT X 240 PRINT 250 NEXT I 260 RETURN 300 PRINT "THRUST (0-99)?", 310 INPUT F 320 PRINT F 330 PRINT "DURATION (1-10)?", 340 INPUT T 350 CLS 360 IF F*T>R/10 THEN LET F=R/10*T 370 LET R=R-F*T*10 400 LET A=F-32 410 LET H=A*T**2+V*T+H 420 LET V=2*A*T+V 500 LET L=H/100 510 IF L<0 THEN LET L=0 520 IF L>12 THEN LET L=12 530 FOR I=L TO 12 540 PRINT 550 NEXT I 560 IF L>8 THEN GO SUB 200 570 PRINT ,"VELOC","HEIGHT","FUEL" 580 PRINT ,V,H,R 600 IF L<9 THEN GO SUB 200 610 IF L=0 THEN GO TO 650 620 FOR I=1 TO L-1 630 PRINT 640 NEXT I 650 IF H<0 THEN PRINT "**CRASH**" 660 FOR I=1 TO 16 670 PRINT "\A\T"; 680 NEXT I 690 IF L>0 THEN GO TO 300 700 IF H<0 OR V<-99 THEN GO TO 730 710 PRINT 100+V;" PERCENT OK" 720 STOP 730 PRINT "TERRIBLE" DIM A(19)=0,0,156,0,0,0,8,3,136,0,0,2,3,130,0,134,131,3,131,135 LET V=-50 LET H=1500 LET R=7000 FOR I=4,3,201 FOR X=5,4,211 ------------------------------------------------- 11) program 330 bytes SLOT 11 100 DIM W(32) 110 PRINT 140 LET W(1)=2 150 LET W(32)=130 160 FOR I=2 TO 31 170 LET W(I)=3 180 NEXT I 190 LET X=RND(20) 200 LET W(X)=2 210 LET W(X+6)=130 220 FOR I=2 TO 5 230 LET W(X+I)=0 240 NEXT I 300 FOR L=1 TO 15 310 FOR I=1 TO 32 320 PRINT CHR$(W(I)); 330 IF I=1 OR I=32 THEN GO TO 500 340 IF W(I)<3 THEN GO TO 450 350 IF W(I)>3 THEN GO TO 400 360 LET X=RND(8) 370 IF X<3 THEN LET W(I)=2 380 IF X=8 THEN LET W(I)=7 390 GO TO 500 400 LET W(I)=1+RND(2) 410 GO TO 500 450 LET X=RND(5) 460 LET W(I)=1+X/2 470 IF X=1 THEN LET W(I)=7 500 NEXT I 510 NEXT L ------------------------------------------------- 12) program 596 bytes SLOT 12 100 DIM A(9) 110 FOR J=0 TO 2 120 FOR I=1 TO 3 130 LET A(I+3*J)=28+I+4*J+2*I*(J>1) 140 NEXT I 150 NEXT J 160 LET A(4)=36 170 LET A(5)=61 180 LET A(6)=32 190 GO TO 400 200 FOR I=1 TO 9 210 IF A(I)=M+28 THEN LET A(I)=V 220 NEXT I 230 FOR I=0 TO 2 240 FOR J=1 TO 3 250 PRINT CHR$(A(J+3*I));" "; 260 NEXT J 270 PRINT 280 PRINT 290 NEXT I 300 PRINT 310 RETURN 400 LET A=0 410 LET E=0 420 PRINT "I WENT FIRST" 430 GO SUB 230 440 PRINT "ENTER MOVE" 450 INPUT R 460 CLS 470 IF R=2*(R/2) THEN LET E=-1 480 LET M=R 490 LET V=28 500 GO SUB 200 510 LET P=R 520 FOR T=1 TO 4 530 PRINT "I MOVED" 540 LET V=61 550 LET A=A+1 560 IF T=1 OR R=P+4 OR R=P-4 THEN GO TO 620 570 LET P=P+4 580 IF P>8 THEN LET P=P-8 590 LET M=P 600 GO SUB 200 610 GO TO 790 620 IF A=3 AND E THEN LET A=7 630 IF A=4 THEN LET A=6 640 LET P=P+A 650 IF P>8 THEN LET P=P-8 660 LET M=P 670 GO SUB 200 680 IF A=7 THEN GO TO 790 690 IF T=4 THEN GO TO 770 700 PRINT "YOUR MOVE" 710 INPUT R 720 CLS 730 LET M=R 740 LET V=28 750 GO SUB 200 760 NEXT T 770 PRINT "DRAW" 780 STOP 790 PRINT "ATX80 WINS" ------------------------------------------------- 13) program 162 bytes, variables 402 bytes SLOT 13 120 LET S=PEEK(16392)+256*PEEK(16393) 200 FOR I=0 TO 88 210 LET J=-1 220 LET J=J+1 230 IF P(I)=0 THEN GO TO 270 240 PRINT CHR$(PEEK(S+P(I)+J)); 250 IF PEEK(S+P(I)+J)>0 THEN GO TO 220 260 IF P(I)>0 THEN GO TO 300 270 PRINT "?" 280 INPUT B$ 290 CLS 300 NEXT I LET A$="A ACCEPTABLE AGAIN BYEBYE COME DID DO ENOUGH FEEL FIND FOR FRIENDS HELLO HERE HOW I IS I/M LIKE NAME NORMAL REASONABLE SAY THAT/S THERAPIST THERE THINK THIS TO TODAY WAS WAY WHAT WHEN WHY WOULD YOU YOUR " DIM P(90)=68,141,88,199,131,175,85,199,97,0,175,32,195,120,199,97,167,14,0,79,36,195,46,161,0,36,195,147,153,85,109,0,185,36,195,147,195,46,153,171,0,36,199,60,51,153,3,0,36,195,27,74,158,51,60,0,36,195,147,153,85,102,0,36,199,60,51,153,3,0,83,147,124,39,56,161,180,189,195,92,158,27,74,14,0,124,109,20,0,0,0 LET S=16731 FOR I=91,90,201 LET B=0 ------------------------------------------------- 14) program 708 bytes SLOT 14 100 DIM T(3) 110 DIM N(3) 120 DIM X(3) 130 LET N(1)=7 140 LET N(2)=5 150 LET N(3)=3 160 GO TO 500 200 FOR R=1 TO 3 210 FOR M=1 TO N(R) 220 IF N(R)=0 THEN GO TO 250 230 PRINT " \A"; 240 NEXT M 250 PRINT 260 PRINT 270 NEXT R 280 RETURN 300 FOR S=0 TO 3 310 LET T(S)=0 320 NEXT S 330 FOR S=1 TO 3 340 LET T(1)=T(1)+(X(S) AND 4)/4 350 LET T(2)=T(2)+(X(S) AND 2)/2 360 LET T(3)=T(3)+(X(S) AND 1) 370 NEXT S 380 FOR S=1 TO 3 390 IF T(S)=2 THEN LET T(S)=0 400 LET T(0)=T(0)+T(S) 410 NEXT S 420 RETURN 500 GO SUB 200 510 PRINT "ENTER ROW AND HOW MANY" 520 INPUT Y 530 IF Y=0 THEN GO TO 900 540 IF Y<0 OR Y>33 THEN GO TO 520 550 LET M=Y/10 560 LET Y=Y-10*M 570 IF Y>N(M) THEN GO TO 520 580 LET N(M)=N(M)-Y 590 CLS 600 GO SUB 200 610 FOR R=1 TO 3 620 LET X(R)=N(R) 630 NEXT R 640 GO SUB 300 650 IF T(0)=0 THEN GO TO 670 660 PRINT "I BET I WILL WIN" 670 PRINT "PRESS N/L" 680 INPUT X$ 690 IF T(0)>0 THEN GO TO 750 700 FOR R=1 TO 3 710 LET M=N(R)-1 720 IF N(R)>0 THEN GO TO 820 730 NEXT R 740 GO TO 900 750 FOR R=1 TO 3 760 FOR M=0 TO N(R) 770 LET X(R)=M 780 GO SUB 300 790 IF T(0)=0 THEN GO TO 820 800 NEXT M 810 NEXT R 820 IF R>3 THEN GO TO 900 830 LET N(R)=M 840 IF N(1)+N(2)+N(3)=0 THEN GO TO 900 850 GO TO 500 900 PRINT "WHO WON?" ------------------------------------------------- 15) program 757 bytes SLOT 15 100 REM 23456789TJQKA23456789TJQKA23456789TJQKA23456789TJQKA 110 DIM N(3) 120 LET S=16427 130 LET M=100 140 GO TO 310 150 LET X=PEEK(S+6*I+N(I))-28 160 LET N(I+2)=N(I+2)-10*(X>10)-X*(X<10)-11*(X=10) 170 LET A=A-(X=10) 180 RETURN 200 PRINT "YOURS",,"ATX80" 210 FOR K=0 TO 1 220 FOR L=6*K TO 6*K+N(K) 230 LET X=PEEK(S+L) 240 PRINT CHR$(X);" "; 250 NEXT L 260 PRINT ,, 270 NEXT K 300 RETURN 310 FOR I=0 TO 51 320 LET J=RND(52)-1 330 LET X=PEEK(S+J) 340 POKE S+J,PEEK(S+I) 350 POKE S+I,X 360 NEXT I 370 FOR I=0 TO 1 380 LET N(I)=0 390 LET N(I+2)=0 400 LET A=0 410 GO SUB 150 420 NEXT I 430 PRINT "BET:$";M 440 INPUT B 450 CLS 500 FOR I=0 TO 1 510 LET W=2*I-1 520 LET A=N(I+2)/10 530 GO SUB 200 540 IF I=0 THEN PRINT "H OR S?" 550 IF I=1 THEN PRINT "N/L" 560 LET I$="S" 570 INPUT I$ 580 CLS 590 IF CODE(I$)=56 THEN GO TO 700 600 LET N(I)=N(I)+1 610 GO SUB 150 620 IF N(I+2)<22 THEN GO TO 660 630 IF A=0 THEN GO TO 800 640 LET A=A-1 650 LET N(I+2)=N(I+2)-10 660 IF N(I)=4 THEN GO TO 700 670 IF I=0 OR N(I+2)<17 THEN GO TO 530 700 NEXT I 750 GO SUB 200 760 LET W=-1 770 IF (N(0)=4 AND N(1)<4) OR N(2)>N(3) THEN LET W=1 780 IF N(2)=21 AND N(0)=1 THEN LET W=2 800 LET M=M+W*B 810 IF M<1 THEN STOP 820 GO TO 310 ------------------------------------------------- 16) program 246 bytes SLOT 16 10 REM BUBBLE SORT 20 PRINT "COUNT?" 30 INPUT N 40 DIM P(N) 50 FOR I=1 TO N 60 CLS 70 PRINT "NUMBER(";I;")?" 80 INPUT P(I) 90 NEXT I 100 CLS 110 PRINT "SORTING..." 120 FAST 130 FOR J=1 TO N-1 140 LET K=J+1 150 FOR I=K TO N 160 LET L=N+K-I 170 IF P(L)>P(J) THEN GO TO 210 180 LET T=P(L) 190 LET P(L)=P(J) 200 LET P(J)=T 210 NEXT I 220 NEXT J 230 SLOW 240 CLS 250 FOR I=1 TO N 260 PRINT P(I);" "; 270 NEXT I ------------------------------------------------- 17) program 231 bytes SLOT 17 5 REM LINE RENUMBER 12 GO TO 18 18 GO SUB 9987 9987 LET L=20 9988 POKE 16424,0 9989 POKE 16425,10 9990 FOR N=16426 TO 17400 9991 IF PEEK(N)=251 THEN PRINT L-10,CHR$(251) 9992 IF PEEK(N)=236 THEN PRINT L-10,CHR$(236) 9993 IF NOT PEEK(N)=118 THEN GO TO 9999 9994 IF PEEK(N+1)>38 THEN STOP 9995 POKE N+1,L/256 9996 POKE N+2,L AND 255 9997 LET N=N+2 9998 LET L=L+10 9999 NEXT N ------------------------------------------------- 18) program 378 bytes, variables 75 bytes SLOT 18 100 PRINT 110 PRINT 120 PRINT "SIZE PAD (3-7)?" 130 INPUT N 140 IF N<3 OR N>7 THEN GO TO 120 150 DIM A(N*N-1) 200 CLS 210 FOR K=1 TO N 220 LET J=N+1-K 230 PRINT J, 240 FOR I=1 TO N 250 PRINT CHR$(A(J-N-1+N*I)); 260 NEXT I 270 PRINT 280 NEXT K 290 PRINT 300 PRINT , 310 FOR I=1 TO N 320 PRINT I; 330 NEXT I 340 PRINT 400 PRINT "ENTER COORD" 410 INPUT X 420 IF X=0 THEN GO TO 500 430 PRINT X 440 LET J=X/10 450 LET I=X-10*J 460 PRINT "ENTER CHAR CODE" 470 INPUT X 480 LET A(J-N-1+N*I)=X 490 GO TO 200 500 PRINT "CODES USED:" 510 FOR K=1 TO N 520 LET J=N+1-K 530 PRINT "LINE:";J, 540 FOR I=1 TO N 550 PRINT A(J-N-1+N*I);" "; 560 NEXT I 570 PRINT 580 NEXT K LET N=5 DIM A(24)=134,0,0,0,0,131,2,8,0,0,3,3,3,156,0,131,130,136,0,0,135,0,0,0,0 FOR K=6,5,511 LET J=1 FOR I=6,5,541 LET X=0 ------------------------------------------------- 19) program 580 bytes SLOT 19 100 PRINT "I CALCULATE DAY YOU WERE BORN" 110 LET D$=" SUNMONTUEWEDTHUFRISAT" 120 PRINT "PLEASE ENTER YOUR NAME" 130 INPUT A$ 140 PRINT "HELLO ";A$ 150 PRINT "ENTER DATE OF BIRTH:" 155 PRINT "DAY", 160 INPUT D 170 IF D<1 OR D>31 THEN GO TO 160 180 PRINT D 185 PRINT "MONTH", 190 INPUT M 200 PRINT M 205 PRINT "YEAR", 210 INPUT Y 220 PRINT Y 230 IF Y<1700 THEN PRINT A$," IS TOO OLD FOR ME" 240 IF Y<1700 THEN GO TO 440 250 LET K=0 260 IF M=1 OR M=2 THEN LET K=1 270 LET L=Y-K 280 LET O=M+12*K 290 LET P=L/100 300 LET Z=(13*(O+1))/5+(5*L)/4-P+P/4+D-1 310 LET Z=Z-7*(Z/7)+1 320 FOR I=1 TO Z*3 330 LET D$=TL$(D$) 340 NEXT I 400 PRINT A$;" WAS BORN ON ";CHR$(CODE(D$)); 410 LET D$=TL$(D$) 420 PRINT CHR$(CODE(D$));CHR$(CODE(TL$(D$))) 430 PRINT 440 PRINT "ANYONE ELSE? (Y)" 450 INPUT A$ 455 CLS 460 IF CODE(A$)=62 THEN GO TO 110 470 PRINT "ATX80 SAYS BYEBYE" ------------------------------------------------- 20) program 354 bytes SLOT 20 10 REM CHINESE REMAINDER 100 DIM R(3) 110 PRINT "THINK OF A NUMBER BETWEEN 1 AND 316" 120 PRINT "PRESS N/L WHEN READY" 130 INPUT A$ 200 LET A=3 210 FOR I=1 TO 3 220 LET A=A+2 230 PRINT "NOW DIVIDE YOUR ORIGINAL NUMBER BY ";A 240 PRINT "PLEASE ENTER REMAINDER" 250 INPUT R(I) 260 PRINT R(I) 270 NEXT I 300 LET A=126*R(1)+225*R(2)+280*R(3) 310 LET A=A-315*(A/315) 320 PRINT "YOUR NUMBER WAS ";A 330 PRINT "ANOTHER? (Y)" 340 INPUT A$ 350 CLS 360 IF CODE(A$)=62 THEN GO TO 100 370 PRINT "BYEBYE" ------------------------------------------------- 21) program 431 bytes SLOT 21 10 REM SIMPLE SIMON 100 DIM A(30) 110 LET J=-1 120 RANDOMISE 130 DIM P(7) 140 FOR I=0 TO 7 150 LET P(I)=2**(7-I) 160 NEXT I 200 LET X=RND(26)+37 210 CLS 220 PRINT "NEXT CHAR IS" 230 FOR L=0 TO 7 240 LET V=PEEK(3584+L+8*X) 250 FOR K=0 TO 7 260 LET G=(V AND P(K))>0 270 PRINT CHR$(-128*G); 280 NEXT K 290 PRINT 300 NEXT L 400 IF X=15 THEN GO TO 700 410 LET J=J+1 420 IF J=31 THEN GO TO 800 430 LET A(J)=X 440 PRINT "PRINT ENTIRE SEQUENCE" 450 INPUT A$ 460 PRINT A$ 470 FOR I=0 TO J 480 LET X=CODE(A$) 490 IF NOT A(I)=X THEN GO TO 600 500 LET A$=TL$(A$) 510 NEXT I 520 GO TO 200 600 LET X=15 610 GO TO 230 700 PRINT "SORRY IT WAS:" 710 FOR I=0 TO J 720 PRINT CHR$(A(I)); 730 NEXT I 740 STOP 800 PRINT "I GIVE UP" ------------------------------------------------- 22) program 739 bytes SLOT 22 5 GO TO 300 10 PRINT "\A\A\A"; 20 RETURN 30 PRINT "\A\A\A" 40 RETURN 50 PRINT " \Q" 60 RETURN 70 PRINT " \Q" 80 RETURN 90 PRINT " ";CHR$(135);CHR$(135);"\Q" 100 RETURN 110 PRINT " ";CHR$(134); 120 RETURN 130 PRINT CHR$(134);"\E" 140 RETURN 150 PRINT " ";CHR$(130);CHR$(128) 160 RETURN 170 PRINT " ";CHR$(132); 180 RETURN 190 PRINT CHR$(130);"\D" 200 RETURN 210 FOR L=1 TO G 220 IF G=0 THEN GO TO 250 230 GO SUB 20*L-10 240 NEXT L 250 PRINT 260 PRINT 270 IF G=10 THEN GO TO 290 280 GO TO 500 290 PRINT "TOO BAD" 300 PRINT "ENTER NEW WORD" 310 INPUT X$ 320 LET W=1 330 LET A$=X$ 340 FOR L=1 TO 20 350 LET A$=TL$(A$) 360 IF A$="" THEN GO TO 390 370 LET W=W+1 380 NEXT L 390 DIM A(W) 400 FOR L=1 TO W 410 LET A(L)=0 420 NEXT L 430 PRINT "LETTERS=";W 440 LET G=0 500 PRINT "INPUT GUESS" 510 INPUT A$ 520 CLS 530 IF A$="" THEN GO TO 999 540 LET B=CODE(A$) 550 LET A$=X$ 560 LET C=0 570 FOR L=1 TO W 580 IF B=CODE(A$) THEN LET A(L)=B 590 IF A(L)=B THEN LET C=1 600 LET A$=TL$(A$) 610 NEXT L 620 IF C=0 THEN LET G=G+1 630 LET N=W 640 FOR L=1 TO W 650 IF A(L)=0 THEN PRINT "-"; 660 IF A(L)=0 THEN GO TO 690 670 LET N=N-1 680 PRINT CHR$(A(L)); 690 NEXT L 700 PRINT 710 PRINT 720 IF NOT N=0 THEN GO TO 210 730 PRINT "BRILLIANT" 740 GO TO 300 999 PRINT "THANKS FOR THE GAME" ------------------------------------------------- 23) program 458 bytes SLOT 23 100 RANDOMISE 110 DIM C(3) 120 DIM P(7) 130 FOR J=0 TO 7 140 LET P(J)=2**(7-J) 150 NEXT J 160 GO TO 400 200 IF S=-1 THEN LET C(1)=18 210 LET C(2)=X/10 220 LET C(3)=X-10*C(2)+28 230 IF C(2)>0 THEN LET C(2)=C(2)+28 240 FOR L=0 TO 6 250 FOR I=1 TO 3 260 LET V=PEEK(3584+L+8*C(I)) 270 FOR J=0 TO 7 280 LET G=(V AND P(J))>0 290 PRINT CHR$(-128*G); 300 NEXT J 310 NEXT I 320 PRINT 330 NEXT L 340 PRINT 350 RETURN 400 LET K=0 410 LET C(1)=0 420 LET S=1 430 LET A=RND(49) 440 LET X=A 450 GO SUB 200 460 LET C(1)=19 470 LET S=2*RND(2)-3 480 LET B=RND(49) 490 LET X=B 500 GO SUB 200 600 INPUT C 610 IF C=A+S*B THEN GO TO 700 620 LET K=K+1 630 IF K>2 THEN GO TO 660 640 PRINT "TRY AGAIN" 650 GO TO 600 660 PRINT "ANSWER WAS ";A+S*B 670 STOP 700 PRINT "THAT/S RIGHT" ------------------------------------------------- 24) program 676 bytes SLOT 24 100 DIM Q(10) 110 LET C=0 120 LET Q=0 130 PRINT "THIS IS A TEST OF CAPITALS" 140 PRINT "WHAT IS THE CAPITAL OF" 150 LET X=RND(10) 160 LET A=10 170 IF Q(X)<0 THEN GO TO 150 180 LET Q(X)=-1 190 GO SUB 500+20*X 200 FOR I=1 TO 30 210 LET X=CODE(A$) 220 PRINT CHR$(X); 230 LET A$=TL$(A$) 240 IF X=15 THEN GO TO 300 250 NEXT I 300 INPUT B$ 310 IF NOT A$=B$ THEN GO TO 400 320 LET C=C+A 330 LET Q=Q+1 340 IF Q=10 THEN GO TO 490 350 IF A=0 THEN GO TO 140 360 CLS 370 GO TO 140 400 PRINT " TRY AGAIN" 410 INPUT B$ 420 LET A=5 430 IF B$=A$ THEN GO TO 320 440 PRINT "IT IS ";A$ 450 LET A=0 460 GO TO 320 490 CLS 500 PRINT "YOU GOT ";C;" PERCENT RIGHT" 510 STOP 520 LET A$="CZECHIA?PRAGUE" 530 RETURN 540 LET A$="TURKEY?ISTANBUL" 550 RETURN 560 LET A$="USA?WASHINGTON" 570 RETURN 580 LET A$="HOLLAND?AMSTERDAM" 590 RETURN 600 LET A$="AUSTRALIA?CANBERRA" 610 RETURN 620 LET A$="JAPAN?TOKYO" 630 RETURN 640 LET A$="INDIA?NEW DEHLI" 650 RETURN 660 LET A$="POLAND?WARSAW" 670 RETURN 680 LET A$="SWEDEN?STOCKHOLM" 690 RETURN 700 LET A$="PORTUGAL?LISBON" 710 RETURN ------------------------------------------------- 25) program 427 bytes SLOT 25 100 DIM A(63) 110 FOR I=1 TO 63 120 LET A(I)=128*(RND(2)-1) 130 NEXT I 200 FOR L=0 TO 8 210 FOR J=1 TO 7 220 LET I=J+7*L 230 PRINT CHR$(A(I)); 240 NEXT J 250 PRINT 260 NEXT L 270 PRINT "PRESS N/L" 280 INPUT A$ 285 IF NOT A$="" THEN STOP 290 CLS 300 FOR I=9 TO 55 310 LET X=0 320 IF ((I+1) AND 7)=0 THEN GO TO 350 330 LET X=(A(I+1)>127) 340 IF ((I-1) AND 7)=0 THEN GO TO 360 350 LET X=X+(A(I-1)>127) 360 FOR J=7 TO 9 370 FOR R=-1 TO 1 380 IF R=0 THEN GO TO 420 390 LET K=I+R*J 400 IF (K AND 7)=0 THEN GO TO 420 410 LET X=X+(A(K)>127) 420 NEXT R 430 NEXT J 440 LET A(I)=A(I)-X 450 NEXT I 460 FOR I=9 TO 55 470 IF A(I)=3 OR A(I)=130 OR A(I)=131 THEN GO TO 500 480 LET A(I)=0 490 GO TO 510 500 LET A(I)=128 510 NEXT I 520 GO TO 200 ------------------------------------------------- 26) program 134 bytes SLOT 26 100 DIM A(75) 110 LET R=1 120 LET A(1)=2 130 FOR X=3 TO 300 140 FOR Y=1 TO R 150 IF X/A(R)>A(R) THEN GO TO 180 160 IF X=(X/A(Y))*A(Y) THEN GO TO 210 170 NEXT Y 180 LET R=R+1 190 LET A(R)=X 200 PRINT X, 210 LET X=X+1 220 NEXT X ------------------------------------------------- 27) program 466 bytes SLOT 27 100 DIM X(6) 110 DIM A(2) 120 PRINT "SOLUTIONS TO 2 EQUATIONS:" 130 PRINT "A*X + B*Y + C = 0" 140 PRINT 150 PRINT "ENTER DATA" 160 FOR I=1 TO 6 170 PRINT CHR$(37+I-((I-1)/3)*3), 180 INPUT X(I) 190 PRINT X(I) 200 NEXT I 300 LET D=X(1)*X(5)-X(2)*X(4) 310 IF D=0 THEN GO TO 900 320 LET A(1)=X(3)*X(5)-X(2)*X(6) 330 LET A(2)=-X(3)*X(4)+X(1)*X(6) 340 PRINT 350 PRINT "SOLUTIONS ARE" 360 LET D=-D 370 LET S=D/ABS(D) 400 FOR I=1 TO 2 410 LET B=ABS(D) 420 LET A=ABS(A(I)) 500 LET Q=A/B 510 LET R=A-Q*B 520 LET A=B 530 LET B=R 540 IF R>0 THEN GO TO 500 550 LET GCD=A 600 PRINT S*A(I)/GCD; 610 IF NOT D/GCD=S THEN PRINT "/";ABS(D/GCD) 620 PRINT , 630 NEXT I 640 STOP 900 PRINT "- DEGENERATE: NO SOLUTIONS" ------------------------------------------------- 28) program 548 bytes SLOT 28 100 PRINT "INPUT NUMBER" 110 INPUT A 120 CLS 130 PRINT "SQUARE ROOT OF ";A;" IS" 140 LET U=174 150 LET L=0 160 LET FRAC=0 170 LET DELTA=0 200 LET NEW=(U+L)/2 210 IF (NEW-1)**2A THEN GO TO 250 220 IF NEW**2>A THEN LET U=NEW 230 IF NEW**2A THEN LET NEW=NEW-1 300 LET ERROR=100*(A-NEW**2) 310 IF ERROR<2 THEN GO TO 470 320 LET FRAC=(ERROR/NEW)/2 330 LET FSQ=FRAC**2 340 LET ERROR=ERROR-2*NEW*FRAC 350 IF ERROR>0 THEN GO TO 390 360 LET FRAC=FRAC-1 370 LET ERROR=100*(A-NEW**2) 380 GO TO 330 390 LET ERROR=10*ERROR-FSQ/10 400 IF ERROR<0 THEN GO TO 360 410 LET DELTA=(ERROR/NEW)/2 420 LET EDASH=ERROR-(2*FRAC*DELTA)/2 430 IF EDASH>0 THEN GO TO 460 440 LET DELTA=DELTA-1 450 GO TO 420 460 LET DELTA=(EDASH/NEW)/2 470 PRINT NEW;".";FRAC;DELTA ------------------------------------------------- 29) program 512 bytes SLOT 29 100 DIM N(2) 110 DIM V(9) 120 RANDOMISE 130 FOR I=1 TO 2 140 LET N(I)=1 150 LET V(5*I-5)=RND(13) 160 NEXT I 170 LET I=1 200 LET P=I 210 FOR L=1 TO 7 220 FOR C=1 TO N(P) 230 LET J=C-6+5*P 240 IF L=1 OR L=7 THEN GO TO 420 250 IF L=4 THEN GO TO 270 260 GO TO 440 270 PRINT " \A "; 280 IF V(J)<2 OR V(J)>10 THEN GO TO 330 290 PRINT V(J); 300 IF V(J)<10 THEN PRINT " "; 310 PRINT "\A"; 320 GO TO 450 330 LET A$=" AJQK" 340 LET M=V(J) 350 IF M>10 THEN LET M=M-9 360 FOR K=1 TO M-1 370 LET A$=TL$(A$) 380 NEXT K 390 PRINT CHR$(CODE(A$)); 400 PRINT " \A"; 410 GO TO 450 420 PRINT " \A\A\A\A\A"; 430 GO TO 450 440 PRINT " \A \A"; 450 NEXT C 460 PRINT 470 NEXT L 480 PRINT 490 PRINT 600 PRINT "PLAYER";I;":HIT OR STAY?" 610 INPUT A$ 620 CLS 630 IF CODE(A$)=56 THEN GO TO 670 640 LET N(I)=N(I)+1 650 LET V(N(I)-6+5*I)=RND(13) 660 GO TO 200 670 IF I=2 THEN STOP 680 LET I=I+1 690 GO TO 200 ------------------------------------------------- 30) program 436 bytes SLOT 30 100 DIM A(48) 110 FOR I=0 TO 48 120 LET A(I)=6 130 NEXT I 140 LET A(0)=53 150 PRINT "HOW MANY PLAYERS?" 160 INPUT N 170 LET T=0 200 LET T=T+1 210 FOR L=0 TO 6 220 LET J=7-L 230 PRINT J, 240 FOR C=0 TO 6 250 PRINT CHR$(A(C+7*L)); 260 NEXT C 270 PRINT 280 NEXT L 290 PRINT , 300 FOR C=1 TO 7 310 PRINT C; 320 NEXT C 330 PRINT 340 PRINT "PLAYER:";T 410 PRINT "INPUT COORD" 420 INPUT A 430 IF A=0 THEN GO TO 999 440 LET J=A/10 450 LET C=A-10*J-1 460 LET L=7-J 470 LET P=C+7*L 480 IF P<0 OR P>48 THEN GO TO 420 490 IF A(P)>0 THEN GO TO 600 500 PRINT "EMPTY SPACE" 510 GO TO 410 600 IF P=0 THEN GO TO 700 610 FOR J=L TO 6 620 FOR I=C TO 6 630 LET A(I+7*J)=0 640 NEXT I 650 NEXT J 660 CLS 670 IF T=N THEN LET T=0 680 GO TO 200 700 PRINT "PLAYER";T;":YOU LOST" ------------------------------------------------- 31) program 445 bytes SLOT 31 100 PRINT "WELCOME TO MASTERMIND" 110 PRINT "ENTER NUMBER OF DIGITS (3-7)" 120 INPUT N 130 LET N=N-1 140 DIM A(N) 200 FOR I=0 TO N 210 LET X=RND(10)-1 220 FOR J=0 TO I 230 IF X=A(J) THEN GO TO 210 240 NEXT J 250 LET A(I)=X 260 NEXT I 270 LET G=0 280 GO TO 530 300 INPUT B$ 310 IF B$="" THEN STOP 320 CLS 330 PRINT B$ 340 LET R=0 350 LET C=0 360 LET G=G+1 370 FOR I=0 TO N 380 LET X=CODE(B$)-28 390 IF X=A(I) THEN LET C=C+1 400 FOR J=0 TO N 410 IF X=A(J) THEN LET R=R+1 420 NEXT J 430 LET B$=TL$(B$) 440 NEXT I 450 IF C=N+1 THEN GO TO 600 500 PRINT "NUMBERS RIGHT=";R 510 PRINT "CORRECT POSITIONS=";C 520 PRINT 530 PRINT "ENTER ";N+1;"-DIGIT GUESS" 540 GO TO 300 600 PRINT "YOU DID IT IN ";G;" GUESSES" ------------------------------------------------- 32) program 589 bytes SLOT 32 100 DIM G(9) 110 PRINT "ENTER PLAYER 1 NAME" 120 INPUT Y$ 130 PRINT "PLAYER 2 NAME?" 140 INPUT Z$ 150 LET A$=Y$ 160 LET B=2 170 GO TO 600 200 LET C=G(I) 210 IF C=0 THEN RETURN 220 FOR S=-1 TO 1 230 IF S=0 THEN GO TO 330 240 FOR J=1 TO 6 250 LET K=I+S*J 260 IF K=9 OR K=0 THEN GO TO 300 270 IF G(K)=0 OR G(K)=C THEN GO TO 290 280 NEXT J 290 IF J=1 OR G(K)=0 THEN GO TO 330 300 FOR K=1 TO J-1 310 LET G(I+S*K)=0 320 NEXT K 330 NEXT S 340 CLS 350 PRINT 360 PRINT "PINCH" 370 PRINT 380 PRINT 390 FOR J=1 TO 8 400 PRINT " ";CHR$(27+G(J)); 410 NEXT J 420 PRINT 430 PRINT " "; 440 FOR J=1 TO 8 450 PRINT "\A\T\A"; 460 NEXT J 470 PRINT 480 PRINT 490 FOR J=1 TO 8 500 PRINT " ";J; 510 NEXT J 520 RETURN 600 GO SUB 340 610 PRINT 620 PRINT A$;":ENTER MOVE" 630 INPUT I$ 640 LET I=CODE(I$)-28 650 IF I=0 THEN GO TO 999 660 IF I>0 AND I<9 THEN GO TO 680 670 GO TO 630 680 IF NOT G(I)=0 THEN GO TO 630 690 LET G(I)=B 700 GO SUB 200 710 LET I=I+1 720 IF I=9 THEN LET I=7 730 GO SUB 200 740 LET B=B+1 750 IF B=3 THEN LET B=1 760 IF B=2 THEN LET A$=Y$ 770 IF B=1 THEN LET A$=Z$ 780 GO TO 610