10 IFX=0THENX=1:LOAD"PACKAGE.51.O",8,1 20 SYS38921,50432,"JOEPLAY":SYS38921,35840,"SOS.LNK":SYS38921,51456,"UNPACKER":SYS38921,40960,"ROMUSIC":POKE56,114:CLR:SYS38933,29184,35840,0:SYS38921,29184,"FEATURES":IFAG=0THENAG=0 44 POKE808,234 45 R=53265:J=128:SU=38912:SD=SU+3:WW=SD+3:BL=WW+3:CW=BL+3:RE=CW+3:TE=RE+3:FI=TE+3:US=FI+3:S=54272:POKE649,1:DIMM$(110,3),T$(450):GOSUB780:SP$=" ":LM=1:RM=38:TM=3:BM=20:GOSUB270:SYSWW:SYSCW,16 130 LP=1:LM=1:RM=38:TM=3:BM=19:GOSUB270:SYSWW:SYSCW,1:GOSUB3220:IFMUTHENSYS50432,40960 160 GOSUB530:SYS51459:POKE53270,PEEK(53270)AND239 170 LM=1:RM=37:TM=3:BM=19:GOSUB3220:GOSUB950 230 IFLEFT$(M$(MP,0),1)="*"THENGOSUB1550:GOTO230 240 GOTO1200 270 POKE828,LM:POKE829,RM:POKE830,TM:POKE831,BM:DI=BM-TM:RETURN 330 LM=PEEK(828):RM=PEEK(829):TM=PEEK(830):BM=PEEK(831):DI=BM-TM:RETURN 390 POKE828,0:POKE829,39:POKE830,0:POKE831,19:RETURN 440 SH=6:XP=4:YP=9:GOSUB530:SYS51462:FORDL=1TO100:NEXT:SH=5:XP=1:YP=9:GOSUB530:SYS51462:SYSTE,LEFT$(M$(MP,3),1),2,12,0:RETURN 530 POKE249,224:POKE250,204:POKE251,0:POKE252,SB:POKE253,XP:POKE254,YP:POKE255,SH:RETURN 600 GOSUB270:SYSWW:QU=0:GOSUB4020:IFQU=1THENRETURN 630 FORDL=1TO200:NEXT:GOSUB530:SYS51459:SYS50435:PRINT"[147]":POKE56,160:CLR:POKE808,237:POKE56325,59:LOAD"GOODBYE",8:END 680 V=53248:IFNOT(MU)THEN730 700 POKES+4,0:POKES+11,0:POKES+18,0:POKES+5,8:POKES+6,0:POKES+24,15:POKES+4,20:POKES,RND(0)*256:POKES+1,RND(0)*256:POKES+14,RND(0)*256:POKES+15,30:POKES+4,21 730 FORI=59TO63:WAITR,J:POKER,I:NEXT:FORI=63TO56STEP-1:WAITR,J:WAITR,J:POKER,I:NEXT:FORI=56TO59:WAITR,J:WAITR,J:WAITR,J:WAITR,J:POKER,I:NEXT:RETURN 780 SYSRE,29184,T$(0):MO$=T$(2):M=1:NL=PEEK(251)+PEEK(252)*256-2:NL=(NL-2)/4:C=3:FORX=1TONL:M$(X,0)=T$(C):T$(C)="":M$(X,1)=T$(C+1):T$(C+1)="":M$(X,2)=T$(C+2):T$(C+2)="":M$(X,3)=T$(C+3):T$(C+3)="":C=C+4:NEXT:M=NL:A=PEEK(51)+PEEK(52)*256:A=A-1:AH=INT(A/256):AL=A-AH*256 890 OPEN2,8,2,"SETUP":INPUT#2,BO,BK,TC,PA,SA:CLOSE2:MU=PEEK(179):CO=PEEK(180):IFMU<>1ANDMU<>0THENMU=1 914 IFMU=1THENMU=-1 916 IFCO<>1ANDCO<>0THENCO=1 918 IFCO=1THENCO=-1 920 FORX=0TO24:POKES+X,0:NEXT:MP=PEEK(178):GOSUB4130:IFS$="1"THEN930 927 IFMP<>0THEN930 928 MP=1 929 REM IFM$(MP,3)<>S$THENMP=MP+1:GOTO929 930 IFMP<1ORMP>NLTHENMP=1 935 RETURN 950 RF=0:LM=8:RM=38:GOSUB270:SYSWW:SYSCW,1:SH=5:XP=1:YP=9:GOSUB530:SYS51462:YP=3:XP=LM:BR=MP-8+ABS(MP>8):FORX=BRTOMP+9:IFX<0THENSYSTE," ",XP,YP,0:GOTO1070 1020 IFX=0THENX=1 1030 MO=0:GOSUB1110:GOSUB1160:IFFL=1THENSYSTE,MID$(M$(X,0),2),XP,YP,MO:GOTO1070 1060 SYSTE,M$(X,0),XP,YP,MO 1070 YP=YP+1:NEXT:RETURN 1110 MO=0:IFLEFT$(M$(X,0),1)="+"ORLEFT$(M$(X,0),1)="!"THENMO=1 1140 RETURN 1160 FL=0:IFLEFT$(M$(X,0),1)="+"ORLEFT$(M$(X,0),1)="*"THENFL=1 1172 IFLEFT$(M$(X,0),1)="!"THENFL=1 1180 RETURN 1200 POKE53280,6 1220 SYSTE,M$(MP,3),2,12,0:GOSUB1340:IFOP=1THENGOSUB1550 1250 IFOP=2THENGOSUB1650 1260 IFOP=3THENGOSUB440:LM=7:RM=37:GOSUB270:SYSWW:SYSCW,1:GOTO1920 1270 IFOP=4THENGOSUB600:POKE828,7:POKE831,17:POKE829,37:SYSCW,1:SYSWW:GOSUB950 1272 IFOP=4THEN1200 1280 IFOP=5THENGOSUB1760 1290 IFOP=6THENGOSUB1840 1300 IFOP=7THENGOSUB3720:LM=7:GOSUB270:SYSWW:SYSCW,1:GOTO170 1310 GOTO1220 1340 : 1350 IFMUANDPEEK(666)=0THENSYS50432,40960 1352 IFPEEK(197)=64ANDPEEK(56320)=127THEN1350 1360 A=PEEK(197):J%=NOTPEEK(56320)AND31:POKE198,0:IFA=64ANDJ%=0THEN1350 1380 IFA=6ORA=7ORJ%=2THENOP=1:GOTO1530 1390 IFA=5ORA=2ORJ%=1THENOP=2:GOTO1530 1400 IFA=1ORA=60ORJ%=16THENOP=3:GOTO1530 1410 IFA=62THENOP=4:GOTO1530 1420 IFA=3ORJ%=8THENOP=5:GOTO1530 1430 IFA=4ORJ%=4THENOP=6:GOTO1530 1440 IFA=41THENOP=7:GOTO1530 1470 IFA=13THENGOSUB3460:GOTO1350 1480 IFA=20ANDRF=1THENGOSUB3520:GOTO1350 1490 IFA=28ANDRF=1THENGOSUB3570:GOTO1350 1510 GOSUB680:GOTO1350 1530 RETURN 1550 : 1560 IFMP=MTHENGOSUB680:GOTO1630 1570 GOSUB270:SYSSU:MP=MP+1:YP=BM:XP=LM:X=MP+9:GOSUB1110:GOSUB1160:SYSTE,LEFT$(SP$,30),XP,YP,0:IFFL=1THENSYSTE,MID$(M$(X,0),2),XP,YP,MO:GOTO1610 1600 SYSTE,M$(X,0),XP,YP,MO 1610 IFLEFT$(M$(MP,0),1)<>"*"ANDLEFT$(M$(MP,0),1)<>"!"THEN1630 1620 IFMP<>MTHEN1560 1622 GOSUB680:GOSUB1650 1630 RETURN 1650 : 1660 IFMP=1THENGOSUB680:GOTO1740 1670 GOSUB270:SYSSD:MP=MP-1:YP=TM:XP=LM:X=MP-7:SYSTE,LEFT$(SP$,30),XP,YP,0:IFX<1THENSYSTE," ",XP,YP,0:GOTO1720 1690 GOSUB1110:GOSUB1160:IFFL=1THENSYSTE,MID$(M$(X,0),2),XP,YP,MO:GOTO1720 1710 SYSTE,M$(X,0),XP,YP,MO 1720 IFLEFT$(M$(MP,0),1)<>"*"ANDLEFT$(M$(MP,0),1)<>"!"THEN1740 1730 IFMP<>1THEN1660 1732 GOSUB680:GOSUB1550 1740 RETURN 1760 TT=MP+DI:IFTT>MTHENTT=M 1790 MP=TT:GOSUB950:IFLEFT$(M$(MP,0),1)<>"*"ANDLEFT$(M$(MP,0),1)<>"!"THEN1820 1800 IFMP<>MTHENGOSUB1550:GOTO1820 1810 GOSUB680:GOSUB1650 1820 RETURN 1840 TT=MP-DI:IFTT<1THENTT=1 1870 MP=TT:GOSUB950:IFLEFT$(M$(MP,0),1)<>"*"ANDLEFT$(M$(MP,0),1)<>"!"THEN1900 1880 IFMP<>1THENGOSUB1650:GOTO1900 1890 GOSUB680:GOSUB1550 1900 RETURN 1920 SH=1:XP=0:YP=20:GOSUB530:SYS51462:CB=2:GOSUB5000:SH=0:XP=0:YP=0:GOSUB530:SYS51462:GOSUB270:RF=0:SH=4:XP=7:YP=4:GOSUB530:SYS51462:T$=M$(MP,2):IFT$="100"THEN2310 1980 LM=8:RM=29:TM=6:BM=14:GOSUB270:SH=2:XP=0:YP=3:GOSUB530:SYS51462:SH=3:XP=39:YP=3:GOSUB530:SYS51462:SH=5:XP=1:YP=9:GOSUB530:SYS51462:SYSTE,M$(MP,3),2,12,0:X=MP:GOSUB1110:IFMO=1THENSYSTE,MID$(M$(MP,0),2),LM,5,0:GOTO2070 2065 SYSTE,M$(MP,0),LM,5,0:LD=10:NQ=1 2070 IFMID$(T$,1,1)="1"THENSYSTE,"[210]EAD IT",LM,LD,0:LD=LD+1:NQ=NQ+1 2080 IFMID$(T$,2,1)="1"THENSYSTE,"[210]UN IT",LM,LD,0:LD=LD+1:NQ=NQ+1 2090 IFMID$(T$,3,1)="1"THENSYSTE,"[195]OPY IT",LM,LD,0:LD=LD+1:NQ=NQ+1 2092 SYSTE,"[194]ACK TO [205]AIN [205]ENU",LM,LD,0:LW=1 2110 GOSUB1340:IFOP=1THENIFLW1THENSYSSD:LW=LW-1:GOTO2110 2140 IFOP=3THENGOSUB440:GOTO2250 2160 IFOP=5THENIFLW1THENSYSSD:LW=LW-1:GOTO2180 2190 IFOP=6THEN2110 2200 IFOP=6THENIFLW>1THENSYSSD:LW=LW-1:GOTO2200 2220 GOSUB680:GOTO2110 2250 IFLW=NQTHEN2282 2257 PT=1:NU=0 2260 IFMID$(T$,PT,1)<>"1"THENPT=PT+1:GOTO2260 2264 NU=NU+1:IFNU<>LWTHENPT=PT+1:GOTO2260 2280 ONPTGOTO2310,4410,8000 2282 LM=7:RM=36:TM=4:BM=15:GOSUB270:SYSWW:SYSCW,1:GOTO170 2290 STOP 2310 RF=1:POKE53280,BO:X=MP:GOSUB1110:IFMO=1THENSYSTE,MID$(M$(MP,0),2),8,5,0:GOTO2332 2330 SYSTE,M$(MP,0),8,5,0 2332 IFMP<>OLTHENSYS50435 2340 SYSTE,"[199]ETTING THE FILE...",8,10,0:FORAG=11TO13:SYSTE,LEFT$(SP$,19),8,AG,0:NEXT 2360 IFMP=OLTHEN2400 2380 GOSUB4350:IFFL=0THEN2390 2384 LW=NQ:IFMUTHENSYS50438 2386 GOTO2282 2390 GOSUB3160 2400 SH=7:XP=39:YP=3:GOSUB530:SYS51462:SH=7:XP=0:YP=3:GOSUB530:SYS51462:LM=0:RM=39:TM=0:BM=19:IFT$(0)="^X"THENBM=24 2440 GOSUB270:SYSCW,1:SYSWW:TM=1:GOSUB270:U$="[210]EADING: ":X=MP:GOSUB1110:IFMO=1THENU$=U$+MID$(M$(MP,0),2):GOTO2470 2465 U$=U$+M$(MP,0) 2470 U$=U$+LEFT$(SP$,40-LEN(U$)):SYSTE,U$,0,0,1:IFLEFT$(T$(0),2)<>"^U"ANDLEFT$(T$(0),2)<>"^X"THEN2590 2520 IFOL=MPTHEN2560 2530 U$="U."+MID$(T$(0),4):SYSBL,US,U$:SYSBL,29184,MID$(T$(0),4)+".LNK 2560 [158]US::[141]330 2590 CB[178]3:[139]MU[167][158]50438 2592 [139]CO[178]0[167][141]3570 2594 [139]CO[167][141]3520 2595 OL[178]MP:[141]270:LP[178]1:[141]2640:[141]270:[137]2720 2640 [141]270:[158]WW:TT[178]TM:[129]X[178]LP[164]LP[170]DI:[139]T$(X)[178]"^U"[176]T$(X)[178]"^X"[167][158]TE," ",LM,TT,0:[137]2690 2675 [139]X[177]NL[167][158]TE," ",LM,TT,0:[137]2690 2680 [158]TE," "[170]T$(X),LM,TT,0 2690 TT[178]TT[170]1:[130]:[142] 2720 [141]1340:[139]OP[178]1[167][141]2820 2740 [139]OP[178]2[167][141]2900 2760 [139]OP[178]3[167]2980 2770 [139]OP[178]5[167][141]3030 2780 [139]OP[178]6[167][141]3100 2790 [139]OP[178]7[167][141]3870:[137]2360 2800 [137]2720 2820 [139]LP[170]DI[177][178]NL[167]2870 2840 [141]270:[158]SU:LP[178]LP[170]1:[158]TE,[200](SP$,RM[171]LM[170]1),LM,BM,0:[158]TE," "[170]T$(LP[170]DI),LM,BM,0:[137]2880 2870 [141]680 2880 [142] 2900 [139]LP[178]1[167]2950 2920 [141]270:[158]SD:LP[178]LP[171]1:[158]TE,[200](SP$,RM[171]LM[170]1),LM,TM,0:[158]TE," "[170]T$(LP),LM,TM,0:[137]2960 2950 [141]680 2960 [142] 2980 [141]390:[158]CW,1:[158]WW:[141]270:[139]M$(MP,2)[178]"100"[167]170 3010 [137]1920 3030 TP[178]LP[170]DI[170]1:[139]TP[177]NL[167][141]680:[137]3080 3060 [139]TP[179]1[167][141]680:TP[178]1 3070 LP[178]TP:[141]2640 3080 [142] 3100 TP[178]LP[171]DI[171]1:[139]TP[179]1[167][141]680:TP[178]1 3130 LP[178]TP:[141]2640:[142] 3160 [151]51,AL:[151]52,AH:[158]FI,29184,35840,0:[158]BL,29184,[200]("T."[170]M$(MP,1),16) 3170 [158]RE,29184,T$(0):NL[178][194](251)[170][194](252)[172]256[171]2:[142] 3220 SB[178]140:SH[178]0:XP[178]0:YP[178]0:[141]530:[158]51462:SH[178]1:XP[178]0:YP[178]20:[141]530:[158]51462:CB[178]1:[141]5000:SH[178]2:XP[178]0:YP[178]3:[141]530:[158]51462:SH[178]3:XP[178]39:YP[178]3:[141]530:[158]51462:[142] 3460 MU[178][168]MU:[141]5000:[139]MU[167][158]50432,40960:[137]3500 3490 [158]50435 3500 [142] 3520 CO[178][171]1:[141]5000:[141]270:[158]CW,BK[170]16[172]TC:[142] 3570 CO[178]0:[141]5000:[141]270:[158]CW,1:[142] 3620 [141]270:[158]WW:SH[178]4:XP[178]7:YP[178]4:[141]530:[158]51462:[158]TE,"(null)(null)RIGHT$(null)(null)(null)(null)(null)",8,5,0:[158]TE," (null)RESS <(null)(null)ATNLENVAL> TO (null)RINT",9,8,0:[158]TE," (null)RESS TO VALXIT",10,10,0 3680 [151]198,0:[146]198,1:[161]A$:[139]A$[179][177]" "[175]A$[179][177]"E"[167]3680 3690 FL[178]0:[139]A$[178]"E"[167]FL[178]1 3700 [142] 3720 : 3730 [141]3620:[139]FL[178]1[167]3850 3742 [141]7000:[139]PO[178]1[167]3730 3745 [158]50435:[159]4,PA,SA:LC[178]0:CL[178]1 3760 [139]M[171]CL[179]120[167]3810 3770 [129]I[178]CL[164]CL[170]59:[152]4,M$(I,0)[200](SP$,42[171][195](M$(I,0)))M$(I[170]60,0):[130]:[129]I[178]1[164]6:[152]4:[130]:CL[178]CL[170]120:[137]3760 3810 CH%[178](M[171]CL[170]2)[173]2:[129]I[178]CL[164]CL[170]CH%[171]1:[152]4,M$(I,0)[200](SP$,42[171][195](M$(I,0)))M$(I[170]CH%,0):[130]:[129]I[178]1[164]4:[152]4:[130]:[160]4:[139]MU[167][158]50438 3850 [142] 3870 : 3880 [141]3620:[139]FL[178]1[167]4000 3892 [141]7000:[139]PO[178]1[167]3880 3895 [158]50435:[159]4,PA,SA:LC[178]0:CL[178]1 3910 [139]NL[171]CL[179]120[167]3960 3920 [129]I[178]CL[164]CL[170]59:[152]4,T$(I)[200](SP$,42[171][195](T$(I)))T$(I[170]60):[130]:[129]I[178]1[164]6:[152]4:[130]:CL[178]CL[170]120:[137]3910 3960 CH%[178](NL[171]CL[170]2)[173]2:[129]I[178]CL[164]CL[170]CH%[171]1:[152]4,T$(I)[200](SP$,42[171][195](T$(I)))T$(I[170]CH%):[130]:[129]I[178]1[164]4:[152]4:[130]:[160]4:[139]MU[167][158]50438 4000 [141]390:[158]WW:[158]CW,1:[141]270:[142] 4020 SH[178]4:XP[178]7:YP[178]4:[141]530:[158]51462:[158]TE,"(null)UIT?",8,5,0:[158]TE,"ATNRE YOU SURE YOU WANT",10,10,0:[158]TE,"TO (null)(null)RIGHT$(null)? [(null)/(null)]",13,12,0 4070 [151]198,0:[146]198,1:[161]A$:[139]A$[179][177]"Y"[175]A$[179][177]"N"[167][141]680:[137]4070 4090 [139]A$[178]"Y"[167]4110 4100 QU[178]1 4110 [142] 4130 [159]15,8,15,"I0":[159]8,8,8,"#":[152]15,"UA:8 0 18 0":[152]15,"B-P:8 154":[161]#8,A$,A$,A$,A$,A$,S$:[160]8:[160]15:[142] 4220 [141]270:S$[178]"(null)IDE "[170]M$(MP,3)[170]" OF (null)(null)ATNSTR$(null)(null)ATN(null) #"[170]MO$:[158]TE,S$,8,7,0:[158]TE,"NOT FOUND!",14,8,0:[158]TE,"RIGHT$NSERT THAT SIDE AND",8,10,0:[158]TE,"PRESS <(null)(null)ATNLENVAL>",12,11,0:[158]TE,"<'VAL' TO VAL(null)RIGHT$(null)>",12,12,0 4300 [151]198,0:[146]198,1:[161]A$:[139]A$[179][177]" "[175]A$[179][177]"E"[167][141]680:[137]4300 4320 FL[178]0:[139]A$[178]"E"[167]FL[178]1 4330 [142] 4350 : 4360 [141]4130:FL[178]0:[142] 4380 [141]4220:[139]FL[178]0[167]4360 4390 [142] 4410 [141]270:[158]WW:[158]TE,"(null)LEASE STAND BY...",LM,10,0:[141]4350:[139]FL[179][177]0[167]LW[178]3:[141]2280 4450 [158]50435:[159]15,8,15,"I0":[160]15:[153]"LOADPOKE56325,59:LOADM$(MP,1),8":[153]"POKE56,160:CLR:SYS51459:RUN 4520 POKE631,13:POKE632,13:POKE198,2:POKE178,MP:POKE179,ABS(MU):POKE180,ABS(CO):POKE808,237:END 5000 IFBM=24THEN5100 5020 IFMUTHENSYSTE,"[[211]]ILENCE",0,24,0:GOTO5050 5030 SYSTE,"[[211]]OUND ",0,24,0 5050 IFCB=2THEN5060 5055 SYSTE,"[[208]]RINT",33,24,0 5060 IFCB=2THENSYSTE,"[211]ELECTS",26,23,0:GOTO5100 5080 IFCB=1THENSYSTE,"[[209]]UIT",16,24,0:SYSTE,"[211]ELECTS",26,23,0:GOTO5100 5085 SYSTE,"[197]XITS",26,23,1:SYSTE," ",31,23,0:IFCOTHENSYSTE,"[[194]]LACK & [215]HITE",13,24,0:GOTO5100 5095 SYSTE," [[195]]OLOR ",13,24,0 5100 RETURN:PRINT"[147][196]ISK [197]RROR -- "M$(MP,1)"? -- "ER:SYS51459:PRINT"":POKE808,237:POKE56,160:CLR:END 7000 PO=0:OPEN15,4,15:CLOSE15:SG=ST:SYSTE," ",9,8,0:SYSTE," ",10,10,0:IFSG<>0THENSYSTE,"[208]RINTER [206]OT [210]EADY...",9,10,0:FORDL=1TO500:NEXT:PO=1 7025 IFSG=0THENSYSTE,"[206]OW PRINTING...",10,10,0 7030 RETURN 8000 GOSUB270:SYSWW:SYSTE,"[208]LEASE STAND BY...",LM,10,0:PRINT"[147]LOAD"CHR$(34)"COPIER"CHR$(34)",8":PRINT"RUN":F$=M$(MP,1):FORX=1TOLEN(F$):POKE32767+X,ASC(MID$(F$,X,1)):NEXT:POKEX+32767,0:SYS50435:GOTO4520