------------------------------------------------- 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