image of READY prompt

Wang2200.org

Listing of file='PAC-MAN2' on disk='vmedia/more_games.wvd.zip'

# Sector 1017, program filename = 'PAC-MAN2'
0010 REM %"PAC-MAN" - Steve McGarry - 23 OCT 81 - 1.0.0
0020 DIM A$80,K$1,K1$1,A$(23)79,D$(2,23)79,T(4),X1(4),Y1(4),X0(4),Y0(4),S(4),G
     $(4)3,B$(6)3,S0(2),P(2),S1(2),B0(2),D(2),D0(2),M(2)
   : G$()=HEX(E8FFD4E89BD4C09BC0E8FFD4)
   : B$()=HEX(8181819191919292929393939B9B9B9A9A9A)
0025 DIM N$(5)24,S9(5)
0030 PRINT HEX(0202020F0306);" Player 1 = ";
   : PRINTUSING "######",S0(1)
   : PRINT AT(0,61);"Player 2 = ";
   : PRINTUSING "######",S0(2)
   : PRINT
   : PRINT TAB(11);HEX(FCFCFCFCFCF0C0C0C0C0FCC0C0C0C0C0C0F0FCFCFCFCFCFCF0C0C0C
     0C0C0C0C0C0C0C0F4C0C0C0C0C0F8C0C0C0C0FCC0C0C0C0D4C0C0C0FCFCFC)
0040 PRINT TAB(11);HEX(FFFFFFFFFFFFF5C0C0EAFFD5C0C0C0F8FEFFFFFFFFFFFFFFFFFDF4C
     0C0C0C0C0C0C0C0FFFDD0C0E0FEFFC0C0C0EAFFD5C0C0C0FFD0C0C0FFFFFF)
0050 PRINT TAB(11);HEX(FFFFFFFCFFFFDFC0C0FFFFFFC0C0FAFFFFFFFFFFFFFFFFFFCFC7C3C
     0E0F0F0F0F0D0C0FFFFFFFCFFFFFFC0C0C0FFFFFFC0C0C0FFFDC0C0FFFFFF)
0060 PRINT TAB(11);HEX(FFFFFFFFFFCFC1C0EAFFFFFFD5C0FFFFFFFFFFFFFFF7D1C0C0C0C0C
     0EAFFFFFFFFD5C0FFFFFFFFFFFFFFC0C0EAFFFFFFD5C0C0FFFFF5C0FFFFFF)
0070 PRINT TAB(11);HEX(FFFFFFC0C0C0C0C0FFFFFCFFFFC0EBFFFFFFFFFFFFFFFFFFFCF4F0C
     0C2C3C3C3C3C1C0FFFFFFFFFFFFFFC0C0FFFFFCFFFFC0C0FFFFFFD4FFFFFF)
0080 PRINT TAB(11);HEX(FFFFFFC0C0C0C0EAFFFFFFFFFFD5C0CBEFFFFFFFFFFFFFFFFFDFC7C
     0C0C0C0C0C0C0C0FFFFFFFFFFFFFFC0EAFFFFFFFFFFD5C0FFFFFFFFFFFFFF)
0090 PRINT TAB(11);HEX(CFCFCFC0C0C0C0CFCFCFCFCFCFCFC0C0C0C3CFCFCFCFCFCFC3C0C0C
     0C0C0C0C0C0C0C0CFCFCFCFCFCFCFC0CFCFCFCFCFCFCFC0CFCFCFCFCFCFCF)
   : PRINT
   : PRINT TAB(32);"by Steve McGarry"
0100 PRINT AT(16,34);HEX(0202020F0E900F);" = 10 Points";AT(18,34);HEX(02040400
     0E8B0F);" = 50 Points";AT(22,24);"Select number of players (1 or 2)";HEX(
     01)
0110 PRINT AT(13,20);HEX(020404000E8B020402000F)
   : S=-1
   : FOR K=1TO 4
   : Y1(K)=20+K*3
   : NEXT K
0120 IF S=-1THEN FOR K=60TO 20STEP S
   : ELSE FOR K=20TO 70STEP S
   : PRINT AT(13,K);HEX(0E);
   : IF S=1THEN 130
   : IF MOD(K,2)=0THEN PRINT HEX(EAFFD5);
   : ELSE PRINT HEX(E2FFD5);
   : GOTO 140
0130 IF MOD(K,2)=0THEN PRINT HEX(08C0EAFFD5);
   : ELSE PRINT HEX(08C0EAFFD1);
0140 FOR J=4TO 1STEP -1
   : IF S=-1THEN PRINT HEX(E8FFD4);
   : IF S=-1THEN 150
   : IF Y1(J)=0THEN 150
   : IF MOD(K,2)<>0THEN 150
   : Y1(J)=Y1(J)+1
   : IF Y1(J)>KTHEN PRINT AT(13,Y1(J));HEX(0EE89BD4)
   : IF Y1(J)>KTHEN 150
   : PRINT AT(13,K);HEX(0E);
   : PRINTUSING "###",J*200
   : FOR L=1TO 15
   : $BREAK255
   : NEXT L
   : Y1(J)=0
0150 NEXT J
   : IF S=-1THEN PRINT TAB(79)
   : PRINT AT(13,K);HEX(0E);
   : IF S=1THEN 160
   : IF MOD(K,2)=0THEN PRINT HEX(EAFFD5)
   : ELSE PRINT HEX(E2FFD5)
   : GOTO 170
0160 IF MOD(K,2)=0THEN PRINT HEX(C0EAFFD5)
   : ELSE PRINT HEX(C0EAFFD1)
0170 KEYIN K$,170,170
   : IF K$<>"1"AND K$<>"2"THEN 180
   : CONVERT K$TO P1
   : GOTO 210
0180 $BREAK255
   : $BREAK255
   : $BREAK255
   : NEXT K
   : IF S=1THEN 190
   : S=1
   : GOTO 120
0190 PRINT AT(13,0,80)
   : FOR K=1TO 100
   : K$=" "
0200 KEYIN K$,200,200
   : IF K$>" "THEN K=200
   : $BREAK255
   : NEXT K
   : IF K=200THEN 170
   : GOTO 110
0210 RETURN CLEAR ALL
   : IF P1=1THEN P0=1
   : ELSE P0=2
0220 FOR K=1TO P1
   : P(K)=3
   : NEXT K
   : MAT S0=ZER
   : MAT S1=ZER
   : B,B0=0
   : B0(1),B0(2)=1
   : F9=0
   : MAT D0=ZER
   : MAT D=ZER
   : D$()=ALL(20)
   : MAT M=CON
   : RESTORE LINE1090
   : MAT READ A$
0230 IF P1=1THEN 240
   : IF P0=2THEN P0=1
   : ELSE P0=2
   : IF P(P0)=0THEN 230
0240 IF F9=0THEN 250
   : FOR K=1TO 7500
   : NEXT K
0250 F9=1
   : IF MOD(S1(P0),2)=0AND D0(P0)=D(P0)AND D(P0)>0THEN GOSUB 1170
   : PRINT HEX(03060202020F020402000F);
   : PRINT HEX(03020402000F);
   : IF P0=1THEN PRINT HEX(0E);
   : PRINT " Player 1 = ";
   : PRINTUSING "######",S0(1)
   : IF P0=2THEN PRINT HEX(0E);
   : PRINT AT(0,61);"Player 2 = ";
   : PRINTUSING "######",S0(2)
   : FOR K=1TO MIN(10,P(P0))
   : PRINT AT(0,(38-MIN(10,P(P0)))+K*2);HEX(0E8B)
   : NEXT K
0260 FOR K=1TO 23
   : $GIO/005(A000)STR(A$(K),1)
   : IF K<23THEN PRINT
   : NEXT K
   : PRINT HEX(01)
   : PRINT AT(11,38);HEX(0ECCCCCC)
   : STR(D$(P0,11),39,3)=HEX(CCCCCC)
   : IF D(P0)>0AND D(P0)<>D0(P0)THEN 290
   : S1(P0)=S1(P0)+1
   : D(P0),D0(P0)=0
   : RESTORE
   : FOR X=1TO 23
0270 READ Y
   : IF Y=0THEN 280
   : STR(D$(P0,X),Y,1)=HEX(90)
   : D(P0)=D(P0)+1
   : GOTO 270
0280 NEXT X
   : STR(D$(P0,4),3,1),STR(D$(P0,4),77,1),STR(D$(P0,16),3,1),STR(D$(P0,16),77,
     1)=HEX(8B)
   : D(P0)=D(P0)+4
0290 STR(D$(P0,14),39,3)="   "
   : FOR X=1TO 23
   : IF STR(D$(P0,X),1)=" "THEN 310
   : FOR Y=1TO 79
   : IF POS(STR(D$(P0,X),Y+1)>" ")=0THEN Y=80
   : IF Y=80THEN 300
   : Y=Y+POS(STR(D$(P0,X),Y+1)>" ")
   : IF STR(D$(P0,X),Y,1)=HEX(8B)THEN PRINT HEX(020404000E);
   : ELSE PRINT HEX(020402000E);
   : PRINT AT(X,Y-1);STR(D$(P0,X),Y,1);HEX(020402000F)
0300 NEXT Y
0310 NEXT X
   : X,X0=16
   : Y,Y0=39
   : D1=0
   : D2=-1
   : C=0
   : K$,K1$=" "
   : IF B>0AND B0(P0)<6THEN B0(P0)=B0(P0)+.5
   : B,B0=0
   : X1(1),X0(1)=10
   : Y1(1),Y0(1)=39
   : S(1)=1
   : FOR G=2TO 4
   : X1(G),X0(G)=12
   : S(G)=4
   : NEXT G
   : Y1(2),Y0(2)=39
   : Y1(3),Y0(3)=36
   : Y1(4),Y0(4)=42
   : G9=0
0320 KEYIN K$,320,320
   : PRINT AT(X,Y-1);HEX(0EEAFFD5)
   : FOR K=1TO 4
   : PRINT AT(X1(K),Y1(K)-1);HEX(0EE8FFD4)
   : NEXT K
   : PRINT AT(14,37);HEX(0E);"READY!";AT(10,35);"PLAYER #";
   : IF P0=1THEN PRINT "1"
   : ELSE PRINT "2"
   : FOR K=1TO 5000
   : NEXT K
   : PRINT AT(14,35,10);AT(10,35,10);AT(X1(1),Y1(1)-1);HEX(0E);G$(1)
   : GOTO 390
0330 IF F=0THEN F=1
   : ELSE F=0
   : IF D1<>-1THEN 340
   : IF STR(A$(X),Y-1,1)=" "THEN 380
   : GOTO 370
0340 IF D1<>1THEN 350
   : IF STR(A$(X),Y+3,1)=" "THEN 380
   : GOTO 370
0350 IF D2<>1THEN 360
   : IF STR(A$(X+1),Y,3)="   "THEN 380
   : GOTO 370
0360 IF D2<>-1THEN 370
   : IF STR(A$(X-1),Y,3)="   "THEN 380
0370 D1,D2=0
   : C=1
0380 X0=X
   : Y0=Y
   : X=X+D2
   : Y=Y+D1
   : IF Y=1THEN Y=76
   : IF Y=77THEN Y=2
0390 S0=S0(P0)
   : IF POS(STR(D$(P0,X),Y,3)=HEX(90))>0THEN S0(P0)=S0(P0)+10
   : IF POS(STR(D$(P0,X),Y,3)=HEX(8B))=0THEN 400
   : S0(P0)=S0(P0)+50
   : E=150-25*MIN(S1(P0),4)
   : FOR G=1TO 4
   : IF S(G)=1THEN S(G)=2
   : NEXT G
   : G0=0
   : MAT X0=X1
   : MAT Y0=Y1
0400 IF S0=S0(P0)THEN 420
   : D0(P0)=D0(P0)+1
   : STR(D$(P0,X),Y,3)=ALL(20)
   : IF INT(S0/5000)=INT(S0(P0)/5000)THEN 410
   : P(P0)=P(P0)+1
   : PRINT AT(0,28,25);HEX(07)
   : FOR K=1TO MIN(10,P(P0))
   : PRINT AT(0,(38-MIN(10,P(P0)))+K*2);HEX(0E8B)
   : NEXT K
0410 IF S0(P0)>999999THEN 1210
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
0420 PRINT AT(X0,Y0-1,3);AT(X,Y-1);HEX(0E);
   : IF C=0THEN 430
   : PRINT HEX(EAFFD5)
   : C=0
   : GOTO 440
0430 IF D1=-1THEN PRINT HEX(E2FFD5)
   : IF D1=1THEN PRINT HEX(EAFFD1)
   : IF D2=-1THEN PRINT HEX(EAFCD5)
   : IF D2=1THEN PRINT HEX(EACFD5)
   : C=1
0440 IF D0(P0)=D(P0)THEN 240
   : K$=" "
   : KEYIN K$,460,450
   : GOTO 460
0450 $TRAN(K$,HEX(3846385632453255364C365C344D345D))R
0460 IF K$<>HEX(20)THEN K1$=K$
   : K$=K1$
   : IF K$<"1"THEN 520
   : IF K$>"8"THEN 520
   : CONVERT K$TO K
   : ON KGOTO ,470,,480,490,500,,510
   : GOTO 520
0470 IF STR(A$(X+1),Y,3)<>"   "THEN 520
   : IF X=10AND Y=39THEN 520
   : D2=1
   : D1=0
   : GOTO 520
0480 IF STR(A$(X),Y-1,1)<>" "THEN 520
   : D1=-1
   : D2=0
   : GOTO 520
0490 D1,D2=0
   : GOTO 520
0500 IF STR(A$(X),Y+3,1)<>" "THEN 520
   : D1=1
   : D2=0
   : GOTO 520
0510 IF STR(A$(X-1),Y,3)<>"   "THEN 520
   : D1=0
   : D2=-1
   : GOTO 520
0520 IF B=0THEN 550
   : IF X<>14THEN 550
   : IF Y<>39THEN 550
0530 S0=S0(P0)
   : S0(P0)=S0(P0)+B*150
   : SELECT P3
   : PRINT AT(14,38);HEX(0E);
   : PRINTUSING "###",B*150
   : SELECT P
   : B,B0=0
   : STR(D$(P0,14),39,3)="   "
   : IF B0(P0)<6THEN B0(P0)=B0(P0)+.5
   : IF INT(S0/5000)=INT(S0(P0)/5000)THEN 540
   : P(P0)=P(P0)+1
   : PRINT AT(0,28,25);HEX(07)
   : FOR K=1TO MIN(10,P(P0))
   : PRINT AT(0,(38-MIN(10,P(P0)))+K*2);HEX(0E8B)
   : NEXT K
0540 IF S0(P0)>999999THEN 1210
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
0550 IF B>0THEN 560
   : M(P0)=M(P0)+1
   : IF M(P0)<300THEN 570
   : M(P0)=1
   : B=INT(B0(P0))
   : STR(D$(P0,14),39,3)=B$(B)
   : PRINT AT(14,38);HEX(0E);B$(B)
   : GOTO 570
0560 B0=B0+1
   : IF B0<150THEN 570
   : B0=0
   : B=0
   : IF B0(P0)<6THEN B0(P0)=B0(P0)+.5
   : PRINT AT(14,38,3)
   : STR(D$(P0,14),39,3)="   "
0570 IF E=0THEN 590
   : E=E-1
   : IF E>0THEN 590
   : FOR G=1TO 4
   : IF S(G)<>2THEN 580
   : S(G)=1
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
0580 NEXT G
0590 FOR G=1TO 4
   : G9=G9+1
   : IF G9>1000THEN G9=0
   : IF S(G)<4THEN 600
   : IF G9>(105-25*MIN(S1(P0),4))*(G-1)THEN S(G)=1
   : ELSE GOTO 950
0600 MAT T=ZER
   : C0=0
   : IF X1(G)<>XTHEN 610
   : IF Y1(G)=YTHEN 990
0610 IF Y1(G)>=14AND Y1(G)<=67THEN 620
   : IF X1(G)<>12THEN 620
   : IF F<>0THEN 620
   : IF S(G)<>3THEN 950
0620 IF S(G)<>2THEN 630
   : IF F=0THEN 950
0630 IF S(G)<3THEN 640
   : IF X1(G)<>12THEN 640
   : IF Y1(G)<>39THEN 640
   : S(G)=1
0640 IF X1(G)<>12THEN 650
   : IF Y1(G)<36THEN 650
   : IF Y1(G)>42THEN 650
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
   : IF Y1(G)<39THEN Y1(G)=Y1(G)+1
   : IF Y1(G)>39THEN Y1(G)=Y1(G)-1
   : IF Y0(G)=39THEN X1(G)=11
   : GOTO 950
0650 IF STR(A$(X1(G)-1),Y1(G),3)<>" "THEN 710
   : IF X1(G)-1=X0(G)THEN 710
   : IF S(G)<3THEN 670
   : IF 12<X1(G)THEN 660
   : T(1)=C0+1
   : C0=C0+1
   : GOTO 710
0660 T(1)=C0+50
   : C0=C0+50
   : GOTO 710
0670 IF X<X1(G)THEN 690
   : IF S(G)=2THEN 700
0680 T(1)=C0+5
   : C0=C0+5
   : GOTO 710
0690 IF S(G)=2THEN 680
0700 T(1)=C0+25
   : C0=C0+25
0710 IF STR(A$(X1(G)),Y1(G)+3,1)<>" "THEN 770
   : IF Y1(G)+1=Y0(G)THEN 770
   : IF S(G)<3THEN 730
   : IF 39>Y1(G)THEN 720
   : T(2)=C0+1
   : C0=C0+1
   : GOTO 770
0720 T(2)=C0+50
   : C0=C0+50
   : GOTO 770
0730 IF Y>Y1(G)THEN 750
   : IF S(G)=2THEN 760
0740 T(2)=C0+5
   : C0=C0+5
   : GOTO 770
0750 IF S(G)=2THEN 740
0760 T(2)=C0+25
   : C0=C0+25
0770 IF STR(A$(X1(G)+1),Y1(G),3)<>" "THEN 840
   : IF X1(G)+1=X0(G)THEN 840
   : IF S(G)<3THEN 790
   : IF 12>X1(G)THEN 780
   : T(3)=C0+1
   : C0=C0+1
   : GOTO 840
0780 T(3)=C0+50
   : C0=C0+50
   : GOTO 840
0790 IF X1(G)<>10THEN 800
   : IF Y1(G)=39THEN 840
0800 IF X>X1(G)THEN 820
   : IF S(G)=2THEN 830
0810 T(3)=C0+5
   : C0=C0+5
   : GOTO 840
0820 IF S(G)=2THEN 810
0830 T(3)=C0+25
   : C0=C0+25
0840 IF STR(A$(X1(G)),Y1(G)-1,1)<>" "THEN 900
   : IF Y1(G)-1=Y0(G)THEN 900
   : IF S(G)<3THEN 860
   : IF 39<Y1(G)THEN 850
   : T(4)=C0+1
   : C0=C0+1
   : GOTO 900
0850 T(4)=C0+50
   : C0=C0+50
   : GOTO 900
0860 IF Y<Y1(G)THEN 880
   : IF S(G)=2THEN 890
0870 T(4)=C0+5
   : C0=C0+5
   : GOTO 900
0880 IF S(G)=2THEN 870
0890 T(4)=C0+25
   : C0=C0+25
0900 R=INT(RND(1)*C0)
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
   : IF R<T(1)THEN 910
   : IF R<T(2)THEN 920
   : IF R<T(3)THEN 930
   : IF R<T(4)THEN 940
   : STOP "- HOW THE HELL DID I END UP IN A DEAD END?!?!?!?!?!?"
0910 X1(G)=X1(G)-1
   : GOTO 950
0920 Y1(G)=Y1(G)+1
   : GOTO 950
0930 X1(G)=X1(G)+1
   : GOTO 950
0940 Y1(G)=Y1(G)-1
   : GOTO 950
0950 PRINT AT(X0(G),Y0(G)-1);
   : IF POS(STR(D$(P0,X0(G)),Y0(G),3)=HEX(8B))<>0THEN PRINT HEX(020404000E);
   : ELSE PRINT HEX(020402000E);
   : PRINT STR(D$(P0,X0(G)),Y0(G),3);HEX(020402000F)
   : IF Y1(G)<>1THEN 960
   : Y1(G)=76
   : Y0(G)=77
0960 IF Y1(G)<>77THEN 970
   : Y1(G)=2
   : Y0(G)=1
0970 PRINT AT(X1(G),Y1(G)-1);
   : IF S(G)<>2THEN 980
   : IF E<1OR E>24THEN 980
   : IF F<>0THEN 980
   : PRINT HEX(020402020F);
0980 PRINT HEX(0E);G$(S(G));HEX(020402000F)
0990 IF X1(G)<>XOR Y1(G)<>YTHEN 1050
   : IF S(G)=1THEN 1020
   : IF S(G)=3THEN 610
   : S0=S0(P0)
   : G0=G0+200
   : S0(P0)=S0(P0)+G0
   : SELECT P3
   : PRINT AT(X1(G),Y1(G)-1);HEX(0E);
   : PRINTUSING "###",G0
   : SELECT P
   : S(G)=3
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
1000 IF INT(S0/5000)=INT(S0(P0)/5000)THEN 1010
   : P(P0)=P(P0)+1
   : PRINT AT(0,28,25);HEX(07)
   : FOR K=1TO MIN(10,P(P0))
   : PRINT AT(0,(38-MIN(10,P(P0)))+K*2);HEX(0E8B)
   : NEXT K
1010 IF S0(P0)>999999THEN 1210
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
   : GOTO 1050
1020 FOR K=1TO 1000
   : NEXT K
   : SELECT P1
   : PRINT AT(X,Y-1);HEX(0EEAFCD5)
   : PRINT AT(X,Y-1);HEX(0EE8FCD4)
   : PRINT AT(X,Y-1);HEX(0EE0FCD0)
   : PRINT AT(X,Y-1);HEX(0EC0FCC0)
   : PRINT AT(X,Y-1);HEX(0EC0CCC0)
   : PRINT AT(X,Y-1);HEX(C0C0C007)
   : SELECT P
   : P(P0)=P(P0)-1
   : IF P(P0)=0THEN 1030
   : GOTO 230
1030 PRINT AT(0,39,3);HEX(0E);AT(14,35);"GAME OVER";AT(10,35);"PLAYER #";
   : IF P0=1THEN PRINT "1"
   : ELSE PRINT "2"
   : FOR K=1TO 7500
   : NEXT K
1040 KEYIN K$,1040,1040
   : K$=" "
   : IF P(1)=0AND P(2)=0THEN 10
   : F9=0
   : GOTO 230
1050 NEXT G
   : GOTO 330
1060 DATA 0
   : DATA 3,6,9,12,15,18,21,24,27,30,33,37,43,47,50,53,56,59,62,65,68,71,74,77
     ,0
   : DATA 3,15,37,43,65,77,0
   : DATA 15,37,43,65,0
   : DATA 3,15,37,43,65,77,0
   : DATA 3,6,9,12,15,18,21,24,28,31,34,37,40,43,46,49,52,56,59,62,65,68,71,74
     ,77,0
   : DATA 3,15,28,52,65,77,0
1070 DATA 3,15,28,31,34,37,43,46,49,52,65,77,0
   : DATA 3,15,65,77,37,43,0
   : DATA 3,6,9,12,15,65,68,71,74,77,0
   : DATA 15,65,0
   : DATA 15,65,0
   : DATA 15,65,0
   : DATA 3,6,9,12,15,65,68,71,74,77,0
   : DATA 3,15,65,77,0
   : DATA 6,9,15,18,21,24,28,31,34,37,43,46,49,52,56,59,62,65,71,74,0
   : DATA 9,15,28,52,65,71,0
1080 DATA 3,6,9,12,15,28,52,65,68,71,74,77,0
   : DATA 3,28,52,77,0
   : DATA 3,28,31,34,37,43,46,49,52,77,0
   : DATA 3,37,43,77,0
   : DATA 3,6,9,12,15,18,21,24,27,30,33,37,40,43,47,50,53,56,59,62,65,68,71,74
     ,77,0
   : DATA 0
1090 DATA "\E8\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\DC\CC\EC\CC\CC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC
     \CC\CC\CC\CC\CC\CC\CC\D4"
   : DATA "\EA                                     \D5 \EA
                      \D5"
   : DATA "\EA   \DC\CC\CC\CC\CC\CC\CC\CC\EC   \DC\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CC\CC\EC   \D5 \EA   \DC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CC\EC   \DC\CC\CC\CC\CC\CC\CC\CC\EC   \D5"
1100 DATA "\EA   \D5       \EA   \D5                 \EA   \D5 \EA   \D5
                \EA   \D5       \EA   \D5"
   : DATA "\EA   \CD\CC\CC\CC\CC\CC\CC\CC\CE   \CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CC\CC\CE   \CD\CC\CE   \CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CE   \CD\CC\CC\CC\CC\CC\CC\CC\CE   \D5"
   : DATA "\EA
                  \D5"
1110 DATA "\EA   \DC\CC\CC\CC\CC\CC\CC\CC\EC   \DC\CC\CC\CC\CC\CC\CC\CC\CC\EC
       \CC\CC\CC\CC\CC\CC\CC\CC\CC\DC\CC\EC\CC\CC\CC\CC\CC\CC\CC\CC\CC   \DC\C
     C\CC\CC\CC\CC\CC\CC\CC\EC   \DC\CC\CC\CC\CC\CC\CC\CC\EC   \D5"
   : DATA "\EA   \D5       \EA   \D5        \EA            \D5 \EA
     \D5        \EA   \D5       \EA   \D5"
   : DATA "\EA   \CD\CC\CC\CC\CC\CC\CC\CC\CE   \D5        \CA\CC\CC\CC\CC\EC\C
     C\CC\CC\CC   \CD\CC\CE   \CC\CC\CC\CC\DC\CC\CC\CC\CC\C5        \EA   \CD\
     CC\CC\CC\CC\CC\CC\CC\CE   \D5"
1120 DATA "\EA               \D5             \EA                 \D5
        \EA               \D5"
   : DATA "\CA\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC   \CD\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CE   \DC\CC\CC\CC   \CC\CC\CC\EC   \CD\CC\CC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CE   \CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\C5"
   : DATA "                                  \D5         \EA
                     "
1130 DATA "\E8\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC   \DC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\EC   \CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\CE   \DC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CC\CC\EC   \CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\D4
     "
   : DATA "\EA               \D5             \EA                 \D5
        \EA               \D5"
   : DATA "\EA   \CC\CC\CC\CC\CC\CC\DC\CC\EC   \CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CE   \CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC   \CD\CC\CC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CE   \DC\CC\EC\CC\CC\CC\CC\CC\CC   \D5"
1140 DATA "\EA         \D5 \EA
          \D5 \EA         \D5"
   : DATA "\EA\CC\CC\CC\CC\CC\CC   \CD\CC\CE   \DC\CC\CC\CC\CC\CC\CC\CC\CC\EC
       \DC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\EC   \DC\C
     C\CC\CC\CC\CC\CC\CC\CC\EC   \CD\CC\CE   \CC\CC\CC\CC\CC\CC\D5"
   : DATA "\EA               \D5        \EA   \D5                   \EA   \D5
            \EA               \D5"
1150 DATA "\EA   \DC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\C5        \EA   \CD\CC\C
     C\CC\CC\CC\CC\CC\CC\D4 \E8\CC\CC\CC\CC\CC\CC\CC\CC\CE   \D5        \CA\CC
     \CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\EC   \D5"
   : DATA "\EA   \D5                    \EA            \D5 \EA            \D5
                        \EA   \D5"
   : DATA "\EA   \CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CE\CC\CC\CC\CC\CC\CC\CC\CC\CC   \CD\CC\CE   \CC\CC\CC\CC\CC\CC\CC\CC\C
     C\CD\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CE   \D5
     "
1160 DATA "\EA
                  \D5"
   : DATA "\CA\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\
     CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\C
     C\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC\CC
     \CC\CC\CC\CC\CC\CC\CC\C5"
1170 PRINT HEX(03060202020F020402000E)
   : FOR K=68TO 1STEP -1
   : PRINT AT(11,K);
   : IF MOD(K,2)=0THEN PRINT HEX(EAFFD5C0)
   : ELSE PRINT HEX(E2FFD5C0)
   : PRINT AT(11,K+4);HEX(E8FFD4C0)
   : $BREAK255
   : $BREAK255
   : NEXT K
   : PRINT AT(11,0,80)
1180 $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : FOR K=1TO 68
1190 PRINT AT(10,K);
   : IF MOD(K,2)=0THEN A$=HEX(C0FCFCFCFCFCFC0A08080808080808C0FFFFFFFFFFFF0A08
     080808080808C0CFCFCFCFCFCF)
   : ELSE A$=HEX(C0FCFCFCFCFCFC0A08080808080808C0FFFFFFFFC0C00A08080808080808C
     0CFCFCFCFCFCF)
   : $GIO/005(A000)A$
   : PRINT AT(11,K+8);HEX(C0E89BD4)
   : $BREAK255
   : $BREAK255
   : NEXT K
1200 PRINT AT(10,0,240)
   : RETURN
1210 DIM W$(24)79
   : GOTO 1240
1220 DEFFN'254(X,Y)
   : X=INT(X)
   : Y=INT(Y)
   : X1=INT(Y/3)+1
   : Y1=INT(X/2)+1
   : B0=MOD(Y,3)*2+MOD(X,2)
   : STR(W$(X1),Y1,1)=XOR BIN(2^B0)
   : PRINT AT(X1-1,Y1-1);STR(W$(X1),Y1,1);
   : RETURN
1230 DEFFN'255(X,Y)
   : X=INT(X)
   : Y=INT(Y)
   : X1=INT(Y/3)+1
   : Y1=INT(X/2)+1
   : B0=MOD(Y,3)*2+MOD(X,2)
   : STR(W$(X1),Y1,1)=OR BIN(2^B0)
   : PRINT AT(X1-1,Y1-1);STR(W$(X1),Y1,1);
   : RETURN
1240 PRINT HEX(03060202020F020402000E)
   : FOR F=1TO 10
   : A=INT(RND(1)*117)+25
   : B=INT(RND(1)*30)+15
   : C=INT(RND(1)*10)+5
   : W$()=ALL(C0)
   : FOR K=69TO BSTEP -2
   : GOSUB '255(A,K)
   : GOSUB '254(A,K)
   : NEXT K
   : IF RND(1)>.5THEN GOTO 1260
   : D=INT(RND(1)*2)+1
   : FOR K=0TO CSTEP D
   : GOSUB '255(A,B-K)
   : GOSUB '255(A,B+K)
   : GOSUB '255(A-K,B)
   : GOSUB '255(A+K,B)
   : GOSUB '255(A-K,B-K)
   : GOSUB '255(A+K,B+K)
1250 GOSUB '255(A-K,B+K)
   : GOSUB '255(A+K,B-K)
   : NEXT K
   : GOSUB '254(A,B)
   : FOR K=0TO CSTEP D
   : GOSUB '254(A,B-K)
   : GOSUB '254(A,B+K)
   : GOSUB '254(A-K,B)
   : GOSUB '254(A+K,B)
   : GOSUB '254(A-K,B-K)
   : GOSUB '254(A+K,B+K)
   : GOSUB '254(A-K,B+K)
   : GOSUB '254(A+K,B-K)
   : NEXT K
   : GOTO 1270
1260 IF C>10THEN C=10
   : RESTORE LINE1280
   : FOR K=1TO C*6
   : READ R1,R2
   : GOSUB '255(A+R1,B+R2)
   : NEXT K
   : RESTORE LINE1280
   : FOR K=1TO C*6
   : READ R1,R2
   : GOSUB '254(A+R1,B+R2)
   : NEXT K
1270 NEXT F
1280 DATA -1,-1,1,-1,0,0,0,-1,-1,1,1,1
   : DATA -2,-1,2,-1,-1,-2,1,-2,-3,2,3,2
   : DATA -4,-1,4,-1,-3,-3,3,-3,-4,2,4,2
   : DATA -5,-2,5,-2,-5,-4,5,-4,-5,2,5,2
   : DATA -7,-2,7,-2,-7,-5,7,-5,-6,3,6,3
   : DATA -9,-2,9,-2,-8,-5,8,-5,-7,3,7,3
   : DATA -11,-1,11,-1,-10,-5,10,-5,-8,4,8,4
1290 DATA -13,0,13,0,-12,-4,12,-4,-9,5,9,5
   : DATA -15,1,15,1,-14,-3,14,-3,-9,6,9,6
   : DATA -16,2,16,2,-16,-2,16,-2,-9,6,-9,6
1300 PRINT HEX(0F);AT(3,25);"C O N G R A T U L A T I O N S !"
   : PRINT
   : PRINT TAB(12);"You have scored ";HEX(020404000E);"1,000,000 POINTS";HEX(0
     20402000F);" in this game of PAC-MAN."
1310 PRINT
   : PRINT TAB(8);"Since this is a great accomplishment, the author of this pr
     ogram"
   : PRINT TAB(6);"would appreciate it if you would contact him so that he may
      send you"
   : PRINT TAB(26);"a Certificate of Achievement!"
   : PRINT
   : PRINT TAB(30);"Please call or write:"
   : PRINT
1320 PRINT TAB(34);"Steve McGarry"
   : PRINT TAB(25);"Wang Laboratories, Incorporated"
   : PRINT TAB(31);"1 Industrial Avenue"
   : PRINT TAB(26);"Lowell, Massachusetts  01851"
   : PRINT TAB(30);"Phone: (617) 459-5000"
   : PRINT HEX(020402000E)
1330 FOR K=0TO 2
   : PRINT AT(20,1);
   : FOR J=0TO 12
   : PRINT TAB(J*6+(2-K)*2+2);HEX(CF);
   : NEXT J
   : PRINT TAB(80);HEX(01)
   : PRINT AT(0,0);
   : FOR J=0TO 12
   : PRINT TAB(J*6+K*2);HEX(CF);
   : NEXT J
   : PRINT TAB(80)
   : FOR J=20TO 2STEP -3
   : PRINT AT(J-K+1,0,1)
   : PRINT AT(J-K,0);HEX(CF)
   : NEXT J
   : FOR J=0TO 18STEP 3
   : IF J+K>0THEN PRINT AT(J+K-1,78,1)
   : PRINT AT(J+K,78);HEX(CF)
   : NEXT J
   : NEXT K
   : GOTO 1330
1340 DEFFN'30"SELECTLIST215(132):LIST";HEX(22);"DE-COMPRESSED PROGRAM TEXT";HE
     X(22);"D:LIST";HEX(22);"LINE NUMBER CROSS-REFERENCE";HEX(22);"#:LIST";HEX
     (22);"VARIABLE CROSS-REFERENCE";HEX(22);"V:LIST";HEX(22);"DEFINED SUBROUT
     INE CROSS-REFERENCE";HEX(22);"':SELECTLIST005(80)";HEX(0D)
1350 DEFFN'31"Z$=";HEX(22);"PAC-MAN";HEX(22);":SCRATCHTZ$:SAVET$()Z$";HEX(0D)
2000 DATA LOAD DC OPEN T"SCORE"
2010 DATA LOAD DC N$(),S9()
2020 FOR X=1 TO 5