X(TI)W ST(7),ST$(7,12),PL(7),PL$(7,6),F$(4),D$(24),N$(52),CS$(12):53269,010000:11000:12000:13000:14000:15000:1600017000:V21,4:1500(6000d THIS IS THE MAIN GAME PLAYING ROUTINE iCT0:I17:CTCTST(I):I:CT0N5220000$ nI$:500:I$""1105 xI$"R"1000F I$"L"2000W I$"P"3000h I$"D"4000y I$"F"5000 I$"N"6000 I$"E"7000 I$(133)16500 I$(134)16300 100  THIS ROUTINE IS USED TO READ THE JOYSTICK JS127(56320)# JS05999 JS1I$"D":590O JS8I$"R":590e &JS2I$"P":590{ 0JS4I$"L":590 :JS18I$"N":590 DJS17I$"F":590 NA150:A W  THIS ROUTINE MOVES THE SPRITE TO THE RIGHT SC7100 SCSC1:1500:100)  MOVE SPRITE(S)[ SC7V16,0:V4,(SC1)4022:V5,SY:1599 SC7V21,4:V16,5:V4,7:V5,SY:1599 V21,1 ?  THIS ROUTINE MOVES THE SPRITE TO THE LEFT SC2100 SCSC1:1500:100 THIS ROUTINE PICKS UP CARD(S)E H1E$"YOU HAVE CARDS IN YOUR HAND":9000T SC83100 D1E$"THERE ARE NO CARDS TO PICK UP":9000 CS$(1)D$(D):CS1:DD1:3500:FRSC:3199  ST(SC)1E$"THERE ARE NO CARDS TO PICK UP":9000 & X1ST(SC):CS$(X)ST$(SC,X):X 0 CSST(SC)< : 3600:ST(SC)0:FRSC:3199I  H1:100 THIS ROUTINE PRINTS THE BACK OF A CARD AT THE BOTTOM OF THE SCREEN (19);:X121:(13);:X (156);:X13:35)"";(13);:X Y2018:Z56290:Y1102:Z14 $ X14:YX,Y1:ZX,Z1:X:(19);*L PRINT BACK OF CARD ON STACK(31);(19);:KST(SC)3:X1K:(13);:X $X1K.(SC1)5)(18);" ";(13);(145);:(145);8XV(146);(156);[PL(SC)03699`X14:(13);(SC1)5)"";:Xs? DROP STACK OF CARDS IN YOUR HANDT ERROR CHECKINGcSC84100CS$(1)" "E$"YOU ARE NOT HOLDING ANY CARDS":9000FR8E$"YOU CAN NOT DROP THESE CARDS HERE.":9000DD1:D$(D)CS$(1):6500:4999,CS1E$"YOU ARE NOT HOLDING ANY CARDS":9000?ST(SC)04111fSU$CS$(1):5500:5600:DSDE:SSSUSU$ST$(SC,ST(SC)):5500:5600 DEDS1E$"YOU CAN'T PLAY THAT CARD HERE":9000 SS1SS3SSSS1 SU1SU3SUSU1# SSSUE$"YOU CAN'T PLAY THAT COLOR HERE":9000-4115=SCFR4115{(CS$(1),1)"K"E$"YOU CAN ONLY PUT A KING HERE":9000X1CS:ST(SC)ST(SC)1:ST$(SC,ST(SC))CS$(X):XXSC:18000:SCFR4999FR74150PL(FR)04130PL(FR)0(19);(13);(31);:X14?(FR1)5)S3$;(13);:X:FR0:4999"ST(FR)1:ST$(FR,ST(FR))PL$(FR,PL(FR)):PL(FR)PL(FR)1:XFR:18000,49996D06500:4999@(19);:X121:(13);:X JX13:35)" ";(13);:XTY2018:Z56290:Y132:Z11G^X14:YX,Y1:ZX,Z1:X:(19);:4999fH0:CS0:CS$(1)" ":100 FOUNDATION ROUTINEH1E$"YOU HAVE CARDS IN YOUR HAND":9000SC85050D1E$"THERE IS NO CARD TO FOUNDATION":9000SU$D$(D):5500:5600:DSDE:5100OST(SC)1E$"THERE IS NO CARD TO FOUNDATION":9000xSU$ST$(SC,ST(SC)):5500:5600:DSDESU$F$(SU):5600DEDS1E$"YOU CAN'T FOUNDATION THIS CARD":9000SC8F$(SU)ST$(SC,ST(SC)):5140 F$(SU)D$(D)$S1$CO$(((F$(SU),1)))(18)(32)0(19);[(13);:SU1X1(SU1)5:(13);:X(35)S1$;(F$(SU),2);S2$;(13);2Z13:35)S3$;(13);:Z:(19);<SC85250FDD1:D06500:100PX121:(13);:XZX13:35)" ";(13);:X$dY2018:Z56290:Y132:Z11OnX14:YX,Y1:ZX,Z1:X:(19);:100rST(SC)ST(SC)1:ST(SC)05400PL(SC)05300(19);(13);(31);X14:(SC1)5);S3$;(13);:X100ST(SC)1:ST$(SC,1)PL$(SC,PL(SC)):PL(SC)PL(SC)1XSC:18000:100)SU2(144);;"SU3(28);X,X1ST(SC)1:(13);:X|6X13:(SC1)5)S3$;(13);:X@(31);(SC1)5)S3$;(19);:100| CONVERT SUIT TO A NUMBERSU1:(SU$,2,1)""SU2(SU$,2,1)""SU3(SU$,2,1)""SU4= CONVERT DENOMINATION TO A NUMBER[DE((SU$,1)):DE05699r(SU$,1)"A"DE1(SU$,1)"T"DE10(SU$,1)"J"DE11(SU$,1)"Q"DE12(SU$,1)"K"DE13Cp DEAL NEXT CARDuH1E$"YOU HAVE CARDS IN YOUR HAND":9000PzN52E$"THERE ARE NO MORE CARDS LEFT.":9000lDD1:NN1:D$(D)N$(N){6500:100d PRINT LATEST DISCARDn(19);:X121:(13);:XxS1$CO$(((D$(D),1)))(18)(32)35)S1$;(D$(D),2);S2$;(13);Z12:35)S3$;(13);:ZQY2018:Z56290:Y1160:Z10:(D$(D),1)"1"Z12wX14:YX,Y1:ZX,Z1:X:(19);}X THIS ROUTINE ALLOWS THE OPTION OF NEW GAME OR CONTINUATIONb(19);:X119:(13);:X l(18);(31);"NEW GAME - (Y/N/C)?";(13);vA$:A$""7030-A$"Y"?A$"N"20120Y(13);(145);(145);C$" ":C$C$C$C$C$" "(18);C$;(13);:(18);C$;100(# DISPLAY ERROR MESSAGES ON SCREEN2#(19);:X119:(13);:X <#(18);(31);E$;(13);1F#(18);"PRESS ANY KEY TO CONTINUE";FP#A$:A$""9050aU#127(56320)169040{Z#(13);(145);(145);d#C$" ":C$C$C$C$C$" "n#(18);C$;(13);:(18);C$;x#100' THIS ROUTINE DRAWS THE COVER SCREEN'(147);:53281,10:53280,2*$'X18:(13);:XN.'11)(144);"S O L I T A I R E"`8'(13):(13)zB'18)(28);"BY";(13)L'10)"DONNA AND SAM SHUPE"V'X1200:X** THIS ROUTINE INITIALIZES THE ORIGINAL DECK OF CARDS+Y0:S$"":C$"1":11100:  +Y1:S$"":11100:?+Y2:S$"":C$"2":11100:U +Y3:S$"":11100`*+11999\+X113:N1$:N$(XY13)N1$S$C$::f+ A,2,3,4,5,6,7,8,9,T,J,Q,K.. THIS ROUTINE SHUFFLES THE CARDS 2 TIMES.N152:Y((1)52)1.N1$N$(N):N$(N)N$(Y):N$(Y)N1$$.N?/N152:Y((1)52)1c/N1$N$(N):N$(N)N$(Y):N$(Y)N1$j/Np22 THIS ROUTINE INITIALIZES THE SPRITE POINTER2V53248:2042,13:2040,142N062:Q:832N,Q:2V41,7 ,3 0,7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224X 63 0,63,250,0,63,250,0,63,250,0,63,250,0,63,250,0,63,250 @3 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 J3 0,0,0,0,0,0,0,0,0 3N062:Q:896N,Q: 3V39,7 3 0,15,192,0,15,192,0,15,192,0,15,255,0,15,255,0,15,2558!3 0,15,255,0,15,255,0,15,255,0,15,192,0,15,192,0,15,192b!4 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0z!4 0,0,0,0,0,0,0,0,0!6!6 THIS ROUTINE INITIALIZES ALL POINTERS!6D0:SC1:SY190:V,10:V1,230!6X17:ST(X)1:!6X17:PL(X)X1:"6CO$(1)(28):CO$(2)(144) ":c": THIS ROUTINE DEALS THE CARDS TO THE STACKS AND UNKNOWN PILESk":N0v":X17":PL(X)0Y1PL(X):NN1:PL$(X,Y)N$(N):Y":NN1:ST$(X,1)N$(N)":X">#> THIS ROUTINE DRAWS THE INITIAL SCREEN OF CARDS!#>(147);:53281,1:53280,14N#>S2$(32)(146):S3$(18)" "(146)#>CL$" ":CL$CL$" SOLITAIRE "CL$#>(31);(18);CL$#>CL$" ":CL$CL$CL$CL$CL$" "#>X120:(31);(18);CL$:X:Y1160:Z16#>163000$>Y1983:Z56255:X134:YX,Y1:ZX,Z1:X:(19);6$G?X$? PRINT KEYBOARD INSTRUCTIONS}$?(19);(31);:X121:(17);:X$?CL$"N-NEXT F-FOUNDATION E-END "$?(18);CL$$?CL$"L-LEFT D-DROP F1-JOYSTK"$?(18);CL$"%?CL$"R-RIGHT P-PICK UP INSTR "1%?(18);CL$7%@Y%t@ PRINT JOYSTICK INSTRUCTIONS~%~@(19);(31);:X121:(17);:X%@CL$" ^-DROP FIRE + E-END "%@(18);CL$%@CL$" V-PICK UP ^-FOUNDATION F3-KEYBRD"%@(18);CL$#&@CL$"<->L & R V-NEXT INSTR "2&@(18);CL$8&@m&hB THIS ROUTINE DRAWS THE INITIAL STACKS OF CARDSx&rBX17&|B18000&BX&OF&PF PLACE STACK OF CARDS ON SCREEN&ZF(19);(13);&dFY1ST(X)'nFS1$CO$(((ST$(X,Y),1)))(18)(32)+'F(X1)5)S1$;(ST$(X,Y),2);S2$;(13);2'FYk'FZ13:(X1)5);S3$;(13);:Z q'7J' N YOU FINALLY DID IT'%N53269,0'*N(147);:X18:(13);:X'4N11)(144);"CONGRATULATIONS!"'>NJ110'HN53281,J:53280,J5 (RNI1200:(\NJ((pNI15:(13):IK(zN(28);" PLAY AGAIN? (Y/N)";`(NA$:A$""20100n(NA$"Y"(N(147);(154);:53281,6:53280,14(N53269,0(R