image of READY prompt

Wang2200.org

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

# Sector 945, program filename = 'PAC-MAN'
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)
0070 PRINT HEX(0202020F0306);" Player 1 = ";
   : PRINTUSING "######",S0(1)
   : PRINT AT(0,61);"Player 2 = ";
   : PRINTUSING "######",S0(2)
   : PRINT
   : PRINT TAB(11);HEX(FCFCFCFCFCF0C0C0C0C0FCC0C0C0C0C0C0F0FCFCFCFCFCFCF0C0C0C
     0C0C0C0C0C0C0C0F4C0C0C0C0C0F8C0C0C0C0FCC0C0C0C0D4C0C0C0FCFCFC)
0072 PRINT TAB(11);HEX(FFFFFFFFFFFFF5C0C0EAFFD5C0C0C0F8FEFFFFFFFFFFFFFFFFFDF4C
     0C0C0C0C0C0C0C0FFFDD0C0E0FEFFC0C0C0EAFFD5C0C0C0FFD0C0C0FFFFFF)
0073 PRINT TAB(11);HEX(FFFFFFFCFFFFDFC0C0FFFFFFC0C0FAFFFFFFFFFFFFFFFFFFCFC7C3C
     0E0F0F0F0F0D0C0FFFFFFFCFFFFFFC0C0C0FFFFFFC0C0C0FFFDC0C0FFFFFF)
0074 PRINT TAB(11);HEX(FFFFFFFFFFCFC1C0EAFFFFFFD5C0FFFFFFFFFFFFFFF7D1C0C0C0C0C
     0EAFFFFFFFFD5C0FFFFFFFFFFFFFFC0C0EAFFFFFFD5C0C0FFFFF5C0FFFFFF)
0075 PRINT TAB(11);HEX(FFFFFFC0C0C0C0C0FFFFFCFFFFC0EBFFFFFFFFFFFFFFFFFFFCF4F0C
     0C2C3C3C3C3C1C0FFFFFFFFFFFFFFC0C0FFFFFCFFFFC0C0FFFFFFD4FFFFFF)
0076 PRINT TAB(11);HEX(FFFFFFC0C0C0C0EAFFFFFFFFFFD5C0CBEFFFFFFFFFFFFFFFFFDFC7C
     0C0C0C0C0C0C0C0FFFFFFFFFFFFFFC0EAFFFFFFFFFFD5C0FFFFFFFFFFFFFF)
0077 PRINT TAB(11);HEX(CFCFCFC0C0C0C0CFCFCFCFCFCFCFC0C0C0C3CFCFCFCFCFCFC3C0C0C
     0C0C0C0C0C0C0C0CFCFCFCFCFCFCFC0CFCFCFCFCFCFCFC0CFCFCFCFCFCFCF)
   : PRINT
   : PRINT TAB(32);"by Steve McGarry"
0080 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)
0085 PRINT AT(13,20);HEX(020404000E8B020402000F)
   : S=-1
   : FOR K=1TO 4
   : Y1(K)=20+K*3
   : NEXT K
0090 IF S=-1THEN FOR K=60TO 20STEP S
   : ELSE FOR K=20TO 70STEP S
   : PRINT AT(13,K);HEX(0E);
   : IF S=1THEN 110
   : IF MOD(K,2)=0THEN PRINT HEX(EAFFD5);
   : ELSE PRINT HEX(E2FFD5);
   : GOTO 120
0110 IF MOD(K,2)=0THEN PRINT HEX(08C0EAFFD5);
   : ELSE PRINT HEX(08C0EAFFD1);
0120 FOR J=4TO 1STEP -1
   : IF S=-1THEN PRINT HEX(E8FFD4);
   : IF S=-1THEN 130
   : IF Y1(J)=0THEN 130
   : IF MOD(K,2)<>0THEN 130
   : Y1(J)=Y1(J)+1
   : IF Y1(J)>KTHEN PRINT AT(13,Y1(J));HEX(0EE89BD4)
   : IF Y1(J)>KTHEN 130
   : PRINT AT(13,K);HEX(0E);
   : PRINTUSING "###",J*200
   : FOR L=1TO 15
   : $BREAK255
   : NEXT L
   : Y1(J)=0
0130 NEXT J
   : IF S=-1THEN PRINT TAB(79)
   : PRINT AT(13,K);HEX(0E);
   : IF S=1THEN 140
   : IF MOD(K,2)=0THEN PRINT HEX(EAFFD5)
   : ELSE PRINT HEX(E2FFD5)
   : GOTO 150
0140 IF MOD(K,2)=0THEN PRINT HEX(C0EAFFD5)
   : ELSE PRINT HEX(C0EAFFD1)
0150 KEYIN K$,150,150
   : IF K$<>"1"AND K$<>"2"THEN 160
   : CONVERT K$TO P1
   : GOTO 180
0160 $BREAK255
   : $BREAK255
   : $BREAK255
   : NEXT K
   : IF S=1THEN 170
   : S=1
   : GOTO 90
0170 PRINT AT(13,0,80)
   : FOR K=1TO 100
   : K$=" "
0172 KEYIN K$,172,172
   : IF K$>" "THEN K=200
   : $BREAK255
   : NEXT K
   : IF K=200THEN 150
   : GOTO 85
0180 RETURN CLEAR ALL
   : IF P1=1THEN P0=1
   : ELSE P0=2
0190 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 LINE2040
   : MAT READ A$
0240 IF P1=1THEN 250
   : IF P0=2THEN P0=1
   : ELSE P0=2
   : IF P(P0)=0THEN 240
0250 IF F9=0THEN 260
   : FOR K=1TO 7500
   : NEXT K
0260 F9=1
   : IF MOD(S1(P0),2)=0AND D0(P0)=D(P0)AND D(P0)>0THEN GOSUB 2070
   : 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
0290 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 395
   : S1(P0)=S1(P0)+1
   : D(P0),D0(P0)=0
   : RESTORE
   : FOR X=1TO 23
0350 READ Y
   : IF Y=0THEN 360
   : STR(D$(P0,X),Y,1)=HEX(90)
   : D(P0)=D(P0)+1
   : GOTO 350
0360 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
0395 STR(D$(P0,14),39,3)="   "
   : FOR X=1TO 23
   : IF STR(D$(P0,X),1)=" "THEN 425
   : FOR Y=1TO 79
   : IF POS(STR(D$(P0,X),Y+1)>" ")=0THEN Y=80
   : IF Y=80THEN 420
   : 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)
0420 NEXT Y
0425 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
0460 KEYIN K$,460,460
   : 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 660
0540 IF F=0THEN F=1
   : ELSE F=0
   : IF D1<>-1THEN 570
   : IF STR(A$(X),Y-1,1)=" "THEN 640
   : GOTO 630
0570 IF D1<>1THEN 590
   : IF STR(A$(X),Y+3,1)=" "THEN 640
   : GOTO 630
0590 IF D2<>1THEN 610
   : IF STR(A$(X+1),Y,3)="   "THEN 640
   : GOTO 630
0610 IF D2<>-1THEN 630
   : IF STR(A$(X-1),Y,3)="   "THEN 640
0630 D1,D2=0
   : C=1
0640 X0=X
   : Y0=Y
   : X=X+D2
   : Y=Y+D1
   : IF Y=1THEN Y=76
   : IF Y=77THEN Y=2
0660 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 670
   : 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
0670 IF S0=S0(P0)THEN 700
   : D0(P0)=D0(P0)+1
   : STR(D$(P0,X),Y,3)=ALL(20)
   : IF INT(S0/5000)=INT(S0(P0)/5000)THEN 690
   : 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
0690 IF S0(P0)>999999THEN 3000
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
0700 PRINT AT(X0,Y0-1,3);AT(X,Y-1);HEX(0E);
   : IF C=0THEN 720
   : PRINT HEX(EAFFD5)
   : C=0
   : GOTO 770
0720 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
0770 IF D0(P0)=D(P0)THEN 250
   : K$=" "
   : KEYIN K$,800,795
   : GOTO 800
0795 $TRAN(K$,HEX(3846385632453255364C365C344D345D))R
0800 IF K$<>HEX(20)THEN K1$=K$
   : K$=K1$
   : IF K$<"1"THEN 900
   : IF K$>"8"THEN 900
   : CONVERT K$TO K
   : ON KGOTO ,850,,860,870,880,,890
   : GOTO 900
0850 IF STR(A$(X+1),Y,3)<>"   "THEN 900
   : IF X=10AND Y=39THEN 900
   : D2=1
   : D1=0
   : GOTO 900
0860 IF STR(A$(X),Y-1,1)<>" "THEN 900
   : D1=-1
   : D2=0
   : GOTO 900
0870 D1,D2=0
   : GOTO 900
0880 IF STR(A$(X),Y+3,1)<>" "THEN 900
   : D1=1
   : D2=0
   : GOTO 900
0890 IF STR(A$(X-1),Y,3)<>"   "THEN 900
   : D1=0
   : D2=-1
   : GOTO 900
0900 IF B=0THEN 930
   : IF X<>14THEN 930
   : IF Y<>39THEN 930
0910 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 920
   : 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
0920 IF S0(P0)>999999THEN 3000
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
0930 IF B>0THEN 931
   : M(P0)=M(P0)+1
   : IF M(P0)<300THEN 940
   : M(P0)=1
   : B=INT(B0(P0))
   : STR(D$(P0,14),39,3)=B$(B)
   : PRINT AT(14,38);HEX(0E);B$(B)
   : GOTO 940
0931 B0=B0+1
   : IF B0<150THEN 940
   : B0=0
   : B=0
   : IF B0(P0)<6THEN B0(P0)=B0(P0)+.5
   : PRINT AT(14,38,3)
   : STR(D$(P0,14),39,3)="   "
0940 IF E=0THEN 960
   : E=E-1
   : IF E>0THEN 960
   : FOR G=1TO 4
   : IF S(G)<>2THEN 950
   : S(G)=1
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
0950 NEXT G
0960 FOR G=1TO 4
   : G9=G9+1
   : IF G9>1000THEN G9=0
   : IF S(G)<4THEN 980
   : IF G9>(105-25*MIN(S1(P0),4))*(G-1)THEN S(G)=1
   : ELSE GOTO 1620
0980 MAT T=ZER
   : C0=0
   : IF X1(G)<>XTHEN 1010
   : IF Y1(G)=YTHEN 1670
1010 IF Y1(G)>=14AND Y1(G)<=67THEN 1050
   : IF X1(G)<>12THEN 1050
   : IF F<>0THEN 1050
   : IF S(G)<>3THEN 1620
1050 IF S(G)<>2THEN 1070
   : IF F=0THEN 1620
1070 IF S(G)<3THEN 1080
   : IF X1(G)<>12THEN 1080
   : IF Y1(G)<>39THEN 1080
   : S(G)=1
1080 IF X1(G)<>12THEN 1110
   : IF Y1(G)<36THEN 1110
   : IF Y1(G)>42THEN 1110
   : 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 1620
1110 IF STR(A$(X1(G)-1),Y1(G),3)<>" "THEN 1210
   : IF X1(G)-1=X0(G)THEN 1210
   : IF S(G)<3THEN 1150
   : IF 12<X1(G)THEN 1145
   : T(1)=C0+1
   : C0=C0+1
   : GOTO 1210
1145 T(1)=C0+50
   : C0=C0+50
   : GOTO 1210
1150 IF X<X1(G)THEN 1180
   : IF S(G)=2THEN 1190
1170 T(1)=C0+5
   : C0=C0+5
   : GOTO 1210
1180 IF S(G)=2THEN 1170
1190 T(1)=C0+25
   : C0=C0+25
1210 IF STR(A$(X1(G)),Y1(G)+3,1)<>" "THEN 1310
   : IF Y1(G)+1=Y0(G)THEN 1310
   : IF S(G)<3THEN 1250
   : IF 39>Y1(G)THEN 1245
   : T(2)=C0+1
   : C0=C0+1
   : GOTO 1310
1245 T(2)=C0+50
   : C0=C0+50
   : GOTO 1310
1250 IF Y>Y1(G)THEN 1280
   : IF S(G)=2THEN 1290
1270 T(2)=C0+5
   : C0=C0+5
   : GOTO 1310
1280 IF S(G)=2THEN 1270
1290 T(2)=C0+25
   : C0=C0+25
1310 IF STR(A$(X1(G)+1),Y1(G),3)<>" "THEN 1420
   : IF X1(G)+1=X0(G)THEN 1420
   : IF S(G)<3THEN 1350
   : IF 12>X1(G)THEN 1345
   : T(3)=C0+1
   : C0=C0+1
   : GOTO 1420
1345 T(3)=C0+50
   : C0=C0+50
   : GOTO 1420
1350 IF X1(G)<>10THEN 1360
   : IF Y1(G)=39THEN 1420
1360 IF X>X1(G)THEN 1390
   : IF S(G)=2THEN 1400
1380 T(3)=C0+5
   : C0=C0+5
   : GOTO 1420
1390 IF S(G)=2THEN 1380
1400 T(3)=C0+25
   : C0=C0+25
1420 IF STR(A$(X1(G)),Y1(G)-1,1)<>" "THEN 1510
   : IF Y1(G)-1=Y0(G)THEN 1510
   : IF S(G)<3THEN 1460
   : IF 39<Y1(G)THEN 1455
   : T(4)=C0+1
   : C0=C0+1
   : GOTO 1510
1455 T(4)=C0+50
   : C0=C0+50
   : GOTO 1510
1460 IF Y<Y1(G)THEN 1490
   : IF S(G)=2THEN 1500
1480 T(4)=C0+5
   : C0=C0+5
   : GOTO 1510
1490 IF S(G)=2THEN 1480
1500 T(4)=C0+25
   : C0=C0+25
1510 R=INT(RND(1)*C0)
   : X0(G)=X1(G)
   : Y0(G)=Y1(G)
   : IF R<T(1)THEN 1580
   : IF R<T(2)THEN 1590
   : IF R<T(3)THEN 1600
   : IF R<T(4)THEN 1610
   : STOP "- HOW THE HELL DID I END UP IN A DEAD END?!?!?!?!?!?"
1580 X1(G)=X1(G)-1
   : GOTO 1620
1590 Y1(G)=Y1(G)+1
   : GOTO 1620
1600 X1(G)=X1(G)+1
   : GOTO 1620
1610 Y1(G)=Y1(G)-1
   : GOTO 1620
1620 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 1640
   : Y1(G)=76
   : Y0(G)=77
1640 IF Y1(G)<>77THEN 1650
   : Y1(G)=2
   : Y0(G)=1
1650 PRINT AT(X1(G),Y1(G)-1);
   : IF S(G)<>2THEN 1660
   : IF E<1OR E>24THEN 1660
   : IF F<>0THEN 1660
   : PRINT HEX(020402020F);
1660 PRINT HEX(0E);G$(S(G));HEX(020402000F)
1670 IF X1(G)<>XOR Y1(G)<>YTHEN 1780
   : IF S(G)=1THEN 1690
   : IF S(G)=3THEN 1010
   : 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)
1675 IF INT(S0/5000)=INT(S0(P0)/5000)THEN 1680
   : 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
1680 IF S0(P0)>999999THEN 3000
   : PRINT AT(0,12+(P0-1)*60);HEX(0E);
   : PRINTUSING "######",S0(P0)
   : GOTO 1780
1690 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 1760
   : GOTO 240
1760 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
1770 KEYIN K$,1770,1770
   : K$=" "
   : IF P(1)=0AND P(2)=0THEN 10
   : F9=0
   : GOTO 240
1780 NEXT G
   : GOTO 540
1810 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
1880 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
1980 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
2040 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"
2043 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"
2046 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"
2049 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
                     "
2052 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"
2055 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"
2058 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
     "
2061 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"
2070 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)
2140 $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : $BREAK255
   : FOR K=1TO 68
2160 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
2200 PRINT AT(10,0,240)
   : RETURN
3000 DIM W$(24)79
   : GOTO 3100
3020 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
3060 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
3100 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 3380
   : 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)
3230 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 3460
3380 IF C>10THEN C=10
   : RESTORE LINE3470
   : FOR K=1TO C*6
   : READ R1,R2
   : GOSUB '255(A+R1,B+R2)
   : NEXT K
   : RESTORE LINE3470
   : FOR K=1TO C*6
   : READ R1,R2
   : GOSUB '254(A+R1,B+R2)
   : NEXT K
3460 NEXT F
3470 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
3540 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
3700 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."
3710 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
3730 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)
4010 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 4010
9998 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)
9999 DEFFN'31"Z$=";HEX(22);"PAC-MAN";HEX(22);":SCRATCHTZ$:SAVET$()Z$";HEX(0D)