The Shell Games (Disk 132a)
Item Preview
Share or Embed This Item
Flag this item for
The Shell Games (Disk 132a)
- Language
- English
Notes
Disk info for 132a_The_Shell_Games.dsk:
File Name: 3d0g_132a_The_Shell_Games/132a_The_Shell_Games.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 20736
Used Space (bytes): 122624
Physical Size (KB): 140
Free Space (KB): 20
Used Space (KB): 119
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 81
Used Sectors: 479
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 132a_The_Shell_Games.dsk:
3d0g_132a_The_Shell_Games/132a_The_Shell_Games.dsk DISK VOLUME #254
I 002 HELLO.REAL
* I 009 INDEX
* I 036 THE ANIMATED APPLE
* I 089 THE MATCH MACHINE
* I 125 PROFESSOR TRUE
* I 130 MR. MULTIPLE
* B 022 INTBASIC
* T 002 HELLO.TEXT
DOS 3.3 format; 20,736 bytes free; 122,624 bytes used.
Text found in 132a_The_Shell_Games.dsk/THE ANIMATED APPLE.int:
0 GOTO 3000
100 REM PAGE 2 MEMORY MOVE
110 POKE 66,0: POKE 67,8: POKE 60,0: POKE 61,4: POKE 62,255: POKE 63,7:CALL -468
120 POKE -16299,0:RETURN
200 POKE 6,J*10+5: POKE 7,8:CALL 768:J=J+1:RETURN
1500 REM APPLE
1510 COLOR= 12:PLOT 23,Y:PLOT 22,Y+1:HLIN 19,20 AT 2+Y:HLIN 22,23 AT 2+Y:HLIN 17,25 AT 3+Y
1520 COLOR= 13:HLIN 17,25 AT 4+Y:HLIN 16,26 AT 5+Y
1530 COLOR= 9:HLIN 16,26 AT 6+Y:HLIN 16,26 AT 7+Y:HLIN 16,26 AT 8+Y
1540 COLOR= 1:HLIN 16,26 AT 9+Y:HLIN 16,26 AT 10+Y:HLIN 17,25 AT 11+Y
1550 COLOR= 11:HLIN 17,25 AT 12+Y:HLIN 18,24 AT 13+Y
1560 COLOR= 2:HLIN 19,21 AT 14+Y:HLIN 23,24 AT 14+Y
1570 RETURN
1600 REM ERASE APPLE
1610 COLOR= 6:PLOT 23,Y-1:PLOT 23,Y-2:PLOT 22,Y-1:FOR I=Y TO Y+12+3*(L<15):HLIN 15,26 AT I:NEXT I:RETURN
1700 REM CONVERT COLORS
1710 COLOR= 12:CALL 3072:COLOR= 8:CALL 3075
1720 COLOR= 13:CALL 3072:COLOR= 6:CALL 3075
1730 COLOR= 9:CALL 3072:COLOR= 6:CALL 3075
1740 COLOR= 10:CALL 3072:COLOR= 0:CALL 3075
1745 COLOR= 11:CALL 3072:COLOR= 12:CALL 3075
1750 RETURN
1800 REM SCROLLING TRUNK
1810 PRINT "**";:RETURN
1820 PRINT "HJ";:RETURN
1830 PRINT "JH";:RETURN
1840 PRINT "JH";:RETURN
1850 PRINT "HJ";:RETURN
1860 PRINT "JH";:RETURN
1870 PRINT "JJH";:RETURN
1880 PRINT "HJJ";:RETURN
1890 PRINT "JHJJ";:RETURN
1900 PRINT "J*J,";:RETURN
1910 PRINT "*J,JY*****::***:::***:::***:****:::****";:RETURN
1920 PRINT "*J*,Y****;++;**;**;**;**;**;****;******";:RETURN
1930 PRINT ",J*J*****;**;**;::+**;::+**;****;::****";:RETURN
1940 PRINT "*,*J*****;::;**;*****;*****;****;******";:RETURN
1950 PRINT ",J**J****;**;**;*****;*****;::**;::****";:RETURN
2400 REM "SCROLL" TREE
2410 FOR L=8 TO 15: POKE 34,0:PRINT : POKE 34,24
2411 IF PEEK (-16384)=155 THEN 3425
2412 COLOR= 12:CALL 3072:COLOR= 3:CALL 3075
2420 VTAB 24:GOSUB 1800+L*10
2422 COLOR= 6:HLIN PEEK (36),39 AT 46:HLIN PEEK (36),39 AT 47
2430 COLOR= 15:IF L<>10 THEN 2440:HLIN 4,39 AT 46:HLIN 4,39 AT 47
2440 IF L<11 THEN 2450:VLIN 46,47 AT 4:VLIN 46,47 AT 39
2450 GOSUB 1700:COLOR= 3:CALL 3072:COLOR= 12:CALL 3075
2460 GOSUB 1600:GOSUB 1500
2465 GOSUB 100:GOSUB 200
2470 NEXT L: POKE 34,0
2475 FOR K=1 TO 225:NEXT K
2477 Y=Y+1:GOSUB 1600:GOSUB 1500
2480 FOR L=1 TO 4:PRINT :COLOR= 0:HLIN 0,39 AT 46:HLIN 0,39 AT 47
2485 COLOR= 15:VLIN 46,47 AT 4:VLIN 46,47 AT 39
2486 IF L<4 THEN 2490:HLIN 4,39 AT 46:HLIN 4,39 AT 47
2487 IF PEEK (-16384)=155 THEN 3425
2490 GOSUB 100
2491 IF L<>1 THEN 2495:GOSUB 200:FOR K=1 TO 15: POKE 6,180+ RND (76): POKE 7,4:CALL 768:NEXT K:FOR K=1 TO 100:NEXT K:NEXT L
2495 FOR K=1 TO 250:NEXT K:NEXT L
2500 REM WRITE TEXT AT BOTTOM OF SCREEN
2510 POKE 34,20:CALL -936
2520 POKE 50,63:FOR I=21 TO 23:TAB 5:PRINT " ";:TAB 40:PRINT " ";:NEXT I
2530 TAB 5:PRINT " ";
2535 POKE 2039,32: POKE 50,255
2540 REM SWITCH PAGE 2 FULL GRAPHICS TO PAGE 1 MIXED GRAPHICS:
2541 POKE 3248,173: POKE 3249,83: POKE 3250,192: POKE 3251,173: POKE 3252,84: POKE 3253,192: POKE 3254,96:CALL 3248
2542 REM THE ABOVE LINE IS SAME AS POKE -16301,0:POKE -16300,0 , BUT IS FASTER
2545 RETURN
2600 REM BITE APPLE
2605 J=1
2610 COLOR= 6:VLIN 20,22 AT 26
2620 GOSUB 2660
2630 COLOR= 15:VLIN 19,23 AT 25:PLOT 24,21:COLOR= 6:VLIN 18,24 AT 26:VLIN 20,22 AT 25
2640 GOSUB 2660
2650 COLOR= 15:VLIN 18,23 AT 24:VLIN 20,22 AT 23:PLOT 25,17:COLOR= 6:VLIN 18,24 AT 25:VLIN 20,22 AT 24
2660 GOSUB 100:FOR K=1 TO 6: POKE 6, RND (30)+150-J*25: POKE 7,4:CALL 768:NEXT K:J=J+1:RETURN
2700 FOR I=1 TO LEN(D1$):PRINT D1$(I,I);: POKE 6, LEN(D1$)*3-I*3+50: POKE 7,3:CALL 768
2705 IF PEEK (-16384)=155 THEN 3425
2710 FOR K=1 TO TIME*2:NEXT K:NEXT I:PRINT :RETURN :REM PRINT OUT STRING
3000 REM START
3003 POKE 1011,0: POKE 1012,0
3005 IF PEEK (-16384)=155 THEN 3430
3010 POKE 74,0: POKE 75,13: POKE 204,0: POKE 205,13:REM AUTO-LOMEM TO ALLOW USE OF PAGE 2 AND COLOR-CHANGE ROUTINES
3020 CALL -936:GOSUB 100
3030 Y=L=J=I=K
3040 DIM A(33),B(33),D1$(40):TIME=45
3045 REM
3050 POKE -16298,0: POKE -16302,0:CALL -1998
3060 GOSUB 6000: POKE 34,24
3070 COLOR= 0:CALL 3072:COLOR= 6:CALL 3075
3080 VTAB 1:GOSUB 4090
3085 IF PEEK (-16384)=155 THEN 3430
3090 GOSUB 1700:REM CONVERT COLORS
3100 POKE -16304,0: POKE -16300,0
3110 FOR K=1 TO TIME*2:NEXT K
3120 REM LEAVES AND FLOWERS
3130 COLOR= 12
3140 REM LEAVES
3141 GOSUB 4000
3142 FOR I=1 TO 33
3143 PLOT A(I),B(I)
3144 POKE 6, RND (50)+50: POKE 7,5:CALL 768
3145 FOR K=1 TO RND (10)+10:NEXT K
3146 IF PEEK (-16384)=155 THEN 3430
3147 NEXT I
3150 FOR K=1 TO TIME:NEXT K
3160 COLOR= 13:REM 3 BUDS
3170 PLOT 8,5:GOSUB 3440:PLOT 31,10:GOSUB 3440:PLOT 21,17:GOSUB 3440
3180 FOR K=1 TO TIME*2:NEXT K
3190 COLOR= 11:PLOT 20,16:PLOT 22,16:PLOT 20,18:PLOT 22,18:GOSUB 3440:REM BLOSSOM
3200 COLOR= 9:HLIN 19,20 AT 17:HLIN 22,23 AT 17:VLIN 15,16 AT 21:VLIN 18,19 AT 21:GOSUB 3440
3205 IF PEEK (-16384)=155 THEN 3430
3210 FOR K=1 TO TIME:NEXT K
3220 COLOR= 6:HLIN 19,20 AT 17:HLIN 22,23 AT 17:VLIN 18,19 AT 21:COLOR= 8:VLIN 15,16 AT 21:GOSUB 3440:REM ERASE ORANGE
3230 COLOR= 6:PLOT 20,16:PLOT 22,16:PLOT 20,18:PLOT 22,18:GOSUB 3440:REM ERASE PINK
3240 COLOR= 13:PLOT 21,18:COLOR= 12:PLOT 21,17:GOSUB 3440:REM FRUIT BEGINS
3250 HLIN 20,22 AT 18:HLIN 20,22 AT 19:PLOT 21,20:GOSUB 3440
3255 IF PEEK (-16384)=155 THEN 3430
3260 HLIN 20,22 AT 17:HLIN 19,23 AT 18:HLIN 18,24 AT 19:HLIN 18,24 AT 20:HLIN 19,23 AT 21:HLIN 20,22 AT 22:GOSUB 3440
3270 HLIN 19,23 AT 18:FOR I=19 TO 22:HLIN 18,24 AT I:NEXT I:HLIN 19,23 AT 23:HLIN 20,22 AT 24
3280 GOSUB 3440
3285 IF PEEK (-16384)=155 THEN 3430
3290 REM DRAW APPLE LOGO
3300 GOSUB 100
3310 X=15:FOR Y=15 TO 18:COLOR= 8:VLIN 15,Y+3 AT 21:GOSUB 1500: POKE -16300,0:GOSUB 200
3320 FOR K=1 TO TIME*(Y-10):NEXT K:GOSUB 100
3330 COLOR= 6:IF Y<>18 THEN GOSUB 1600:COLOR= 12:PLOT 18,15
3335 IF PEEK (-16384)=155 THEN 3430
3340 NEXT Y
3350 REM STEM BREAKS
3360 COLOR= 6:VLIN 17,20 AT 21
3370 GOSUB 1600:Y=20:GOSUB 1500:GOSUB 100
3372 FOR K=1 TO 6: POKE 6, RND (50)+50: POKE 7,4:CALL 768:NEXT K
3375 GOSUB 2400
3380 FOR K=1 TO TIME*2:IF PEEK (-16384)=155 THEN 3430:NEXT K
3390 VTAB 22:TAB 7:D1$="PRESENTS...":GOSUB 2700
3395 FOR K=1 TO TIME*5:NEXT K:GOSUB 2600: POKE -16300,0
3400 FOR K=1 TO TIME*10:NEXT K
3410 GOSUB 9005:VTAB 22:TAB 29- LEN(D1$)/2-6*( LEN(D1$)>20):PRINT D1$
3411 FOR K=1 TO 10: POKE 6, RND (50)+50: POKE 7,K/2+3:CALL 768:NEXT K
3415 FOR K=1 TO 1800:IF PEEK (-16384)<>155 THEN NEXT K: POKE -16368,0
3418 POKE 74,0: POKE 75,8: POKE 204, PEEK (74): POKE 205, PEEK (75):REM AUTO-LOMEM:2048 TO RESTORE NORMAL LOMEM:
3420 VTAB 22:PRINT :TAB 7:PRINT "RUN INDEX":VTAB 23:TAB 7:PRINT " ":VTAB 23:END :REM "RUN INDEX" HAS A CNTRL D FOR THE DISK
3425 POP :REM "ESC" ADDRESS FROM SUBROUTINES
3430 POKE -16368,0:TEXT :CALL -936: POKE -16300,0:GOTO 3418:REM "ESC" KEY HAS BEEN PRESSED
3440 GOSUB 200:FOR K=1 TO 100+M*10+(100):NEXT K:M=M+1:RETURN
4000 REM LEAVES DATA
4010 A(1)=4:B(1)=0:A(2)=7:B(2)=3:A(3)=10:B(3)=1:A(4)=15:B(4)=0:A(5)=11:B(5)=3:A(6)=7:B(6)=6
4020 A(7)=4:B(7)=5:A(8)=2:B(8)=8:A(9)=4:B(9)=16:A(10)=4:B(10)=18:A(11)=10:B(11)=10
4030 A(12)=11:B(12)=13:A(13)=12:B(13)=6:A(14)=15:B(14)=6:A(15)=15:B(15)=10:A(16)=18:B(16)=5
4040 A(17)=20:B(17)=3:A(18)=24:B(18)=2:A(19)=26:B(19)=0:A(20)=29:B(20)=2:A(21)=27:B(21)=4
4050 A(22)=25:B(22)=7:A(23)=26:B(23)=8:A(24)=30:B(24)=6:A(25)=29:B(25)=10:A(26)=23:B(26)=7
4060 A(27)=21:B(27)=7:A(28)=18:B(28)=7:A(29)=18:B(29)=9:A(30)=16:B(30)=12:A(31)=18:B(31)=15
4070 A(32)=20:B(32)=11:A(33)=22:B(33)=13
4080 RETURN
4090 REM TREE
4100 PRINT "IHYHYYYYYYYIIXXYYYYYYYYYYYYIHX"
4110 PRINT "HYYHYHXXXXXXYYYYYYYYYYYIIIHX"
4120 PRINT "YYYHXXYYYYYYYYYYYYYYIHXXH"
4130 PRINT "IHXXYYYYHIIIYYYYIHXXXYYYXXXHHI"
4140 PRINT "HJYYYYYYYYYHYIHXHIYYYYYYYYYYYYH"
4150 PRINT "HXYYYYYYYYYHHYYYYHI"
4160 PRINT "HYYYYYYYIHXXYYYYYYXH"
4170 PRINT "HIYYYYYHXYYYYYYYYYYXXH"
4180 PRINT "HHYYYIHXYYYYYYYYYYYYYX"
4190 PRINT "HHYIHX"
4200 PRINT "HJHHH"
4210 PRINT "HHHH"
4220 PRINT "HHJ"
4230 PRINT "HHH"
4240 FOR K=1 TO 5:PRINT "HH":NEXT K
4250 PRINT "HJ"
4260 PRINT "JH"
4270 PRINT "HH"
4280 PRINT "J,"
4290 PRINT "HH";
4300 RETURN
6000 REM ** COLOR CHANGE ROUNTINES **
6010 REM SELECT COLOR TO BE CHANGED:
6020 REM COLOR=
6030 REM CALL 3072
6040 REM CHANGE OLD COLOR TO NEW:
6050 REM COLOR=
6060 REM CALL 3075
6070 REM THE COLOR CHANGE ROUTINE
6080 REM LIES FROM $C00 TO $C7A
6090 REM COLOR CHANGE COPYRIGHT 1978 BRUCE TOGNAZZINI, 1979 APPLE COMPUTER INC.
6095 REM THIS PROGRAM MAY NOT BE USED IN ANY COMMERCIAL PROGRAM WITHOUT PERMISSION OF THE AUTHOR.
6099 REM
6100 POKE 3072,76: POKE 3073,108: POKE 3074,12: POKE 3075,165: POKE 3076,48: POKE 3077,41: POKE 3078,15: POKE 3079,141: POKE 3080,160: POKE 3081,12
6110 POKE 3082,165: POKE 3083,48: POKE 3084,41: POKE 3085,240: POKE 3086,141: POKE 3087,161: POKE 3088,12: POKE 3089,165: POKE 3090,36: POKE 3091,141
6120 POKE 3092,162: POKE 3093,12: POKE 3094,165: POKE 3095,37: POKE 3096,141: POKE 3097,163: POKE 3098,12: POKE 3099,169: POKE 3100,0: POKE 3101,133
6130 POKE 3102,36: POKE 3103,133: POKE 3104,37: POKE 3105,72: POKE 3106,32: POKE 3107,193: POKE 3108,251: POKE 3109,133: POKE 3110,40: POKE 3111,164
6140 POKE 3112,36: POKE 3113,177: POKE 3114,40: POKE 3115,41: POKE 3116,15: POKE 3117,205: POKE 3118,164: POKE 3119,12: POKE 3120,208: POKE 3121,10
6150 POKE 3122,177: POKE 3123,40: POKE 3124,41: POKE 3125,240: POKE 3126,24: POKE 3127,109: POKE 3128,160: POKE 3129,12: POKE 3130,145: POKE 3131,40
6160 POKE 3132,177: POKE 3133,40: POKE 3134,41: POKE 3135,240: POKE 3136,205: POKE 3137,165: POKE 3138,12: POKE 3139,208: POKE 3140,10: POKE 3141,177
6170 POKE 3142,40: POKE 3143,41: POKE 3144,15: POKE 3145,24: POKE 3146,109: POKE 3147,161: POKE 3148,12: POKE 3149,145: POKE 3150,40: POKE 3151,200
6180 POKE 3152,192: POKE 3153,40: POKE 3154,144: POKE 3155,213: POKE 3156,160: POKE 3157,0: POKE 3158,104: POKE 3159,105: POKE 3160,0: POKE 3161,197
6190 POKE 3162,34: POKE 3163,144: POKE 3164,196: POKE 3165,32: POKE 3166,193: POKE 3167,251: POKE 3168,133: POKE 3169,40: POKE 3170,173: POKE 3171,162
6200 POKE 3172,12: POKE 3173,133: POKE 3174,36: POKE 3175,173: POKE 3176,163: POKE 3177,12: POKE 3178,133: POKE 3179,37: POKE 3180,165: POKE 3181,48
6210 POKE 3182,41: POKE 3183,15: POKE 3184,141: POKE 3185,164: POKE 3186,12: POKE 3187,165: POKE 3188,48: POKE 3189,41: POKE 3190,240: POKE 3191,141
6220 POKE 3192,165: POKE 3193,12: POKE 3194,96
7000 REM ** MUSIC POKES **
7005 POKE 768,76: POKE 769,6: POKE 770,3: POKE 771,76: POKE 772,33: POKE 773,3: POKE 774,142: POKE 775,88: POKE 776,3: POKE 777,164
7010 POKE 778,0: POKE 779,173: POKE 780,48: POKE 781,192: POKE 782,136: POKE 783,208: POKE 784,4: POKE 785,198: POKE 786,7: POKE 787,240
7015 POKE 788,8: POKE 789,202: POKE 790,208: POKE 791,246: POKE 792,166: POKE 793,6: POKE 794,76: POKE 795,11: POKE 796,3: POKE 797,174
7020 POKE 798,88: POKE 799,3: POKE 800,96: POKE 801,142: POKE 802,91: POKE 803,3: POKE 804,164: POKE 805,8: POKE 806,140: POKE 807,89
7025 POKE 808,3: POKE 809,164: POKE 810,9: POKE 811,140: POKE 812,90: POKE 813,3: POKE 814,164: POKE 815,6: POKE 816,132: POKE 817,8
7030 POKE 818,164: POKE 819,7: POKE 820,132: POKE 821,9: POKE 822,164: POKE 823,0: POKE 824,140: POKE 825,88: POKE 826,3: POKE 827,165
7035 POKE 828,8: POKE 829,133: POKE 830,6: POKE 831,165: POKE 832,9: POKE 833,133: POKE 834,7: POKE 835,32: POKE 836,11: POKE 837,3
7040 POKE 838,198: POKE 839,8: POKE 840,208: POKE 841,241: POKE 842,172: POKE 843,89: POKE 844,3: POKE 845,132: POKE 846,8: POKE 847,172
7045 POKE 848,90: POKE 849,3: POKE 850,132: POKE 851,9: POKE 852,174: POKE 853,91: POKE 854,3: POKE 855,96
7089 RETURN
7100 REM SOUND
7110 REM SOUND: $300.357
7120 REM FOR ALL TONES:
7130 REM POKE 6, PITCH
7140 REM POKE 7, DURATION
7150 REM
7160 REM FOR STANDARD TONES:
7170 REM CALL 768
7180 REM
7190 REM FOR SWEEP TONES:
7200 REM CALL 771
7999 REM
8000 REM ==========================
8001 REM = =
8002 REM = THE ANIMATED APPLE =
8003 REM = =
8010 REM = BY BRUCE TOGNAZZINI =
8020 REM = =
8030 REM = COPYRIGHT 1979 =
8040 REM = BY APPLE COMPUTER INC =
8050 REM = COLOR CHANGE COPYRIGHT =
8060 REM =1978 BY BRUCE TOGNAZZINI=
8070 REM = =
8080 REM ==========================
8090 REM
9000 REM *** INSERT DISK TITLE ***
9005 D1$="THE SHELL GAMES"
9009 RETURN
Text found in 132a_The_Shell_Games.dsk/THE MATCH MACHINE.int:
1 GOTO 10
2 GOTO 5000
10 TEXT :CALL -936:GOTO 3000
20 REM *** SUBROUTINES ***
200 REM *** REMOVE LEADING SPACES ***
210 IF LEN(AN$)=0 THEN RETURN :FOR J=1 TO LEN(AN$):IF ASC(AN$(J))<>160 THEN 220:NEXT J:AN$="":RETURN
220 AN$=AN$(J, LEN(AN$)):RETURN
300 REM *** DIMENSION ARRAY ***
311 REM DECLARE:
312 REM 1) DIMENSION OF EACH STRING
313 REM MAX. 255 CHARACTERS
314 REM 2) NUMBER OF STRINGS IN EA.
315 REM DIMENSION LESS 1. MAX. 35
320 DIM=30:ELEMENTS1=14:ELEMENTS2=1
340 DIM A$(DIM):FOR A=0 TO ELEMENTS1:A1=A+176+7*(A>9):FOR AA=0 TO ELEMENTS2:A2=AA+176+7*(AA>9)
350 LC1= PEEK (224):LC2= PEEK (225)-(LC1>244): POKE 127+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A1
360 POKE 128+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A2:DIM AE1$(DIM)
380 NEXT AA:NEXT A:RETURN
399 REM
400 REM *** MAKE ARRAY $ = A$ ***
420 A1=A+176+7*(A>9):A2=AA+176+7*(AA>9)
430 LC1= PEEK (224):LC2= PEEK (225)-(LC1>244): POKE 126+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A1
440 POKE 127+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A2:AD1$=A$
450 RETURN
499 REM
500 REM *** MAKE A$ = ARRAY $ ***
520 A1=A+176+7*(A>9):A2=AA+176+7*(AA>9)
530 LC1= PEEK (224):LC2= PEEK (225)-(LC1>244): POKE 129+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A1
540 POKE 130+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,A2:A$=AB1$
550 RETURN
600 REM *** SINGLE DIMENTION STRING ARRAY ***
610 LC1= PEEK (224):LC2= PEEK (225)-(LC1>244): POKE 77+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,CHR:D$=D5$:RETURN
660 REM ^IF >32767 ERR IS ENCOUNTERED IN ONE OF THE POKE LINES,
670 REM ENTER REM STATEMENTS HERE CONTAINING A COUPLE HUNDRED CHARACTERS
680 REM TO FORCE THE POKE LINES DOWN IN MEMORY
1230 FOR CHR=177 TO 181
1235 IF CHR<>177 OR OLDI< LEN(D1$) THEN 1240:CHR=178:OLDI=1
1240 GOSUB 600
1250 REM ^SELECT DATA$
1260 IF LEN(D$)<2 THEN 1440
1265 IF D$(1,1)="," THEN D$=D$(2)
1270 FOR I=OLDI TO LEN(D$):REM SCAN EACH DATA$ FROM BEGINNING TO END, BUT DO NOT INCLUDE CATEGORY NAME
1300 IF D$(I,I)#"&" THEN 1380
1310 A$=D$(OLDI,I-1):OLDI=I+1:AA=0:GOSUB 400:REM PUT LEFT COLUMN ANSWER IN ARRAY
1340 IF A<>0 THEN 1365:TEXT :CALL -936
1350 IF NOT EDITFLAG THEN PRINT "*********** THE MATCH MACHINE **********"
1355 IF NOT EDITFLAG THEN 1360: POKE 50,63:PRINT "PRESS THE KEY TO RETURN TO EDITOR ": POKE 50,255
1360 PRINT A$:PRINT :PRINT :REM PRINT-OUT LEFT HAND COLUMN LABEL
1362 FOR R=1 TO 3: POKE 6, RND (30)+50: POKE 7,6:CALL 768
1363 NEXT R
1364 GOTO 1430
1365 PRINT A-1;"- ";A$:LWRDS=A: POKE 6,50+ PEEK (37) MOD 2*50: POKE 7,10:CALL 768
1370 GOTO 1430
1380 IF D$(I,I)#"," AND I< LEN(D$) THEN 1430
1390 A$=D$(OLDI,I-(I< LEN(D$))):OLDI=I+1:AA=1:GOSUB 400:REM PUT RIGHT COLUMN ANSWER IN ARRAY
1400 A=A+1:IF A>14 THEN 1450:REM MAXIMUM RIGHT COLUMN WORDS IS 14
1430 NEXT I
1440 OLDI=1:NEXT CHR
1450 REM STRING ARRAY NOW CONTAINS LEFT WORDS IN AA=0 AND RIGHT WORDS IN AA=1
1455 A=A-1:RWRDS=A:REM NUMBER OF RIGHT-COLUMN WORDS = RWRDS
1460 REM *** END OF DATA PARSING ***
1470 REM
1480 REM * MIX SECOND COLUMN WORDS *
1485 VTAB 3:TAB 20:A=0:AA=1:GOSUB 500:PRINT A$
1490 FOR I=1 TO 14:MIX(I)=0:MIXPNTR(I)=0:LFPNTR(I)=I:NEXT I
1500 REM FILL "MIX" ARRAY WITH THE INTEGER SERIES 0 THROUGH IN RANDOM ORDER
1520 FOR J=1 TO RWRDS
1530 VTAB 10:TAB 22:PRINT "<< SHUFFLING >>":R= RND (RWRDS)+1:IF MIXPNTR(R)<>1 THEN 1532
1531 VTAB 10:TAB 20:CALL -868: POKE 7,10: POKE 6,225:CALL 768:GOTO 1530
1532 MIXPNTR(R)=1
1535 POKE 7,3: POKE 6,J*10:CALL 768
1536 POKE 7,3: POKE 6,R*10:CALL 768
1540 MIX(J)=R:NEXT J
1545 VTAB 10:TAB 20:CALL -868
1550 REM PRINT-OUT RIGHT ARRAY
1560 VTAB 6:AA=1:REM PRINT-OUT RIGHT HAND COLUMN
1570 FOR I=1 TO RWRDS:A=MIX(I):GOSUB 500:REM MAKE A$ = A1$
1579 VTB= PEEK (37)
1580 TAB 20:PRINT CHR$(I,I);"- ";A$;
1581 IF PEEK (37)=VTB THEN PRINT :REM IF ANSWER IS 18 SPACES LONG, SCROLLING WILL HAVE TAKEN PLACE, IF NOT THEN SCROLL
1585 IF PEEK (-16384)=155 THEN 3300
1586 POKE 6,100- PEEK (37)*2: POKE 7,4:CALL 768
1590 NEXT I
1600 REM * END OF INITIAL PRINT-OUT *
1610 REM
1620 REM *** USER GUESSES MATCH ***
1630 PNTR=1:REM POINTER WILL KEEP TRACK OF HOW MANY GUESSES HAVE BEEN MADE CORRECTLY
1635 VTAB 21:GOSUB 1640:GOTO 1690
1640 VTAB 21:TAB 1:PRINT "TRY TO GUESS A MATCH!";:CALL -868:PRINT
1650 PRINT "PLEASE ENTER A NUMBER FROM ";PNTR-1;" TO ";LWRDS-1
1660 PRINT "AND A LETTER FROM ";CHR$(PNTR,PNTR);" TO ";CHR$(RWRDS,RWRDS);" AND PRESS"
1670 PRINT "THE "RETURN" KEY";
1680 TB= PEEK (36)+1
1685 RETURN
1690 REM *** KEYBOARD RE-ENTRY POINT ***
1695 VTAB 24:TAB TB:FOR I=0 TO 3:CHAR(I)=160:NEXT I:NUMBERFLAG=0:ALPHAFLAG=0:LMT=0
1700 VTAB 24:FOR I=0 TO LMT:TAB TB+I
1710 POKE PEEK (40)+ PEEK (41)*256+ PEEK (36),CHAR(I)
1720 NEXT I
1730 POKE PEEK (40)+ PEEK (41)*256+ PEEK (36)+1,96:REM POKE FLASHING CURSOR INTO CURRENT POSITION
1740 TAB PEEK (36)+3:CALL -958
1750 P= PEEK (-16384):IF P<128 THEN 1750: POKE -16368,0:REM LOOK FOR KEYBOARD INPUT
1752 TAB 1
1753 IF EDITFLAG AND P=155 THEN 5000
1755 IF P<>155 THEN 1760:VTAB 21:CALL -958:PRINT :PRINT "PRESS THE "ESC" KEY TO RETURN TO MENU"
1756 PRINT "OR THE SPACE BAR TO CONTINUE...";:TB= PEEK (36):VTAB 21:TAB 1:CALL 885
1757 VTAB 23: POKE 36,TB: POKE PEEK (40)+ PEEK (41)*256+ PEEK (36),96:REM CURSUR
1758 P= PEEK (-16384):IF P<>155 AND P<>160 THEN 1758: POKE -16368,0:PRINT :IF P=155 THEN 3070
1759 VTAB 21:TAB 1:CALL -958:GOSUB 1640:GOTO 1700
1760 IF P=141 AND ALPHAFLAG AND NUMBERFLAG THEN 2040:REM CARRIAGE RETURN
1770 IF P>174+PNTR AND P<176+LWRDS THEN 1990:REM NUMBER INPUT
1780 IF P>191+PNTR AND P<193+RWRDS THEN 1940:REM ALPHA INPUT
1800 IF P=136 THEN 1870
1810 IF P<>149 OR LMT=2 THEN 1750
1820 REM *** ADVANCE ARROW ***
1830 P=CHAR(LMT+1)
1840 IF P>174+PNTR AND P<176+LWRDS AND NOT NUMBERFLAG THEN 1990
1850 IF P>191+PNTR AND P<193+RWRDS AND NOT ALPHAFLAG THEN 1940
1860 GOTO 1750
1870 REM ** HANDLE BACKSPACES **
1880 IF LMT=0 THEN 1700:I=CHAR(LMT)
1890 IF ALPHAFLAG=LMT THEN 1910:NUMBERFLAG=0
1900 A=LFPNTR(I-175):AA=0:GOSUB 500:VTAB 5+I-175:TAB 1:PRINT I-176;"- ";A$:GOTO 1930
1910 ALPHAFLAG=0
1920 A=MIX(I-192):AA=1:GOSUB 500:VTAB 5+I-192:TAB 20:PRINT CHR$(I-192,I-192);"- ";A$
1930 LMT=LMT-1:GOTO 1700
1940 REM ALPHA INPUT
1945 POKE 6,50: POKE 7,7:CALL 768
1950 IF ALPHAFLAG THEN 1960:LMT=LMT+1:ALPHAFLAG=LMT:GOTO 1970
1960 I=CHAR(ALPHAFLAG)-192:A=MIX(I):AA=1:GOSUB 500:VTAB 5+I:TAB 20:PRINT CHR$(I,I);"- ";A$
1970 A=MIX(P-192):CHAR(ALPHAFLAG)=P:AA=1:GOSUB 500:VTAB 5+P-192:TAB 20: POKE 50,63:PRINT CHR$(P-192,P-192);"- ";A$: POKE 50,255
1980 GOTO 1700
1990 REM NUMBER INPUT
1995 POKE 6,100: POKE 7,6:CALL 768
2000 IF NUMBERFLAG THEN 2010:LMT=LMT+1:NUMBERFLAG=LMT:GOTO 2020
2010 I=CHAR(NUMBERFLAG)-175:A=LFPNTR(I):AA=0:GOSUB 500:VTAB 5+I:TAB 1:PRINT I-1;"- ";A$
2020 A=LFPNTR(P-175):CHAR(NUMBERFLAG)=P:AA=0:GOSUB 500:VTAB 5+P-175:TAB 1: POKE 50,63:PRINT P-176;"- ";A$: POKE 50,255
2030 GOTO 1700
2040 REM **** TEST ANSWER ****
2045 TAB TB+3: POKE PEEK (40)+ PEEK (41)*256+ PEEK (36),160
2050 TRIES=TRIES+1
2055 NG=CHAR(NUMBERFLAG)-175:AG=CHAR(ALPHAFLAG)-192:REM ESTABLISH THE NUMBER AND LETTER GUESSED
2060 A=LFPNTR(NG):AA=0:GOSUB 500:D1$=A$:A=MIX(AG):AA=1:GOSUB 500:D2$=A$
2070 A=LFPNTR(NG):AA=1:GOSUB 500:IF A$=D2$ THEN 2230:REM CORRECT GUESS
2080 A=MIX(AG):AA=0:GOSUB 500:IF A$=D1$ THEN 2230:REM CORRECT GUESS
2110 FOR I=1 TO 10
2120 P= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)
2130 NEXT I
2140 VTAB 21:TAB 1: POKE 50,63:PRINT "<< SORRY, THAT'S NOT CORRECT >>": POKE 50,255: POKE -16368,0
2150 VTAB 24:TAB TB:CALL -868
2160 POKE PEEK (40)+ PEEK (41)*256+ PEEK (36)+1,96:REM POKE FLASHING CURSOR INTO CURRENT POSITION
2190 IF PEEK (-16384)<128 THEN 2190
2195 VTAB 21:TAB 1:CALL -868
2200 VTAB 5+NG:TAB 1:PRINT NG-1;"- ";D1$
2210 VTAB 5+AG:TAB 20:PRINT CHR$(AG,AG);"- ";D2$
2220 GOTO 1695
2230 REM *** CORRECT ANSWER ***
2235 FOR K=0 TO 9:IF LESSFLASHFLAG THEN 2237: POKE -16304+K MOD 2,0:CALL 910
2237 POKE 6,50+ RND (50-K*5): POKE 7,20:CALL 768
2240 NEXT K
2245 POKE 6,20: POKE 7,3:CALL 771
2250 I=LFPNTR(PNTR):LFPNTR(PNTR)=LFPNTR(NG):LFPNTR(NG)=I:REM SWITCH NUMBER - LEFT HAND ANSWERS
2260 I=MIX(PNTR):MIX(PNTR)=MIX(AG):MIX(AG)=I:REM SWITCH ALPHA - RIGHT HAND ANSWERS
2270 VTAB 5+PNTR:TAB 1:CALL -868:REM ERASE TOP OF CURRENT STACK POSITION
2280 VTAB PEEK (37):PRINT " ";D1$;" ";
2290 FOR I= PEEK (36)+1 TO 19:PRINT "-";:NEXT I:PRINT " ";
2300 PRINT D2$
2310 REM ^PRINT-OUT CORRECT MATCH
2320 IF NG=PNTR THEN 2370
2330 A=LFPNTR(NG):AA=0:GOSUB 500
2340 D3$=" "
2350 VTAB 5+NG:PRINT D3$;:TAB 1
2360 PRINT NG-1;"- ";A$
2370 REM ^PRINT REPLACEMENT NUMBER GUESS
2380 IF AG=PNTR THEN 2430
2390 A=MIX(AG):AA=1:GOSUB 500
2400 VTAB 5+AG:TAB 20:CALL -868
2410 REM ^ERASE OLD ALPHA GUESS
2420 PRINT CHR$(AG,AG);"- ";A$
2430 REM ^PRINT-OUT REPLACEMENT ALPHA GUESS
2440 REM
2460 VTAB 21:TAB 1:PRINT "==******** A PERFECT MATCH ********=="
2490 PNTR=PNTR+1:IF PNTR<=LWRDS THEN 2680
2499 VTAB 22:CALL -958:VTAB 23:PRINT "YOU GOT ";
2500 PRINT "ALL ";LWRDS;" RIGHT IN ";TRIES;" TRIES!"
2510 TRIES=0:IF LESSFLASHFLAG THEN 2530
2511 FOR I=6+LWRDS TO 20:VTAB I:CALL -868:NEXT I
2512 FOR K=0 TO 19: POKE -16304+K MOD 2,0:CALL 910
2513 POKE 6,50+ RND (100-K*5): POKE 7,10:CALL 768
2514 NEXT K
2515 FOR K=0 TO 9: POKE -16304+K MOD 2,0:CALL 910
2516 POKE 6,50-K*2: POKE 7,7:CALL 768
2517 NEXT K
2520 FOR I=6+LWRDS TO 20:VTAB I:CALL -868:NEXT I
2525 CALL 910
2526 POKE 6,100: POKE 7,3:CALL 771
2527 POKE 6,15: POKE 7,3:CALL 771
2528 POKE 6,10: POKE 7,2:CALL 771
2529 GOTO 2630
2530 FOR K=0 TO 9: POKE -16304+K MOD 2,0:CALL 910
2540 POKE 6,50+ RND (100-K*5): POKE 7,10:CALL 768
2545 POKE 6,50+ RND (100-K*5): POKE 7,10:CALL 768
2550 NEXT K
2560 FOR K=0 TO 5: POKE -16304+K MOD 2,0:CALL 910
2570 POKE 6,50-K*2: POKE 7,7:CALL 768
2575 POKE 6,50-K*2: POKE 7,7:CALL 768
2580 NEXT K
2590 CALL 910
2600 POKE 6,100: POKE 7,3:CALL 771
2610 POKE 6,15: POKE 7,3:CALL 771
2620 POKE 6,10: POKE 7,2:CALL 771
2630 POKE -16368,0:VTAB 24: POKE 50,63
2640 PRINT "PRESS THE SPACE BAR TO RETURN TO MENU";
2650 TAB 1
2660 POKE 50,255
2670 IF PEEK (-16384)<>160 AND PEEK (-16384)<>155 THEN 2670: POKE -16368,0
2675 IF EDITFLAG AND PEEK (-16384)=27 THEN 5000:GOTO 3070
2680 REM *ANSWER RIGHT - MORE TO GO*
2690 GOSUB 1640
2700 VTAB 24:TAB TB:CALL -868
2710 POKE PEEK (40)+ PEEK (41)*256+ PEEK (36)+1,96:REM POKE FLASHING CURSOR INTO CURRENT POSITION
2720 IF PEEK (-16384)<128 THEN 2720:VTAB 21:TAB 1:CALL -868
2730 GOTO 1695
3000 REM ***BEGIN MAIN PROGRAM****
3003 GOSUB 6001
3005 GOSUB 7000:REM INIT SOUND
3006 POKE -16298,0
3010 I=0:A=0:AA=0:LC2=0:LC1=0:A1=0:A2=0:J=0
3020 DIM D$(130),MIX(15),MIXPNTR(15),LFPNTR(15),CHAR(3),CHR$(26)
3030 CHR$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
3040 IF EDITFLAG THEN 3063
3052 TEXT :CALL -936:VTAB 10:TAB 5
3054 PRINT "****** THE MATCH MACHINE *****"
3056 VTAB 14:TAB 10
3058 PRINT "BY BRUCE TOGNAZZINI"
3060 VTAB 16:PRINT " COPYRIGHT 1979 APPLE COMPUTER INC"
3061 FOR K=1 TO 15: POKE 6, RND (100)+50: POKE 7, RND (4)+5:CALL 768
3062 NEXT K
3063 VTAB 10:TAB 7:IF EDITFLAG THEN PRINT "<<< ONE MOMENT, PLEASE >>>":GOSUB 300:VTAB 21:TAB 1
3064 DIM AN$(80),F$(20),D1$(130),D2$(130),D3$(130),D4$(130),D5$(130),CLASS$(50)
3065 IF NOT EDITFLAG THEN 3067:CLASS= PEEK (973):GOTO 3160
3066 YES=1:NO=0:GOSUB 9000
3067 GOSUB 8000
3070 FOR I=1 TO 10: POKE 7,I: POKE 6, RND ((11-I)*10)+70:CALL 768:NEXT I
3071 POKE -16368,0:CALL -936:PRINT "PLEASE SELECT A CATEGORY:":I=5:PRINT
3072 PRINT " 0 "
3080 D1$="":GOSUB 9005+I:IF LEN(D1$)=0 THEN 3096:FOR J=1 TO LEN(D1$):IF D1$(J,J)#"," THEN NEXT J
3085 POKE 6,100- PEEK (37)*3: POKE 7,10:CALL 768
3086 POKE 6, RND (100)+100: POKE 7,4:CALL 768
3087 POKE 6, PEEK (37)*3: POKE 7,6:CALL 768
3088 IF PEEK (-16384)=176 THEN 31111:REM END
3090 PRINT " ";:IF I<50 THEN PRINT " ";:PRINT I/5;" ";D1$(1,J-1);:PRINT :I=I+5:GOTO 3080
3096 FOR K=1 TO 10: POKE 6,10+ RND (100): POKE 7,3+ RND (5):CALL 768
3097 NEXT K
3100 VTAB 22:PRINT "PLEASE ENTER A NUMBER BETWEEN 1 AND ";I/5-1:PRINT "AND PRESS THE "RETURN" KEY ";:CALL -958:INPUT AN$
3110 CLASS=0:GOSUB 200:IF LEN(AN$)=0 THEN 3100
3120 FOR J=1 TO LEN(AN$):K= ASC(AN$(J,J))-176:IF K<0 OR K>9 THEN 3140
3130 IF CLASS>3276 OR CLASS=3276 AND K>7 THEN 3100:CLASS=CLASS*10+K
3140 NEXT J
3150 IF CLASS<0 OR CLASS>I/5-1 THEN 3100
3155 IF CLASS<>0 THEN 3156:GOTO 31111:REM END OF GAME
3156 POKE 973,CLASS
3157 FOR K=1 TO 20: POKE 6,50+K MOD 2*50: POKE 7,4:CALL 768
3158 NEXT K: POKE 6,40: POKE 7,2:CALL 771
3160 CALL -936:D2$="":D3$="":D4$="":D5$="":REM SET D STRINGS TO NULL
3170 GOSUB 9005+CLASS*5:REM FILL D-STRINGS
3180 A=0:REM INITIALIZE ARRAY POINTER
3190 FOR K=1 TO LEN(D1$):IF D1$(K,K)#"," THEN NEXT K:K=K-1:CLASS$=D1$(1,K)
3200 REM ISOLATE CATEGORY NAME
3210 OLDI=2+ LEN(CLASS$)
3220 REM OLDI IS USED TO KEEP TRACK OF THE BEGINNING OF EACH PAIR OF WORDS IN D$
3230 GOTO 1230:REM BEGINNING OF PROGRAM IS UP HERE TO MAKE DATA STRING PARSER RUN FASTER
3300 IF NOT EDITFLAG THEN 3070:GOTO 5000
4000 REM *** LIST A PROBLEM ***
4010 Q$="""
4025 I=9005+ PEEK (973)*5:IEND=I+4
4030 TEXT :CALL -936: POKE 33,33: POKE 34,1:VTAB 2:TAB 1:PRINT " ";
4040 FOR I=9005+ PEEK (973)*5 TO I+4:VTB= PEEK (37)
4045 GOTO 4050
4046 POS=1:CMD=116:GOSUB 4047:END
4047 LC1= PEEK (224):LC2= PEEK (225)-(LC1>244): POKE 81+POS+LC1-256*(LC2>127)+(LC2-255*(LC2>127))*256,CMD:RETURN
4050 LIST I
4051 REM ABOVE LINE WAS EMPLACED WITH 'THE ILLEGAL STATEMENT WRITER', DESCRIBED IN 'USER CONTRIBUTED SOFTWARE, VOL'S 3,4, & 5'
4055 IF PEEK (37)-VTB>3 THEN 4062:FOR J= PEEK (37)-VTB TO 3:PRINT :NEXT J
4062 NEXT I
4063 FOR J=5 TO 17 STEP 4:VTAB J:TAB 31: POKE 50,63:PRINT " ": POKE 50,255:NEXT J
4065 VTAB 24: POKE 50,63:PRINT " FOR EDIT, TO MENU";: POKE 50,255
4066 P= PEEK (-16384):IF P<>141 AND P<>155 THEN 4066: POKE -16368,0:IF P=141 THEN 2
4068 POKE 33,39:VTAB 23:TAB 2: POKE 50,63:PRINT "LAST STATEMENT MUST BE ";Q$;"RETURN";Q$;" "
4069 POKE 50,255:PRINT " RUN 2 ";: POKE 50,63:PRINT "<==COPY TO RETURN TO MENU";: POKE 33,33
4070 VTAB 1:TAB 1: POKE 50,63:PRINT "TYPE 'RUN 2' TO RETURN TO EDITOR ": POKE 50,255:VTAB 1:END
4300 REM *** NEW PROBLEM ENTRY ***
4310 CALL -936:VTAB 2:PRINT "==== FINDING LINES FOR NEW PROBLEM ====":PRINT
4320 NEWPROBLEMFLAG=1:GOSUB 4410:VTAB 7:CALL -958
4325 IF I=9010 THEN 4332
4330 GOSUB I-5:IF LEN(D1$)=0 THEN I=I-5
4332 VTAB 7:LIST I+5:IF PEEK (37)<>6 THEN 4340
4335 GOSUB 4573:PRINT " ";I+5;" RETURN ";:GOSUB 4590:PRINT " GOTO 4340 ";:GOSUB 4590:VTAB PEEK (37)-2:END
4340 CALL -936:Q$=""":FOR J=0 TO 4:VTAB J*4+2
4350 PRINT " ";I+J;" D";J+1;"$=";Q$:PRINT :PRINT
4352 IF J=4 THEN 4355:TAB 30:PRINT Q$;: POKE 50,63:PRINT " ": POKE 50,255:GOTO 4360
4355 TAB 25:PRINT Q$;": RETURN"
4360 NEXT J: POKE 973,(I-9005)/5:GOTO 4065
4400 REM ** VERIFY DATA TBL FORMAT **
4402 CALL -936:VTAB 2
4404 PRINT "<<<<< VERIFYING DATA TABLE FORMAT >>>>>"
4410 I=9010:DIM D0$(120),D1$(120),D2$(120),D3$(120),D4$(120),D5$(120)
4415 VTAB 7:CALL -958
4420 FOR I=I TO 9765 STEP 5-RENUMBER
4425 IF PEEK (-16384)=155 THEN 5000
4430 VTAB 7
4450 LIST I
4470 IF PEEK (37)=6 THEN 4482:REM NOTHING FOUND
4475 IF I MOD 5 THEN 4480:D1$="":GOSUB I:TERMINALFLAG=NOT LEN(D1$):IF TERMINALFLAG THEN 4482
4476 IF D1$#D0$ THEN 4479:CALL -936:VTAB 10:PRINT "PROBLEM #";(I-9005)/5;" DOES NOT HAVE "RETURN"":PRINT "AS IT'S LAST STATEMENT."
4477 PRINT "PLEASE CORRECT AND THEN RE-VERIFY.":PRINT :PRINT "PRESS TO CONTINUE...": POKE -16368,0: POKE 973,(I-9010)/5
4478 IF PEEK (-16384)<>160 THEN 4478: POKE -16368,0:GOTO 4000
4479 D0$=D1$
4480 NEXT I
4482 IF NEWPROBLEMFLAG THEN RETURN
4485 VTAB 7:CALL -958:IF TERMINALFLAG THEN 4489:IF I MOD 5 THEN 4530:GOTO 4550
4486 VTAB 7:CALL -958:GOTO 4489
4489 LIST I
4490 VTAB 17:IF RENUMBER THEN PRINT "ALL LINE NUMBERS HAVE BEEN USED, AND"
4492 PRINT "THE DATA TABLE TERMINATOR IS IN PLACE.":IF RENUMBER THEN PRINT "YOU MAY RENUMBER WITHOUT HAZARD."
4494 PRINT :PRINT "DATA TABLE FORMAT VERIFIED O.K.":PRINT :PRINT "PRESS TO RETURN TO MENU": POKE -16368,0
4496 IF PEEK (-16384)<>141 THEN 4496: POKE -16368,0:GOTO 5000
4530 GOSUB 4570:PRINT " ";I;" REM ";:GOSUB 4580:I=I-I MOD 5:VTAB 21:D0$="":END
4550 GOSUB 4570:PRINT " ";I;" RETURN ";:GOSUB 4580:I=I-5:VTAB 21:END
4570 VTAB 17:CALL -958:PRINT "### DATA ERROR"
4573 PRINT "PLEASE COPY-OVER THE FOLLOWING LINES,":PRINT "USING THE FORWARD ARROW, AND PRESSING"
4575 PRINT "THE KEY AT THE END OF EACH:":PRINT :RETURN
4580 GOSUB 4590:PRINT " GOTO 4415 ";:D0$=""
4590 POKE 50,63:PRINT "<== PRESS HERE": POKE 50,255:RETURN
5000 REM *** FIND PROBLEM ***
5003 POKE 1010,191: POKE 1011,157: POKE 1012,56
5005 IF PEEK (1019)<>0 THEN 5010: POKE 1020,0: POKE 1021,0:REM TURN-OFF INDEX FLAG
5010 POKE -16368,0:GOSUB 6001
5020 TEXT :CALL -936:TAB 6:PRINT "*** PROBLEM ENTRY EDITOR ***"
5030 VTAB 3:PRINT "PLEASE CHOOSE FROM MENU:":PRINT
5035 PRINT "1) ENTER A NEW PROBLEM":PRINT :PRINT "EDIT:":PRINT
5040 PRINT "2) EDIT CURRENT PROBLEM: #"; PEEK (973):PRINT :PRINT "3) DISPLAY CURRENT PROBLEM: #"; PEEK (973):PRINT
5050 PRINT "4) SEARCH FOR PROBLEM TO BE EDITED":PRINT :PRINT "5) VERIFY DATA TABLE FORMAT"
5060 PRINT :PRINT "6) VERIFY TABLE FORMAT TO ALLOW RENUMBER":PRINT "7) END"
5070 POKE 204, PEEK (74): POKE 205, PEEK (75):I=1:DIM AN$(130):EDITFLAG=1
5080 RANGE=183:GOSUB 5450:IF AN=3 THEN 5400:IF AN=2 THEN 4000
5090 IF AN=5 THEN 4400:IF AN=1 THEN 4300
5100 IF AN<>6 THEN 5130:RENUMBER=4:GOTO 4400
5130 IF AN<>7 THEN 5140:VTAB 5:GOSUB 6002
5135 VTAB 10:PRINT "BE SURE TO RESAVE THE PROGRAM IF YOU":PRINT "HAVE CHANGED ANY DATA....":VTAB 23:END
5140 CALL -936:VTAB 3:TAB 7:PRINT "*** SEARCH FOR A PROBLEM ***"
5150 VTAB 5:PRINT "< YOU MAY SEARCH FORWARD OR BACKWARD >"
5160 VTAB 8:PRINT "YOU MAY BEGIN SEARCHING FROM:":PRINT :PRINT "1) THE FIRST PROBLEM":PRINT
5170 PRINT "2) THE CURRENT PROBLEM: #"; PEEK (973):PRINT :PRINT "3) THE END OF THE DATA TABLE"
5180 PRINT :PRINT "4) (RETURN TO MENU)":RANGE=180:GOSUB 5450:IF AN=4 THEN 5000:IF AN=1 THEN POKE 973,1:IF AN<3 THEN 5230
5190 FINISHFLAG=1:GOTO 5230
5230 CALL -936:TAB 2:PRINT "**** SEARCH TO SELECT A PROBLEM ***":I= PEEK (973)*5+9005
5240 VTAB 2:CALL -958
5250 VTAB 18:PRINT "PRESS:":PRINT "FORWARD ARROW TO SELECT NEXT PROBLEM"
5260 PRINT "BACK ARROW TO SELECT PRIOR PROBLEM"
5270 PRINT " TO RETURN TO THE MENU WITH":PRINT " ABOVE CURRENT PROBLEM #"
5280 VTAB 5:PRINT "CURRENT PROBLEM: #";:CALL -868:PRINT (I-9005)/5
5290 VTAB 7:IF FINISHFLAG THEN 5300:FOR J=12 TO 7 STEP -1:VTAB J:CALL -868:NEXT J
5300 LIST I
5310 IF PEEK (37)<>6 THEN 5330:I=I-5:VTAB 13:TAB 3: POKE 50,63:PRINT "<<<<<<< END OF DATA TABLE >>>>>>": POKE 50,255:FINISHFLAG=0:GOTO 5280
5320 TAB 3:PRINT "< ENTER NEXT NEW QUESTION HERE >": POKE 50,255:FINISHFLAG=0:GOTO 5280
5330 POKE 973,(I-9005)/5
5340 IF NOT FINISHFLAG THEN 5350:I=I+5:GOTO 5280
5350 POKE -16368,0
5360 P= PEEK (-16384):IF P<136 THEN 5360: POKE -16368,0
5370 IF P=141 THEN 5000
5380 IF P<>149 THEN 5390:I=I+5:GOTO 5280
5390 IF P<>136 THEN 5360:IF I>9010 THEN I=I-5:VTAB 13:CALL -868:VTAB 14:CALL -868:GOTO 5280
5400 REM *** VIEW PROBLEM ***
5410 POKE 204, PEEK (74): POKE 205, PEEK (75):REM AUTO CLR
5420 EDITFLAG=1:GOTO 1
5440 REM SET EDIT FLAGS SO PROGRAM KNOWS IF EDITING HAS BEEN DONE
5450 VTAB 21:PRINT "PLEASE ENTER THE NUMBER OF YOUR CHOICE":PRINT "AND PRESS THE 'RETURN' KEY ";:CALL -958:INPUT AN$
5460 IF NOT LEN(AN$) THEN 5450:FOR I=1 TO LEN(AN$):IF ASC(AN$(I))<>160 THEN 5470:NEXT I:GOTO 5450
5470 IF LEN(AN$)>1 THEN 5450:AN= ASC(AN$):IF AN<177 OR AN>RANGE THEN 5450:AN=AN-176:CALL -936:RETURN
6000 REM *** INIT PROBLEM TRACKER ***
6001 IF PEEK (974)=90 AND PEEK (975)=143 THEN RETURN : POKE 974,90: POKE 975,143: POKE 973,1:RETURN
6002 PRINT "THE MATCH MACHINE":RETURN
6003 REM TITLE FOR EDITOR END
7000 REM ** MUSIC POKES **
7005 POKE 768,76: POKE 769,6: POKE 770,3: POKE 771,76: POKE 772,33: POKE 773,3: POKE 774,142: POKE 775,88: POKE 776,3: POKE 777,164
7010 POKE 778,0: POKE 779,173: POKE 780,48: POKE 781,192: POKE 782,136: POKE 783,208: POKE 784,4: POKE 785,198: POKE 786,7: POKE 787,240
7015 POKE 788,8: POKE 789,202: POKE 790,208: POKE 791,246: POKE 792,166: POKE 793,6: POKE 794,76: POKE 795,11: POKE 796,3: POKE 797,174
7020 POKE 798,88: POKE 799,3: POKE 800,96: POKE 801,142: POKE 802,91: POKE 803,3: POKE 804,164: POKE 805,8: POKE 806,140: POKE 807,89
7025 POKE 808,3: POKE 809,164: POKE 810,9: POKE 811,140: POKE 812,90: POKE 813,3: POKE 814,164: POKE 815,6: POKE 816,132: POKE 817,8
7030 POKE 818,164: POKE 819,7: POKE 820,132: POKE 821,9: POKE 822,164: POKE 823,0: POKE 824,140: POKE 825,88: POKE 826,3: POKE 827,165
7035 POKE 828,8: POKE 829,133: POKE 830,6: POKE 831,165: POKE 832,9: POKE 833,133: POKE 834,7: POKE 835,32: POKE 836,11: POKE 837,3
7040 POKE 838,198: POKE 839,8: POKE 840,208: POKE 841,241: POKE 842,172: POKE 843,89: POKE 844,3: POKE 845,132: POKE 846,8: POKE 847,172
7045 POKE 848,90: POKE 849,3: POKE 850,132: POKE 851,9: POKE 852,174: POKE 853,91: POKE 854,3: POKE 855,96
7050 REM ** BLK/WHT TEXT FLIP POKES**
7060 POKE 860,164: POKE 861,36: POKE 862,177: POKE 863,40: POKE 864,41: POKE 865,32: POKE 866,240: POKE 867,4: POKE 868,169: POKE 869,128
7065 POKE 870,208: POKE 871,2: POKE 872,169: POKE 873,192: POKE 874,81: POKE 875,40: POKE 876,145: POKE 877,40: POKE 878,200: POKE 879,196
7070 POKE 880,33: POKE 881,144: POKE 882,235: POKE 883,96: POKE 884,234: POKE 885,164: POKE 886,36: POKE 887,165: POKE 888,37: POKE 889,72
7075 POKE 890,32: POKE 891,36: POKE 892,252: POKE 893,32: POKE 894,94: POKE 895,3: POKE 896,160: POKE 897,0: POKE 898,104: POKE 899,105
7080 POKE 900,0: POKE 901,197: POKE 902,35: POKE 903,144: POKE 904,240: POKE 905,76: POKE 906,34: POKE 907,252: POKE 908,234: POKE 909,234
7085 POKE 910,165: POKE 911,34: POKE 912,133: POKE 913,37: POKE 914,160: POKE 915,0: POKE 916,132: POKE 917,36: POKE 918,240: POKE 919,225
7089 RETURN
7100 REM SOUND AND BLACK/WHITE SWITCH
7110 REM SOUND: $300.357 B/W: $35C.397
7120 REM FOR ALL TONES:
7130 REM POKE 6, PITCH
7140 REM POKE 7, DURATION
7150 REM
7160 REM FOR STANDARD TONES:
7170 REM CALL 768
7180 REM
7190 REM FOR SWEEP TONES:
7200 REM CALL 771
7210 REM
7220 REM ** BLACK/WHITE PAGE FLIPS **
7230 REM WILL INVERT ALL SCREEN TEXT
7250 REM TO CHANGE WHOLE SCREEN:
7260 REM CALL 910
7270 REM TO CHANGE FROM CURRENT
7280 REM CURSOR POSITION TO BOTTOM:
7290 REM CALL 885
7300 REM TO CHANGE FROM CURRENT
7310 REM CURSOR POSITION TO E-O-LINE:
7320 REM CALL 860
8000 PRINT :PRINT :PRINT :GOSUB 8100
8005 CALL -936
8010 PRINT "****************************************"
8015 COLOR= 10:VLIN 0,44 AT 0:VLIN 0,44 AT 39
8020 VTAB 23:PRINT "****************************************";
8023 FOR K=1 TO 15: POKE 6, RND (100)+50: POKE 7, RND (4)+5:CALL 768:NEXT K
8025 VTAB 4:PRINT "* THE MARVELOUS MATCH MACHINE WILL":PRINT
8030 PRINT "* SET UP TWO COLUMNS OF WORDS":PRINT
8035 PRINT "* FROM THE CATEGORY YOU CHOOSE.":PRINT :PRINT
8040 PRINT "* YOUR JOB IS TO MATCH THEM.":PRINT
8045 PRINT :PRINT :PRINT "* PRESSING THE KEY MARKED ESC WILL":PRINT
8050 PRINT "* RETURN YOU TO THE MAIN MENU."
8055 VTAB 20:TAB 38:PRINT "**"
8057 VTAB 20:PRINT "*** PRESS THE SPACE BAR TO BEGIN...";:GOSUB 8110:PRINT " "
8060 RETURN
8100 TAB 5:PRINT "PRESS THE SPACE BAR TO BEGIN...";
8110 POKE PEEK (40)+ PEEK (41)*256+ PEEK (36),96:REM CURSOR
8120 IF PEEK (-16384)#160 THEN IF PEEK (-16384)#155 THEN 8120: POKE -16368,0
8130 IF PEEK (-16384)<>27 THEN RETURN :POP :GOTO 3070
9000 REM **** DATA *****
9005 LESSFLASHINGFLAG=NO
9009 RETURN
9010 D1$="ANIMALS AND THEIR YOUNG,ANIMAL&ITS YOUNG,BEAR&CUB,BIRD&NESTLING,CAT&KITTEN,COW&CALF,DOG&PUPPY,FISH&FRY"
9011 D2$="FROG&TADPOLE,GOAT&KID,KANGAROO&JOEY,SHEEP&LAMB,BUNNY,KIT,ELVER":RETURN
9012 REM
9013 REM
9014 REM
9015 D1$="PSEUDONYMS,PSEUDONYM&ORIGINAL NAME,JACK BENNY&JOSEPH KUBELSKY,GEORGE BURNS&NATHAN BIRNBAUM,BOB DYLAN&ROBERT ZIMMERMAN"
9016 D2$="GEORGE ELIOT&MARY ANN EVANS,REDD FOXX&JOHN SANFORD,CARY GRANT&ARCHIBALD LEACH,HARRY HOUDINI&EHRICH WEISS"
9017 D3$="BORIS KARLOFF&WLM. HENRY PRATT,ROY ROGERS&LEONARD SLYE,JONNY APPLESEED&JOHN CHAPMAN,NATASHA GURDIN"
9018 D4$="JOHN REDDING,LOUISE HOVICK":RETURN
9019 REM
9020 D1$="STATE CAPITALS - PT 1,CAPITAL&STATE,ALBANY&NEW YORK,BATON ROUGE&LOUISIANA,CHARLESTON&WEST VIRGINIA"
9021 D2$="DENVER&COLORADO,HARTFORD&CONNECTICUT,JEFFERSON CITY&MISSOURI,MADISON&WISCONSIN,OLYMPIA&WASHINGTON"
9022 D3$="RICHMOND&VIRGINIA,SPRINGFIELD&ILLINOIS,ARIZONA,TENNESSEE,KENTUCKY,IDAHO":RETURN
9023 REM
9024 REM
9025 D1$="STATE CAPITALS - PT 2,CAPITAL&STATE,ANNAPOLIS&MARYLAND,BISMARCK&NORTH DAKOTA,CHEYENNE&WYOMING"
9026 D2$="DES MOINES&IOWA,HELENA&MONTANA,JUNEAU&ALASKA,MONTGOMERY&ALABAMA,PHOENIX&ARIZONA,SACRAMENTO&CALIFORNIA"
9027 D3$="ST. PAUL&MINNESOTA,MASSACHUSETTS,TEXAS,SOUTH DAKOTA,RHODE ISLAND":RETURN
9028 REM
9029 REM
9030 D1$="STATE CAPITALS - PT 3,CAPITAL&STATE,ATLANTA&GEORGIA,BOISE&IDAHO,COLUMBIA&SOUTH CAROLINA"
9031 D2$="DOVER&DELAWARE,HONOLULU&HAWAII,LANSING&MICHIGAN,MONTPELIER&VERMONT,PIERRE&SOUTH DAKOTA,SALEM&OREGON"
9032 D3$="TALLAHASSEE&FLORIDA,WASHINGTON,NORTH DAKOTA,PENNSYLVANIA,UTAH":RETURN
9033 REM
9034 REM
9035 D1$="STATE CAPITALS - PT 4,CAPITAL&STATE,AUGUSTA&MAINE,BOSTON&MASSACHUSETTS,COLUMBUS&OHIO"
9036 D2$="FRANKFORT&KENTUCKY,INDIANAPOLIS&INDIANA,LINCOLN&NEBRASKA,NASHVILLE&TENNESSEE,PROVIDENCE&RHODE ISLAND"
9037 D3$="SALT LAKE CITY&UTAH,TOPEKA&KANSAS,MARYLAND,VERMONT,OREGON,COLORADO":RETURN
9038 REM
9039 REM
9040 D1$="STATE CAPITALS - PT 5,CAPITAL&STATE,AUSTIN&TEXAS,CARSON CITY&NEVADA,CONCORD&NEW HAMPSHIRE"
9041 D2$="HARRISBURG&PENNSYLVANIA,JACKSON&MISSISSIPPI,LITTLE ROCK&ARKANSAS,OKLAHOMA CITY&OKLAHOMA"
9042 D3$="RALEIGH&NORTH CAROLINA,SANTA FE&NEW MEXICO,TRENTON&NEW JERSEY,GEORGIA,MISSOURI,VIRGINIA,NEBRASKA":RETURN
9043 REM
9044 REM
9045 D1$="SECRET IDENTITIES,SECRET IDENTITY&"REAL" IDENTITY"
9046 D2$="BAT GIRL&BABS GORDON,BATMAN&BRUCE WAYNE,GREEN HORNET&BRITT REID,LONE RANGER&JOHN REID"
9047 D3$="THE SHADOW&LAMONT CRANSTON,SPIDERMAN&PETER PARKER,SUPERMAN&CLARK KENT,TARZAN&LORD GREYSTOKE,WONDER WOMAN&DIANA PRINCE"
9048 D4$="LAMONT CRANSTON&KENT ALLARD,ALAN SCOTT,BILLY BATSON":RETURN
9049 REM
9050 D1$="PRESIDENTS' BIRTHPLACES,PRESIDENT&STATE,WASHINGTON&VIRGINIA,LINCOLN&KENTUCKY,TEDDY ROOSEVELT&NEW YORK"
9051 D2$="F D ROOSEVELT&NEW YORK,D D EISENHOWER&TEXAS,JOHN KENNEDY&MASSACHUSETTS,LYNDON JOHNSON&TEXAS"
9052 D3$="RICHARD NIXON&CALIFORNIA,GERALD FORD&NEBRASKA,JIMMY CARTER&GEORGIA,ARIZONA,MARYLAND,ILLINOIS,MICHIGAN":RETURN
9053 REM
9054 REM
9055 D1$="ANIMAL GROUPS - PT 1,COLLECTIVE NOUN&ANIMAL,ARMY&FROGS,BRACE&DUCKS,BROOD&CHICKS,COLONY&ANTS,COVEY&QUAIL"
9056 D2$="GAGGLE&GEESE,NEST&VIPERS,PRIDE&LIONS,SCHOOL&FISH,SHREWDNESS&APES,KITTENS,MULES"
9057 D3$="OXEN":RETURN
9058 REM
9059 REM
9060 D1$="AMIMAL GROUPS - PT 2,COLLECTIVE NOUN&ANIMAL,BALE&TURTLES,BUSINESS&FERRETS,CHARM&HUMMINGBIRDS"
9061 D2$="SWARM&BEES,CRY&HOUNDS,EXALTATION&LARKS,HOVER&TROUT"
9062 D3$="MURDER&CROWS,MUSTERING&STORKS,SWARM&EELS,EAGLES,CLAMS,BADGERS":RETURN
9063 REM
9064 REM
9065 D1$="ANIMAL GROUPS - PT 3,COLLECTIVE NOUN&ANIMAL,CAST&HAWKS,CLOWDER&CATS,CONGREGATION&PLOVERS,CLOUD&GNATS,DRIFT&CATTLE"
9066 D2$="GANG&ELKS,GRIST&BEES,KINDLE&KITTENS,SKULK&FOXES,WATCH&NIGHTINGALES"
9067 D3$="CRANES,PHEASANTS,WALRUSES":RETURN
9068 REM
9069 REM
9070 D1$="SPORTS SUPERSTARS,STAR&SPORT,ALLIE BRANDT&BOWLING,NADIA COMANECI&GYMNASTICS,CHRIS EVERT&TENNIS,DOROTHY HAMILL&SKATING"
9071 D2$="BRUCE JENNER&TRACK AND FIELD,FRANZ KLAMMER&SKIING,BOB MC ADOO&BASKETBALL,JACK NICKLAUS&GOLF,PELE&SOCCER"
9072 D3$="J WEISSMULLER&SWIMMING,FOOTBALL,BASEBALL":RETURN
9073 REM
9074 REM
9075 D1$="THE INVENTORS - PT 1,INVENTOR&INVENTION,SIR F BANTING&INSULIN,B CRISTOFORI&PIANO,THOMAS EDISON&MOVIE MACHINE"
9076 D2$="JOHN FITCH&STEAMBOAT,K MAC MILLAN&BICYCLE,T NEWCOMEN&STEAM ENGINE,BLAISE PASCAL&ADDING MACHINE"
9077 D3$="NICOLA TESLA&A.C. MOTOR,ELI WHITNEY&MASS PRODUCTION,JULES VERNE&PERISCOPE"
9078 RETURN
9079 REM
9080 D1$="THE INVENTORS - PT 2,INVENTOR&INVENTION,C BABBAGE&AUTOMATIC COMPUTER,N J CUGNOT&AUTOMOBILE"
9081 D2$="ROBERT GODDARD&LIQUID FUEL ROCKET,J JACQUARD&PUNCHED CARD LOOM,W L JUDSON&ZIPPER,H LIPPERSHEY&TELESCOPE"
9082 D3$="M MARCONI&RADIO,JOSEPH NIEPCE&PHOTOGRAPHY,ALFRED NOBEL&DYNAMITE,B THIMONNIER&SEWING MACHINE"
9083 RETURN
9084 REM
9085 RETURN
31111 SERIAL=11040
31112 REM SERIAL NUMBER OF DISK
31113 POKE -16368,0:IF PEEK (1020)=SERIAL/256 AND PEEK (1021)=SERIAL MOD 256 AND PEEK (1019)=0 THEN 31115
31114 TEXT :CALL -936:TEXT :END
31115 POKE 1020,0: POKE 1021,0:PRINT :PRINT "RUN INDEX":END
- Addeddate
- 2017-03-16 09:54:14
- Emulator
- apple2ee
- Emulator_ext
- dsk
- Identifier
- 3d0g_132a_The_Shell_Games
- Scanner
- Internet Archive Python library 1.4.0