10 : REM Acorn Invaders 20 : REM Packed by Make v1.41b 20/08/10 On 25 Aug 2010 30 : aa%=FALSE:ONERRORPROCR:END 40 : MODE28:OFF:a$="Acorn Invaders. (c)2007-2010 DynaByte Software":PRINTa$:PRINTSTRING$(LEN(a$),"-"):PRINT:p$=".Resources.":d$=".":x$=d$:h$=d$+"Data.":q$=d$+ "Screens.":i$=p$+"Graphics.":d$=p$+"Data." 50 : l$=p$+"Sound.":ba%=FALSE:PRINT"Checking files...":IFNOTFNi(i$+"Gfx0","Sprites")THENba%=TRUE 60 : IFNOTFNi(i$+"Gfx1","Charset")THENba%=TRUE 70 : IFNOTFNi(i$+"Gfx2","Numerics")THENba%=TRUE 80 : IFNOTFNi(l$+"Intro","Music")THENba%=TRUE 90 : IFNOTFNi(l$+"Teckno","Music")THENba%=TRUE 100 : IFNOTFNi(d$+"Creds","Credits")THENba%=TRUE 110 : IFNOTFNi(d$+"Msg","Messages")THENba%=TRUE 120 : IFNOTFNi(d$+"ImgLUT","Lookups")THENba%=TRUE 130 : IFNOTFNi(d$+"SWIs","Lookups")THENba%=TRUE 140 : IFNOTFNi(d$+"AshLUT","Lookups")THENba%=TRUE 150 : IFba%THENERROR255,"File Missing!!" 160 : PRINT:PRINT"Loading LibASH Resources.":ca%=FNq(d$+"AshLUT","ALUT"):DIMi%(ca%),f$(ca%):w%=FNr(d$+"AshLUT","ALUT",i%(),f$()):PROCS(w%):a%=FNe(112,0):k%=FNe(28,0):PRINT"Loading Messag es...";:da%=FNq(d$+"Msg","MSGS"):DIMj%(da%),g$(da%) 170 : w%=FNr(d$+"Msg","MSGS",j%(),g$()):a%!68=w%:PRINTFNa(14):PRINT:PRINTFNa(12):PRINTFNa(8)+" "+FNa(2):PROCh(a%,206,0):PROCh(k%,210,0):a%!0=1:a%!4=-1:a%!40=FNw(0):IFa%!40=-1THENERROR255 ,FNa(109) 180 : PRINTFNa(15)+STR$(a%!40):a%!4=TRUE:a%!8=1:a%!12=1:a%!44=TRUE:a%!52=5:a%!56=5:a%!92=FALSE:a%!100=FALSE:a%!108=1:k%!0=1:k%!4=0:k%!8=-1:k%!12=-1:k%!16=-1:k%!20=128:k%!24=2:DIMa$(10),f %(10):DIMg%(10):PRINTFNa(8)+" "+FNa(22) 190 : e%=0:d%=4:h%=8:s%=12:Q%=16:V%=20:D%=24:ea%=28:fa%=32:ga%=36:ha%=40:ia%=44:ja%=48:ka%=52:la%=56:ma%=60:na%=64:oa%=16:pa%=20:qa%=24:ra%=28:sa%=32:ta%=16:ua%=20:PRINTFNa(9)+" "+FNa(3) :va%=FNq(d$+"ImgLUT","ILUT") 200 : DIMk%(va%),c$(va%):w%=FNr(d$+"ImgLUT","ILUT",k%(),c$()):PRINTFNa(26):PROCz(va%,w%,c$()):PRINTFNa(14):PRINT:PRINTFNa(9)+" "+FNa(13):wa%=FNq(d$+"SWIs","SLUT"):DIMl%(wa%),d$(wa%):w%=F Nr(d$+"SWIs","SLUT",l%(),d$()) 210 : PRINTFNa(26):PROCz(wa%,w%,d$()):PRINTFNa(14):PRINT:PRINTFNa(9)+" "+FNa(24)+" ";:IFFNk(h$+"Configs",1)=1THEN 220 : PROCT:PRINTFNa(18) 230 : ELSE:PRINTFNa(25):a%!92=TRUE 240 : ENDIF 250 : PRINT:PRINTFNa(8)+" "+FNa(1)+" ";:xa%=0:SYSFNc(30)TOxa%:PRINTFNa(21)+" "+STR$(xa%/100):k%!8=FNx(l$+"Intro"):k%!12=FNx(l$+"Teckno"):PRINTFNa(14):PRINT:PRINT:PRINTFNa(17)+" "+FNa(16) :SYSFNc(1),,FNc(2)TOya%:PRINTFNa(9)+" "+FNa(4):a%!76=FNv(i$+"Gfx0"):PROCh(a%!76,203,0):PRINTFNa(14):PRINT 260 : PRINTFNa(9)+" "+FNa(5):a%!80=FNv(i$+"Gfx1"):PROCh(a%!80,204,0):PRINTFNa(14):PRINT:PRINTFNa(9)+" "+FNa(23):a%!84=FNv(i$+"Gfx2"):PROCh(a%!84,205,0):PRINTFNa(14):PRINT:a%!88=a%!76:PRI NT:PRINTFNa(9)+" "+FNa(6);:PROCU:PRINTFNa(14):PRINT:PRINT:PRINTFNa(7) 270 : b$=h$+"HiTable":IFFNk(b$,1)<>1THEN 280 : IFNOTFNy(0,h$)THEN 290 : a%!44=FALSE:PRINTFNa(19)+" "+FNa(10)+" "+FNa(20) 300 : ELSE:PRINTFNa(19)+" "+FNa(11)+" "+FNa(20) 310 : ENDIF 320 : PROCV(a%!44) 330 : ELSE:IFNOTFNy(1,b$)THEN 340 : a%!44=FALSE:PRINTFNa(18)+" "+FNa(10)+" "+FNa(20) 350 : ELSE:PRINTFNa(18)+" "+FNa(11)+" "+FNa(20) 360 : ENDIF 370 : PROCW 380 : ENDIF 390 : PRINT:PRINTFNa(12):PROCg(150):m%=FNd(36):Z%=FNd(24):CLS:PROCA:m%!ra%=FNl(8,1):m%!sa%=FNl(8,2)+7:PROCe(FNb(108),Z%):Z%!ta%=m%!s%-50:Z%!ua%=30:k%!16=k%!8:IFk%!0=1THENPROCX(0) 400 : WHILENOTFNF:CLS:PROCY:ENDWHILE:CLS:PROCs(FNa(31)+FNa(83),10,0):IFa%!44THENPROCZ 410 : PROC_(4):PROCB:SYSFNc(8),"FX 21,0":PROCb(Z%):PROCb(m%):FORi%=76TO84STEP4:PROCb(a%!i%):NEXTi%:PROCb(a%):PROCb(k%):PROCC:END 420 : DEFFNF:LOCALR%,S%,G%,za%,o%,Aa%,Ba%,Ca%,p%:LOCALDa%,Ea%,Fa%,Ga%,Ha%,Ia%,Ja%,Ka%,La%,Ma%:LOCALNa%,v%,Oa%:LOCALi%,x%,y%,L%,s$,a$:Na%=44:v%=80:Oa%=100:R%=FNe(16,0):S%=FNe(16,0):G%=FNe (16,0):o%=FNe(16,0):Aa%=FNe(16,0):Da%=FNe(16,0):p%=FNe(16,0) 430 : PROCe(FNb(100),R%):R%!e%=FNh(R%,m%):R%!d%=800:PROCe(FNb(101),S%):S%!e%=FNh(S%,m%):S%!d%=R%!d%-S%!s%:G%!h%=720:G%!s%=500:G%!e%=FNh(G%,m%):G%!d%=200:PROCe(FNb(11),o%):o%!e%=(G%!e%+G% !h%/2)-150:o%!d%=(G%!d%+G%!s%)-125 440 : PROCe(FNb(1),p%):PROCe(FNb(20),Aa%):Aa%!e%=(G%!e%+G%!h%/2)-150:Aa%!e%+=FNh(Aa%,o%):Ba%=FNg(Aa%):Ca%=FNg(Aa%)::Ca%!d%=o%!d%-40-Ca%!s%:Ba%!d%=Ca%!d%-40-Ba%!s%:Aa%!d%=Ba%!d%-40-Aa%!s% :PROCe(FNb(102),Da%):Da%!e%=(G%!e%+G%!h%/2)-120 450 : Ea%=FNg(Da%):Fa%=FNg(Da%):Ga%=FNg(Da%):Ga%!e%=G%!e%:Pa%=FNg(Ga%):Ia%=FNg(Ga%):Ha%=FNg(Da%):La%=FNg(Ga%):Ha%!e%=G%!e%:Ha%!e%+=(G%!h%/2)+10:Ja%=FNg(Ha%):Ka%=FNg(Ha%):Ma%=FNg(Ha%):Da% !d%=(G%!d%+G%!s%)-90 460 : Ea%!d%=Da%!d%-60:Fa%!d%=Ea%!d%-60:Ia%!d%=Fa%!d%-90:Pa%!d%=Ia%!d%-60:Ga%!d%=Pa%!d%-60:Ha%!d%=Fa%!d%-90:Ja%!d%=Ha%!d%-60:Ka%!d%=Ja%!d%-60:La%!d%=Ga%!d%-60:Ma%!d%=Ka%!d%-60:CLS:PROCi( Z%!ta%):PROCi(Z%!ua%):PROCn:PROCt:FORi%=0-R%!h%TOR%!e%STEP5 470 : WAIT:PROCa(FNb(100),i%,R%!d%):PROCg(1):NEXTi%:FORi%=m%!h%TOS%!e%STEP-5:WAIT:PROCa(FNb(101),i%,S%!d%):PROCg(1):NEXTi%:y%=170:PROCf(FNa(84),11,y%):y%-=m%!sa%:PROCf(FNa(32),11,y%):y%- =m%!sa%:PROCf(FNa(33),11,y%):WHILENOTINKEY(-99)ANDNOTINKEY(-17)ANDNOTINKEY(-82) 480 : IFa%!Oa%THEN 490 : a%!Oa%=FALSE:L%=FNz:IFL%=1THEN=TRUE 500 : IFL%=2THEN=FALSE 510 : PROCc(G%) 520 : ENDIF 530 : y%=G%!d%+G%!s%:FORi%=1TOa%!72:a$=FNj(e$(i%),a%!60):CASESGN(h%(i%))OF 540 : WHEN-1:y%-=(ABS(h%(i%))*m%!sa%) 550 : WHEN1:y%-=h%(i%) 560 : OTHERWISE:ERROR255,FNa(115)+" "+STR$(h%(i%)) 570 : ENDCASE 580 : PROCf(a$,0,y%):NEXTi%:L%=FNs:IFL%=1THEN=TRUE 590 : IFL%=2THEN=FALSE 600 : PROCc(G%):y%=G%!d%+G%!s%-20:PROCf(FNa(57)+" "+FNa(34),0,y%):y%-=m%!sa%:PROCf(FNa(35),0,y%):x%=o%!e%+o%!h%+10:PROCa(FNb(11),o%!e%,o%!d%):a$=FNa(36)+" "+FNa(40):PROCd(x%,o%!d%+10,a$, 0,a%!v%):PROCa(FNb(24),Ca%!e%,Ca%!d%):a$=FNa(37)+" "+FNa(40) 610 : PROCd(x%,Ca%!d%+12,a$,0,a%!v%):PROCa(FNb(22),Ba%!e%,Ba%!d%):a$=FNa(38)+" "+FNa(40):PROCd(x%,Ba%!d%+12,a$,0,a%!v%):PROCa(FNb(20),Aa%!e%,Aa%!d%):a$=FNa(39)+" "+FNa(40):PROCd(x%,Aa%!d %+12,a$,0,a%!v%):za%=p%!h%/m%!ra%+2 620 : a$=FNa(66)+STRING$(za%," ")+FNa(67):x%=FNt(LEN(a$)*m%!ra%,m%!h%):y%=Aa%!d%-(3*m%!sa%):PROCf(a$,0,y%):p%!e%=x%+7+(LEN(FNa(66))*m%!ra%):p%!d%=y%:PROCa(FNb(1),p%!e%,p%!d%):L%=FNs:IFL% =1THEN=TRUE 630 : IFL%=2THEN=FALSE 640 : PROCc(G%):PROCf(FNa(41),0,G%!d%+G%!s%-20):x%=Da%!e%+Da%!h%+10:PROCa(FNb(102),Da%!e%,Da%!d%):a$=FNa(42)+" "+FNa(43):PROCd(x%,Da%!d%+12,a$,0,a%!v%):PROCa(FNb(103),Ea%!e%,Ea%!d%):a$=F Na(42)+" "+FNa(44):PROCd(x%,Ea%!d%+12,a$,0,a%!v%) 650 : PROCa(FNb(104),Fa%!e%,Fa%!d%):PROCd(x%,Fa%!d%+12,FNa(45),0,a%!v%):x%=Ga%!e%+Ga%!h%+10:PROCa(FNb(105),Pa%!e%,Pa%!d%):a$=FNa(46)+" "+FNa(49):PROCd(x%,Pa%!d%+12,a$,0,a%!v%):PROCa(FNb( 117),Ia%!e%,Ia%!d%) 660 : PROCd(x%,Ia%!d%+12,FNa(76),0,a%!v%):PROCa(FNb(107),Ga%!e%,Ga%!d%):a$=FNa(48)+" "+FNa(49):PROCd(x%,Ga%!d%+12,a$,0,a%!v%):PROCa(FNb(118),La%!e%,La%!d%):a$=FNa(78)+" "+FNa(75):PROCd(x %,La%!d%+12,a$,0,a%!v%):x%=Ha%!e%+Ha%!h%+10 670 : PROCa(FNb(106),Ha%!e%,Ha%!d%):a$=FNa(47)+" "+FNa(73):PROCd(x%,Ha%!d%+12,a$,0,a%!v%):PROCa(FNb(115),Ja%!e%,Ja%!d%):a$=FNa(47)+" "+FNa(77)+" ":a$+=FNa(74):PROCd(x%,Ja%!d%+12,a$,0,a%! v%):PROCa(FNb(116),Ka%!e%,Ka%!d%):a$=FNa(47)+" "+FNa(77)+" ":a$+=FNa(75) 680 : PROCd(x%,Ka%!d%+12,a$,0,a%!v%):PROCa(FNb(119),Ma%!e%,Ma%!d%):a$=FNa(78)+" "+FNa(74):PROCd(x%,Ma%!d%+12,a$,0,a%!v%):L%=FNs:IFL%=1THEN=TRUE 690 : IFL%=2THEN=FALSE 700 : PROCc(G%):L%=FNz:IFL%=1THEN=TRUE 710 : IFL%=2THEN=FALSE 720 : PROCc(G%):ENDWHILE:ERROR255,FNa(102):=FALSE 730 : DEFFNz:LOCALL%,x%,y%,i%,v%,a$:v%=80:y%=G%!d%+G%!s%-20:IFa%!Na%THEN 740 : PROCf(FNa(51),0,y%) 750 : ELSE:PROCf(FNa(50),0,y%) 760 : ENDIF 770 : y%-=m%!sa%:PROCf(FNa(58)+" "+FNa(52),0,y%):y%=(G%!d%+G%!s%)-100:a$=" "+FNa(68)+" "+FNa(69)+".":a$+=STRING$(12," ")+FNa(57)+".":a$+=STRING$(3," ")+FNa(60)+".":PROCf(a$,0,y%):y%-=2* m%!sa%:FORi%=1TO10:IFi%<10THEN 780 : a$=" "+STR$(i%)+". " 790 : ELSE:a$=" "+STR$(i%)+". " 800 : ENDIF 810 : s$=FNj(a$(i%),a%!64):a$+=FNo(s$,8," ",FALSE):a$+=" .... ":a$+=FNA(STR$(f%(i%)),10):a$+=" ... "+FNA(STR$(g%(i%)),3):PROCf(a$,0,y%-(i%*(m%!sa%+5))):NEXTi%:=FNs 820 : DEFFNs:LOCALt%,L%:t%=TIME+750:L%=FALSE:REPEAT:IFINKEY(-82)THENPROCD 830 : IFINKEY(-102)THENPROCE 840 : IFINKEY(-59)THENPROCo(4) 850 : IFINKEY(-60)THENPROCo(-4) 860 : IFINKEY(-103)THENPROCp(0) 870 : IFINKEY(-104)THENPROCp(1) 880 : IFINKEY(-49)THENPROCF(1) 890 : IFINKEY(-50)THENPROCF(2) 900 : UNTILTIME>=t%ORINKEY(-17)ORINKEY(-99):IFINKEY(-17)THENL%=1 910 : IFINKEY(-99)THENL%=2 920 : IFL%THEN 930 : PROCb(R%):PROCb(S%):PROCb(G%):PROCb(o%):PROCb(Aa%):PROCb(Ba%):PROCb(Ca%):PROCb(Da%):PROCb(Ea%):PROCb(Fa%):PROCb(Ga%):PROCb(Ha%):PROCb(Pa%):PROCb(Ia%):PROCb(Ja%):PROCb(Ka%):PROCb(p% ):PROCb(La%):PROCb(Ma%) 940 : ENDIF 950 : =L% 960 : DEFPROCY:LOCALp%,C%,o%,a%(),c%():LOCALK%:LOCALe%(),b%():LOCALd%(),Qa%,Ra%:LOCALJ%,Sa%,`%,Ta%:LOCALUa%,Va%,Wa%:LOCALXa%,Ya%,b%,N%,Za%:LOCAL_a%,`a%,ab%,bb%,cb%:LOCALza%,a$,x%,y%,i%,j %:J%=0:Sa%=4:`%=8:Ta%=12:db%=16:eb%=20 970 : Za%=4:N%=8:b%=12:Xa%=16:Ua%=28:Qa%=56:_a%=ga%:`a%=ha%:ab%=ia%:bb%=la%:cb%=ma%:p%=FNd(32):C%=FNd(28):o%=FNd(48):K%=FNd(16):Ra%=FNd(16):i%=a%!Qa%:DIMe%(2,10,6),b%(10),d%(2,i% ):DIMc% (2),a%(2) 980 : PROCe(FNb(1),p%):p%!e%=FNh(p%,m%):p%!d%=50:p%!V%=6:p%!Q%=p%!V%:PROCe(FNb(20),K%):PROCe(FNb(11),o%):o%!d%=Z%!ta%-(10+o%!s%):o%!V%=5:o%!D%=FALSE:o%!ha%=1:PROCe(FNb(5),C%):C%!D%=FALSE :C%!V%=10:a%!Xa%=-1:a%!Za%=FALSE 990 : PROC`:FORi%=1TOa%!N%:PROCaa(i%):PROCba(i%):PROCca(i%):NEXTi%:PROCi(Z%!ta%):PROCi(Z%!ua%):PROCG(0,f%(1),c%(a%!b%)!J%,c%(a%!b%)!`%):PROCda:PROCu(a%!b%):PROCa(FNb(1),p%!e%,p%!d%):SYSF Nc(8),"VSkip "+STR$(a%!Ya%):WHILEc%(a%!b%)!J%>0ANDa%!Za%=FALSE 1000 : IFa%!Ua%=0THEN 1010 : IFINKEY(-74)THENPROCea(p%!e%,p%!d%) 1020 : IFINKEY(-98)THENPROCfa 1030 : IFINKEY(-67)THENPROCga 1040 : IFINKEY(-17)THENPROCha 1050 : ENDIF 1060 : IFINKEY(-102)THENPROCE 1070 : IFINKEY(-82)THENPROCD 1080 : IFINKEY(-56)THENPROCia 1090 : IFINKEY(-59)THENPROCo(4) 1100 : IFINKEY(-60)THENPROCo(-4) 1110 : IFINKEY(-103)THENPROCp(0) 1120 : IFINKEY(-104)THENPROCp(1) 1130 : IFa%!Ua%=0THEN 1140 : PROCja:PROCka:PROCla:PROCma:PROCna:PROCoa 1150 : ELSE:PROCpa 1160 : ENDIF 1170 : WAIT:ENDWHILE:a$=FNa(49)+" "+FNa(53)+" "+FNa(69)+" "+STR$(a%!b%):PROCs(a$,11,750):FORi%=1TOa%!N%:IFNOTc%(a%!b%)!Ta%THEN 1180 : IFc%(a%!b%)!Sa%>=f%(10)THEN 1190 : PROCqa(c%(a%!b%),a%!b%) 1200 : ENDIF 1210 : ENDIF 1220 : NEXTi%:PROCb(p%):PROCb(o%):PROCb(K%):PROCb(C%):PROCb(Ra%):FORi%=1TO10:PROCb(b%(i%)):NEXTi%:FORi%=1TOa%!N%:PROCb(c%(i%)):PROCb(a%(i%)):FORj%=1TOa%!Qa%:PROCb(d%(i%,j%)):NEXTj%:NEXTi% :SYSFNc(8),"VSkip 1":ENDPROC 1230 : DEFPROCfa:IFp%!e%<=0THEN 1240 : p%!e%=0 1250 : ELSE:p%!Q%=0-p%!V%:p%!e%+=p%!Q%:PROCa(FNb(1),p%!e%,p%!d%) 1260 : ENDIF 1270 : ENDPROC 1280 : DEFPROCga:IFp%!e%>=m%!h%-p%!h%THEN 1290 : p%!e%=m%!h%-p%!h% 1300 : ELSE:p%!Q%=0+p%!V%:p%!e%+=p%!Q%:PROCa(FNb(1),p%!e%,p%!d%) 1310 : ENDIF 1320 : ENDPROC 1330 : DEFPROCea(x%,y%):IFNOTC%!D%THEN 1340 : C%!D%=TRUE:C%!e%=x%+(p%!h%/2):C%!d%=y%+p%!s%:PROCm(4) 1350 : ENDIF 1360 : ENDPROC 1370 : DEFPROCD:LOCALfb%,gb%:fb%=40:gb%=44:IFa%!gb%THEN 1380 : REPEAT:UNTILNOTINKEY(-82):a%!fb%=FNw(a%!fb%):IFa%!fb%=-1THENERROR255,FNa(109) 1390 : SYSFNc(8),"ScreenSave "+q$+"Dump"+STR$(a%!fb%) 1400 : ENDIF 1410 : ENDPROC 1420 : DEFPROCha:LOCALi%,N%,b%:N%=8:b%=12:PROCv:c%(a%!b%)!J%=0:c%(a%!b%)!Ta%=TRUE:PROCw:ENDPROC 1430 : DEFPROCE:LOCALI%,O%,hb%:I%=0:O%=16:hb%=92:REPEAT:UNTILNOTINKEY(-102):k%!I%+=1:IFk%!I%>2THENk%!I%=0 1440 : IFk%!I%=1THEN 1450 : SYSFNc(33),k%!O% 1460 : ELSE:SYSFNc(34),k%!O% 1470 : ENDIF 1480 : a%!hb%=TRUE:PROCn:ENDPROC 1490 : DEFPROCo(ib%):LOCALI%,O%,jb%,_%,F%,kb%,lb%,hb%:I%=0:jb%=4:_%=20:O%=16:hb%=92:IFk%!I%=1THEN 1500 : SYSFNc(6)TOF%:IFF%-k%!jb%>=10THEN 1510 : SYSFNc(36),k%!O%,-1TO,kb%:lb%=kb%+ib%:IFlb%>=0ANDlb%<=128THEN 1520 : SYSFNc(36),k%!O%,lb%:k%!_%=lb%:k%!jb%=F%:a%!hb%=TRUE 1530 : ENDIF 1540 : ENDIF 1550 : ENDIF 1560 : ENDPROC 1570 : DEFPROCp(mb%):LOCALYa%,hb%:Ya%=108:hb%=92:IFmb%=0THEN 1580 : REPEAT:UNTILNOTINKEY(-103):IFa%!Ya%<64THENa%!Ya%+=1 1590 : ELSE:REPEAT:UNTILNOTINKEY(-104):IFa%!Ya%>1THENa%!Ya%-=1 1600 : ENDIF 1610 : SYSFNc(8),"VSkip "+STR$(a%!Ya%):a%!hb%=TRUE:ENDPROC 1620 : DEFPROCia:LOCALUa%,Va%,a$:Ua%=28:Va%=32:REPEATUNTILNOTINKEY(-56):a$=FNa(49)+" "+FNa(61):PROCj(a%!Ua%):a%!Va%=a%!Ua%:IFa%!Ua%=0THEN 1630 : a$=STRING$(LEN(a$)," "):PROCq(a$) 1640 : ENDIF 1650 : ENDPROC 1660 : DEFPROCF(w%):LOCALN%,fb%:N%=8:fb%=-48-w%:REPEATUNTILNOTINKEY(fb%):IFa%!N%<>w%THEN 1670 : a%!N%=w%:PROCt 1680 : ENDIF 1690 : ENDPROC 1700 : DEFPROCja:IFC%!D%THEN 1710 : IFC%!d%>=Z%!ta%-C%!s%THEN 1720 : C%!D%=FALSE:C%!d%-=2:PROCc(C%) 1730 : ELSE:PROCa(FNb(5),C%!e%,C%!d%) 1740 : ENDIF 1750 : C%!d%+=C%!V% 1760 : ENDIF 1770 : ENDPROC 1780 : DEFPROCka:LOCALnb%,ob%,pb%,F%,qb%,`%,eb%,e$:LOCALXa%,Sa%,J%,b%:nb%=fa%:ob%=ga%:pb%=ha%:J%=0:Sa%=4:`%=8:eb%=20:b%=12:Xa%=16:IFNOTo%!D%THEN 1790 : IFFNm(4)ANDFNm(5)THEN 1800 : o%!D%=TRUE:o%!ea%=FALSE:o%!ob%=0:IFFNm(50)THEN 1810 : o%!Q%=0-o%!V%:o%!e%=m%!h% 1820 : ELSE:o%!Q%=0+o%!V%:o%!e%=0-o%!h% 1830 : ENDIF 1840 : ENDIF 1850 : ELSE:IFo%!e%<=0-o%!h%ANDSGN(o%!Q%)=-1THEN 1860 : o%!nb%=FALSE:o%!D%=FALSE:ENDPROC 1870 : ELSE:IFo%!e%>m%!h%ANDSGN(o%!Q%)=1THEN 1880 : o%!nb%=FALSE:o%!D%=FALSE:ENDPROC 1890 : ENDIF 1900 : ENDIF 1910 : IFNOTo%!ea%THEN 1920 : IFFNn(C%,o%)THEN 1930 : PROCc(C%):PROCa(FNb(12),o%!e%,o%!d%):SYSFNc(6)TOo%!nb%:o%!ea%=TRUE:C%!D%=FALSE:IFc%(a%!b%)!eb%THEN 1940 : PROCk(a%!b%,250) 1950 : ELSE:IFc%(a%!b%)!`%>=5ANDFNm(10)THEN 1960 : c%(a%!b%)!J%+=1:PROCl(c%(a%!b%)!J%):a%!Xa%=0 1970 : ELSE:PROCk(a%!b%,500) 1980 : ENDIF 1990 : ENDIF 2000 : ENDIF 2010 : ELSE:IFFNn(C%,o%)THENPROCc(C%):C%!D%=FALSE 2020 : ENDIF 2030 : IFNOTo%!ea%THEN 2040 : SYSFNc(6)TOF%:IFF%-o%!pb%>=40THEN 2050 : o%!pb%=F%:PROCj(o%!ob%) 2060 : ENDIF 2070 : e$=FNb(10)+STR$(o%!ob%):PROCa(e$,o%!e%,o%!d%):o%!e%+=o%!Q% 2080 : ELSE:SYSFNc(6)TOF%:qb%=F%-o%!nb%:IFqb%>=300THEN 2090 : o%!D%=FALSE:o%!ob%=1:PROCc(o%) 2100 : ELSE:IFqb%>=250THEN 2110 : PROCa(FNb(15),o%!e%,o%!d%) 2120 : ELSE:IFqb%>=200THEN 2130 : PROCa(FNb(14),o%!e%,o%!d%) 2140 : ELSE:IFqb%>=100THEN 2150 : PROCa(FNb(13),o%!e%,o%!d%) 2160 : ENDIF 2170 : ENDIF 2180 : ENDIF 2190 : ENDIF 2200 : ENDIF 2210 : ENDIF 2220 : ENDPROC 2230 : DEFPROCla:LOCALrb%,z%,M%,P%,sb%,tb%,ub%,vb%,wb%:LOCALT%,xb%,yb%,F%,zb%,Ab%,U%:LOCALbb%,eb%,b%,N%:T%=fa%:xb%=ja%:yb%=ka%:bb%=la%:zb%=na%:N%=8:b%=12:Ab%=52:U%=56:eb%=20:SYSFNc(6)TOF% :IFF%-a%(a%!b%)!zb%>=50THEN 2240 : a%(a%!b%)!zb%=F%:PROCj(a%(a%!b%)!T%) 2250 : ENDIF 2260 : rb%=a%(a%!b%)!e%+a%(a%!b%)!h%:vb%=0-((a%(a%!b%)!xb%-1)*(K%!h%+a%(a%!b%)!_a%)):IFrb%>=m%!h%THEN 2270 : a%(a%!b%)!Q%=0-a%(a%!b%)!V%:PROCH(a%!b%) 2280 : ELSE:IFa%(a%!b%)!e%<=vb%THEN 2290 : a%(a%!b%)!Q%=0+a%(a%!b%)!V%:PROCH(a%!b%) 2300 : ENDIF 2310 : ENDIF 2320 : IFa%(a%!b%)!d%+((a%(a%!b%)!bb%-1)*K%!s%)<=Ra%!d%+Ra%!s%THEN 2330 : PROCI(a%!b%):c%(a%!b%)!eb%=TRUE 2340 : ENDIF 2350 : vb%=a%(a%!b%)!d%+((a%(a%!b%)!bb%-1)*K%!s%):IFvb%<=p%!d%+p%!s%THEN 2360 : PROCra(a%!b%):PROCw:ENDPROC 2370 : ENDIF 2380 : IFFNn(C%,a%(a%!b%))THEN 2390 : z%=K%!h%+a%(a%!b%)!_a%:IF(C%!e%-a%(a%!b%)!e%)MODz%<=K%!h%THEN 2400 : M%=((C%!d%-a%(a%!b%)!d%)DIVK%!s%)+1:P%=((C%!e%-a%(a%!b%)!e%)DIVz%)+1:IFSGN(e%(a%!b%,P%,M%))=1THEN 2410 : e%(a%!b%,P%,M%)=-5:PROCc(C%):C%!D%=FALSE:a%(a%!b%)!ea%+=1:PROCm(1):wb%=1:IFc%(a%!b%)!eb%THENwb%=2 2420 : CASEM%OF 2430 : WHEN1,2:PROCk(a%!b%,INT(50/wb%)) 2440 : WHEN3,4:PROCk(a%!b%,INT(75/wb%)) 2450 : WHEN5,6:PROCk(a%!b%,INT(100/wb%)) 2460 : ENDCASE 2470 : ENDIF 2480 : ENDIF 2490 : ENDIF 2500 : IFa%(a%!b%)!ea%>=a%(a%!b%)!`a%*a%(a%!b%)!ab%THEN 2510 : c%(a%!b%)!`%+=1:PROCc(a%(a%!b%)):PROCi(Z%!ua%):PROCl(c%(a%!b%)!J%):PROCx(c%(a%!b%)!`%):PROCn:PROCa(FNb(1),p%!e%,p%!d%):PROCsa(a%!b%):PROCu(a%!b%):PROCJ(a%!b%):IFc%(a%!b%)!`%>=5THEN a%!Ab%=7 2520 : IFc%(a%!b%)!`%>=10THENa%!Ab%=10 2530 : ENDIF 2540 : sb%=TRUE:tb%=TRUE:FORM%=1TOa%(a%!b%)!ab%:IFe%(a%!b%,a%(a%!b%)!yb%,M%)<>0THENsb%=FALSE 2550 : IFe%(a%!b%,a%(a%!b%)!xb%,M%)<>0THENtb%=FALSE 2560 : NEXTM%:ub%=TRUE:FORP%=1TOa%(a%!b%)!`a%:IFe%(a%!b%,P%,a%(a%!b%)!bb%)<>0THENub%=FALSE 2570 : NEXTP%:IFtb%THENa%(a%!b%)!xb%+=1 2580 : IFsb%THEN 2590 : a%(a%!b%)!h%-=(K%!h%+a%(a%!b%)!_a%):a%(a%!b%)!yb%-=1 2600 : ENDIF 2610 : IFub%THENa%(a%!b%)!bb%+=1 2620 : a%(a%!b%)!e%+=a%(a%!b%)!Q%:PROCr(a%!b%):ENDPROC 2630 : DEFPROCma:LOCALi%,j%,F%,Ab%,U%,b%:b%=12:Ab%=52:U%=56:FORi%=1TOa%!Ab%:IFNOTb%(i%)!D%THEN 2640 : PROCta(i%,a%!b%) 2650 : ELSE:PROCua(i%):IFb%(i%)!d%<=Z%!ua%+(Z%!s%+5)THEN 2660 : b%(i%)!D%=FALSE:PROCc(b%(i%)) 2670 : ENDIF 2680 : IFFNn(b%(i%),p%)ANDb%(i%)!D%THEN 2690 : PROCva(i%,a%!b%) 2700 : ENDIF 2710 : FORj%=1TOa%!U%:IFFNn(b%(i%),d%(a%!b%,j%))THEN 2720 : PROCK(j%,FALSE,a%!b%):PROCc(b%(i%)):b%(i%)!D%=FALSE 2730 : ENDIF 2740 : NEXTj%:IFFNn(C%,b%(i%))THEN 2750 : PROCwa(i%) 2760 : ENDIF 2770 : IFb%(i%)!ea%THEN 2780 : PROCxa(i%) 2790 : ENDIF 2800 : ENDIF 2810 : NEXTi%:ENDPROC 2820 : DEFPROCpa:LOCALUa%,Va%,Wa%,F%,a$:Ua%=28:Va%=32:Wa%=36:SYSFNc(6)TOF%:IFF%-a%!Wa%>=50THEN 2830 : PROCj(a%!Va%):a%!Wa%=F% 2840 : ENDIF 2850 : a$=FNa(49)+" "+FNa(61):IFa%!Va%=0ORa%!Ua%=0THEN 2860 : a$=STRING$(LEN(a$)," ") 2870 : ENDIF 2880 : PROCq(a$):ENDPROC 2890 : DEFPROCoa:LOCALXa%,Bb%,Cb%,F%,a$:Xa%=16:Bb%=20:Cb%=24:IFa%!Xa%>=0THEN 2900 : SYSFNc(6)TOF%:a$=FNa(66)+" "+FNa(72):IFF%-a%!Cb%>=50THEN 2910 : a%!Cb%=F%:PROCj(a%!Bb%):IFa%!Bb%=1THENa%!Xa%+=1 2920 : ENDIF 2930 : IFa%!Bb%=0THEN 2940 : a$=STRING$(LEN(a$)," ") 2950 : ENDIF 2960 : IFa%!Xa%>5THEN 2970 : a$=STRING$(LEN(a$)," "):a%!Xa%=-1 2980 : ENDIF 2990 : PROCq(a$) 3000 : ENDIF 3010 : ENDPROC 3020 : DEFPROCna:LOCALi%,F%,U%,zb%,b%,f%:b%=12:U%=56:zb%=ga%:f%=FNd(16):FORi%=1TOa%!U%:IFFNn(C%,d%(a%!b%,i%))THEN 3030 : PROCc(C%):C%!D%=FALSE:PROCK(i%,TRUE,a%!b%) 3040 : ENDIF 3050 : IFd%(a%!b%,i%)!ea%THEN 3060 : SYSFNc(6)TOF%:IFF%-d%(a%!b%,i%)!zb%>=5THEN 3070 : f%!e%=d%(a%!b%,i%)!e%:f%!h%=d%(a%!b%,i%)!h%:f%!d%=d%(a%!b%,i%)!d%-5:f%!s%=d%(a%!b%,i%)!s%+10:PROCc(f%):PROCy(d%(a%!b%,i%)):d%(a%!b%,i%)!ea%=FALSE 3080 : ENDIF 3090 : ENDIF 3100 : NEXTi%:PROCb(f%):ENDPROC 3110 : DEFPROCda:LOCALi%,T%,xb%,yb%,bb%,N%,b%:T%=fa%:xb%=ja%:yb%=ka%:bb%=la%:N%=8:b%=12:FORi%=1TOa%!N%:PROCJ(i%):NEXTi%:PROCr(a%!b%):ENDPROC 3120 : DEFPROCJ(b%):LOCALi%,M%,P%,eb%:eb%=20:a%(b%)!e%=50:a%(b%)!d%=550:a%(b%)!T%=0:a%(b%)!ea%=0:a%(b%)!V%=3:a%(b%)!Q%=a%(b%)!V%:a%(b%)!xb%=1:a%(b%)!yb%=a%(b%)!`a%:a%(b%)!bb%=1 3130 : a%(b%)!h%=(a%(b%)!`a%*K%!h%)+((a%(b%)!`a%-1)*a%(b%)!_a%):a%(b%)!s%=a%(b%)!ab%*K%!s%:FORP%=1TOa%(b%)!`a%:FORM%=1TOa%(b%)!ab%:e%(b%,P%,M%)=((M%+1)/2)+(a%(b%)!T%*10):NEXTM%:NEXTP%:c%( b%)!eb%=FALSE:ENDPROC 3140 : DEFPROCr(b%):LOCALM%,P%,x%,y%,f%:f%=FNd(16):FORP%=a%(b%)!xb%TOa%(b%)!yb%:x%=a%(b%)!e%+((P%-1)*(K%!h%+a%(b%)!_a%)):FORM%=a%(b%)!bb%TOa%(b%)!ab%:y%=a%(b%)!d%+((M%-1)*K%!s%):IFaa%THEN 3150 : PRINT"Value of cplyr% : "+STR$(b%)+" | Value of row% : "+STR$(P%)+" | Value of col% : "+STR$(M%):PRINT"Value of rack%(cplyr%)!scol% : "+STR$(a%(b%)!xb%):PRINT"Value of rack%(cplyr% )!ecol% : "+STR$(a%(b%)!xb%) 3160 : ENDIF 3170 : IFe%(b%,P%,M%)>0THEN 3180 : e%(b%,P%,M%)=((M%+1)/2)+(a%(b%)!T%*10) 3190 : ENDIF 3200 : IFe%(b%,P%,M%)<>0THEN 3210 : CASESGN(e%(b%,P%,M%))OF 3220 : WHEN-1:PROCya(x%,y%,P%,M%,b%) 3230 : WHEN1:PROCa(FNb(27)+STR$(e%(b%,P%,M%)),x%,y%) 3240 : ENDCASE 3250 : ELSE:f%!e%=x%:f%!d%=y%:f%!h%=K%!h%:f%!s%=K%!s%:PROCc(f%) 3260 : ENDIF 3270 : NEXTM%:NEXTP%:PROCb(f%):ENDPROC 3280 : DEFPROCya(x%,y%,r%,c%,b%):LOCALf%:e%(b%,r%,c%)+=1:PROCa(FNb(26),x%,y%):IFe%(b%,r%,c%)=0THEN 3290 : f%=FNd(16):f%!e%=x%:f%!d%=y%:f%!h%=K%!h%:f%!s%=K%!s%:PROCc(f%):PROCb(f%) 3300 : ENDIF 3310 : ENDPROC 3320 : DEFPROCH(b%):LOCALf%,i%:f%=FNd(16):FORi%=1TO3:a%(b%)!d%-=K%!s%/3:PROCr(b%):NEXTi%:f%!e%=a%(b%)!e%:f%!d%=a%(b%)!d%+a%(b%)!s%:f%!h%=a%(b%)!h%:f%!s%=K%!s%:PROCc(f%):PROCb(f%):ENDPROC 3330 : DEFPROCra(b%):LOCALDb%,Eb%,F%,Fb%,Gb%,V%,i%,o$:V%=1:Hb%=24:Db%=FNd(28):Eb%=FNd(28):PROCc(a%(b%)):PROCc(p%):IFC%!D%THENPROCc(C%):C%!D%=FALSE 3340 : IFo%!D%THENPROCc(o%):o%!D%=FALSE 3350 : PROCv:PROCI:p%!e%=FNh(p%,m%):Db%!e%=0-K%!h%:Db%!d%=p%!d%:Db%!Q%=V%:Eb%!e%=m%!h%:Eb%!d%=p%!d%:Eb%!Q%=0-V%:c%(b%)!J%=0:PROCi(Z%!ua%):PROCl(c%(b%)!J%):PROCx(c%(b%)!`%):PROCa(FNb(1),p% !e%,p%!d%):T%=0:Gb%=FALSE:REPEAT:Db%!e%+=Db%!Q% 3360 : Db%!Hb%=Db%!e%+K%!h%:Eb%!e%+=Eb%!Q%:SYSFNc(6)TOF%:IFF%-Fb%>=50THENPROCj(Gb%):Fb%=F% 3370 : IFGb%THENo$=FNb(21)ELSEo$=FNb(20) 3380 : PROCa(o$,Db%!e%,Db%!d%):PROCa(o$,Eb%!e%,Eb%!d%):PROCg(2):WAIT:UNTILDb%!Hb%>=p%!e%:FORi%=1TO10:PROCa(FNb(20),Db%!e%,Db%!d%):PROCa(FNb(20),Eb%!e%,Eb%!d%):PROCg(20):PROCa(FNb(21),Db%! e%,Db%!d%):PROCa(FNb(21),Eb%!e%,Eb%!d%):PROCg(20):WAIT:NEXTi%:PROCm(2):FORi%=1TO3 3390 : PROCa(FNb(2)+STR$(i%),p%!e%,p%!d%):PROCg(20):WAIT:NEXTi%:PROCg(20):PROCc(p%):PROCb(Db%):PROCb(Eb%):ENDPROC 3400 : DEFPROC`:LOCALi%,qb%,Fb%:qb%=ha%:Fb%=ia%:FORi%=1TO10:b%(i%)=FNe(48,0):PROCe(FNb(31),b%(i%)):SYSFNc(6)TOb%(i%)!qb%:SYSFNc(6)TOb%(i%)!Fb%:b%(i%)!D%=FALSE:NEXTi%:ENDPROC 3410 : DEFPROCta(q%,b%):LOCALIb%,Jb%,Kb%,Lb%,x%,y%:LOCALT%,Mb%:T%=fa%:Mb%=ga%:Ib%=RND(10):Kb%=c%(b%)!`%+5:IFKb%>100THEN 3420 : Kb%=100:IFc%(b%)!`%MOD10=0THEN 3430 : a%(b%)!cb%+=1 3440 : ENDIF 3450 : ENDIF 3460 : IFFNm(Kb%)ANDFNm(a%(b%)!cb%)THEN 3470 : IFe%(b%,Ib%,a%(b%)!bb%)>0THEN 3480 : x%=a%(b%)!e%+(Ib%-1)*(K%!h%+a%(b%)!_a%):y%=a%(b%)!d%+((a%(b%)!bb%-1)*K%!s%)-K%!s%:Jb%=(K%!h%/2)-(b%(q%)!h%/2):b%(q%)!e%=x%+Jb%:b%(q%)!d%=y%:b%(q%)!D%=TRUE:b%(q%)!ea%=FALSE:b%(q%)!M b%=1:b%(q%)!T%=0:Lb%=4 3490 : IFFNm(25)THENb%(q%)!Mb%=2:Lb%=Lb%/2 3500 : b%(q%)!V%=Lb%:b%(q%)!Q%=b%(q%)!V%:PROCm(3) 3510 : ENDIF 3520 : ENDIF 3530 : ENDPROC 3540 : DEFPROCua(q%):LOCALF%,T%,Fb%,Mb%,e$,r$:T%=fa%:Mb%=ga%:Fb%=ia%:SYSFNc(6)TOF%:IFF%-b%(q%)!Fb%>=40THEN 3550 : b%(q%)!Fb%=F%:b%(q%)!T%+=1 3560 : ENDIF 3570 : :IFb%(q%)!Mb%=1ANDb%(q%)!T%>1THEN 3580 : b%(q%)!T%=0 3590 : ENDIF 3600 : IFb%(q%)!Mb%=2ANDb%(q%)!T%>3THEN 3610 : b%(q%)!T%=0 3620 : ENDIF 3630 : r$=STR$(b%(q%)!T%):IFb%(q%)!Mb%=2ANDb%(q%)!T%=3THEN 3640 : r$="1" 3650 : ENDIF 3660 : e$=FNb(30)+STR$(b%(q%)!Mb%)+r$:IFNOTb%(q%)!ea%THEN 3670 : b%(q%)!d%-=b%(q%)!Q%:PROCa(e$,b%(q%)!e%,b%(q%)!d%) 3680 : ELSE:e$=FNb(30)+"3":PROCa(e$,b%(q%)!e%,b%(q%)!d%) 3690 : ENDIF 3700 : ENDPROC 3710 : DEFPROCva(q%,b%):LOCALi%,N%:N%=8:PROCm(2):FORi%=1TO3:PROCa(FNb(2)+STR$(i%),p%!e%,p%!d%):PROCg(20):WAIT:NEXTi%:PROCc(p%):IFC%!D%THEN 3720 : PROCc(C%):C%!D%=FALSE 3730 : ENDIF 3740 : p%!e%=FNh(p%,m%):PROCza:PROCl(c%(b%)!J%):PROCc(b%(q%)):b%(q%)!D%=FALSE:PROCa(FNb(1),p%!e%,p%!d%):ENDPROC 3750 : DEFPROCwa(q%):LOCALMb%,qb%:Mb%=ga%:qb%=ha%:IFb%(q%)!Mb%=1THEN 3760 : IFNOTb%(q%)!ea%THEN 3770 : b%(q%)!ea%=TRUE:PROCk(5):e$=FNb(30)+"3":PROCa(e$,b%(q%)!e%,b%(q%)!d%):SYSFNc(6)TOb%(q%)!qb% 3780 : ENDIF 3790 : ENDIF 3800 : PROCc(C%):C%!D%=FALSE:ENDPROC 3810 : DEFPROCxa(q%):LOCALqb%,F%:qb%=ha%:SYSFNc(6)TOF%:IFF%-b%(q%)!qb%>=40THEN 3820 : PROCc(b%(q%)):b%(q%)!D%=FALSE 3830 : ENDIF 3840 : ENDPROC 3850 : DEFPROCv:LOCALi%,Ab%:Ab%=52:FORi%=1TOa%!Ab%:IFb%(i%)!D%THEN 3860 : PROCc(b%(i%)):b%(i%)!D%=FALSE 3870 : ENDIF 3880 : NEXTi%:ENDPROC 3890 : DEFPROCca(b%):LOCALi%,x%,Nb%,Ob%,U%:Ob%=fa%:U%=56:Ra%!e%=0:Ra%!d%=0:PROCe(FNb(16),Ra%):Nb%=m%!h%/a%!U%:x%=Nb%-150:FORi%=1TOa%!U%:d%(b%,i%)=FNe(48,0):d%(b%,i%)!h%=Ra%!h%:d%(b%,i%)!s %=Ra%!s%:d%(b%,i%)!e%=x%+((i%-1)*Nb%) 3900 : d%(b%,i%)!d%=p%!d%+100:d%(b%,i%)!D%=TRUE:d%(b%,i%)!Ob%=0:NEXTi%:Ra%!e%=d%(b%,1)!e%:Ra%!d%=d%(b%,1)!d%:ENDPROC 3910 : DEFPROCsa(b%):LOCALi%,Ob%,U%:Ob%=fa%:U%=56:FORi%=1TOa%!U%:d%(b%,i%)!D%=TRUE:d%(b%,i%)!Ob%=0:NEXTi%:ENDPROC 3920 : DEFPROCu(b%):LOCALi%,U%:U%=56:FORi%=1TOa%!U%:IFd%(b%,i%)!D%THEN 3930 : PROCy(d%(b%,i%)) 3940 : ENDIF 3950 : NEXTi%:ENDPROC 3960 : DEFPROCy(q%):LOCALPb%,Qb%,Rb%,za%,Ob%,v%,a$:Ob%=fa%:v%=84:Rb%=10-q%!Ob%:a$=STR$(Rb%):za%=LEN(a$):Pb%=q%!e%+FNt(za%,q%!h%):Qb%=q%!d%+(q%!s%/2)-(m%!sa%/2):Qb%+=7:IFza%=1THENPb%-=7ELS EPb%-=15 3970 : PROCc(q%):PROCa(FNb(16),q%!e%,q%!d%):PROCd(Pb%,Qb%,a$,0,a%!v%):ENDPROC 3980 : DEFPROCK(q%,mb%,b%):LOCALy%,Ob%:Ob%=fa%:zb%=ga%:d%(b%,q%)!Ob%+=1:IFd%(b%,q%)!Ob%>=10THEN 3990 : PROCc(d%(b%,q%)):d%(b%,q%)!D%=FALSE 4000 : ELSE:PROCc(d%(b%,q%)):y%=d%(b%,q%)!d%:IFmb%THENd%(b%,q%)!d%+=5ELSEd%(b%,q%)!d%-=5 4010 : PROCy(d%(b%,q%)):d%(b%,q%)!ea%=TRUE:d%(b%,q%)!d%=y%:SYSFNc(6)TOd%(b%,q%)!zb% 4020 : ENDIF 4030 : ENDPROC 4040 : DEFPROCI(b%):LOCALi%,f%,U%:U%=56:f%=FNd(16):FORi%=1TOa%!U%:IFd%(b%,i%)!D%THEN 4050 : d%(b%,i%)!D%=FALSE:f%!e%=d%(b%,i%)!e%:f%!d%=d%(b%,i%)!d%:f%!h%=Ra%!h%:f%!s%=Ra%!s%:PROCc(f%) 4060 : ENDIF 4070 : NEXTi%:PROCb(f%):ENDPROC 4080 : DEFPROCV(Sb%):LOCALi%,n$,w%:w%=64:a%!w%=RND(128)+127:FORi%=1TO10:IFi%MOD2=0THENn$=FNa(71)ELSEn$=FNa(70) 4090 : a$(i%)=FNj(n$,a%!w%):f%(i%)=(11-i%)*1000:g%(i%)=0:NEXTi%:IFSb%THENPROCL 4100 : ENDPROC 4110 : DEFPROCW:LOCALi%,A%,Tb%,Ub%,Vb%,W%,w%,f$:A%=OPENIN(h$+"HiTable"):INPUT#A%,f$:IFf$<>"xBATSH"THENCLOSE#A%:ERROR255,FNa(115) 4120 : INPUT#A%,w%,Ub%,Tb%:Ub%=Ub%EORw%:Tb%=Tb%EORw%:FORi%=1TO10:INPUT#A%,a$(i%),f%(i%),g%(i%):NEXTi%:CLOSE#A%:FORi%=1TO10:W%+=LEN(a$(i%)):NEXTi%:Vb%=W%/10:IFUb%<>W%ORTb%<>Vb%THENERROR255 :FNa(113) 4130 : a%!64=w%:ENDPROC 4140 : DEFPROCL:LOCALi%,A%,W%,Vb%,w%,Wb%,t$:w%=64:Wb%=RND(128)+127:FORi%=1TO10:t$=FNj(a$(i%),a%!w%):a$(i%)=FNj(t$,Wb%):NEXTi%:a%!w%=Wb%:FORi%=1TO10:W%+=LEN(a$(i%)):NEXTi%:Vb%=W%/10:W%=W%E ORa%!w%:Vb%=Vb%EORa%!w%:A%=OPENOUT(h$+"HiTable"):PRINT#A%,"xBATSH",a%!w%,W%,Vb%:FORi%=1TO10 4150 : PRINT#A%,a$(i%),f%(i%),g%(i%):NEXTi%:CLOSE#A%:ENDPROC 4160 : DEFPROCqa(Xb%,b%):LOCALS%,R%,Yb%,g%,i%,Zb%,za%,x%,y%,a$:LOCALNa%,v%,w%,Oa%:R%=FNd(16):S%=FNd(16):Na%=44:v%=80:w%=64:Oa%=100:PROCe(FNb(100),R%):R%!e%=FNh(R%,m%):R%!d%=800:PROCe(FNb( 101),S%):S%!e%=FNh(S%,m%):S%!d%=R%!d%-S%!s% 4170 : Zb%=0:FORi%=10TO1STEP-1:IFXb%!Sa%>=f%(i%)THENZb%=i% 4180 : NEXTi%:FORi%=9TOZb%STEP-1:a$(i%+1)=a$(i%):f%(i%+1)=f%(i%):g%(i%+1)=g%(i%):NEXTi%:f%(Zb%)=Xb%!Sa%:g%(Zb%)=Xb%!`%:PROCM(4):CLS:PROCi(Z%!ta%):PROCi(Z%!ua%):PROCa(FNb(100),R%!e%,R%!d%) :PROCa(FNb(101),S%!e%,S%!d%):a$=FNa(80)+" "+STR$(b%)+" "+FNa(83)+" " 4190 : a$+=FNa(81)+" "+STR$(Xb%!Sa%)+" "+FNa(82):a$+=" "+STR$(Zb%)+FNG(Zb%):y%=S%!d%-170:PROCf(a$,0,y%):PROCb(R%):PROCb(S%):_b%!h%=165:_b%!s%=40:PROCN(_b%,m%):PROCO(_b%):x%=_b%!e%+20:y%=_ b%!d%+12:a$="":i%=1:Yb%=FALSE 4200 : SYSFNc(8),"FX 21,0":REPEAT:g%=GET:CASEg%OF 4210 : WHEN13:Yb%=TRUE 4220 : WHEN8:i%-=1:a$=LEFT$(a$,i%-1) 4230 : OTHERWISE:IFi%<9ANDFNH(g%)THENi%+=1:a$+=CHR$(g%) 4240 : ENDCASE 4250 : IFi%<1THENi%=1 4260 : PROCd(x%,y%,STRING$(8," "),0,a%!v%):IFa$<>""THENPROCd(x%,y%,a$,0,a%!v%) 4270 : UNTILYb%:IFa$=""ORa$=" "THENa$=FNa(56) 4280 : a$(Zb%)=FNj(a$,a%!w%):a%!Oa%=TRUE:IFa%!Na%THENPROCL 4290 : PROCM(4):ENDPROC 4300 : DEFFNH(`b%):=`b%>=32AND`b%<=126 4310 : DEFPROCG(ac%,bc%,l%,r%):LOCALx%,v%,a$:v%=80:a$=FNa(57)+" "+FNa(59):a$+=FNo(STR$(ac%),10," ",TRUE):PROCd(0,m%!s%-m%!sa%,a$,0,a%!v%):a$=FNa(58)+" "+FNa(57):a$+=" "+FNa(59)+FNo(STR$(b c%),10," ",TRUE):x%=m%!h%-LEN(a$)*m%!ra% 4320 : PROCd(x%,m%!s%-m%!sa%,a$,0,a%!v%):PROCl(l%):PROCx(r%):PROCn:PROCt:ENDPROC 4330 : DEFPROCl(fb%):LOCALv%,a$:v%=80:PROCa(FNb(1),0,0):a$=" = "+STR$(fb%):PROCd(p%!h%,0,a$,0,a%!v%):ENDPROC 4340 : DEFPROCx(fb%):LOCALx%,v%,a$:v%=80:a$=FNa(60)+" "+FNa(59):a$+=FNo(STR$(fb%),3,"0",TRUE):x%=m%!h%-LEN(a$)*m%!ra%:PROCd(x%,0,a$,0,a%!v%):ENDPROC 4350 : DEFPROCq(a$):LOCALy%:y%=m%!s%-m%!sa%:PROCf(a$,0,y%):ENDPROC 4360 : DEFPROCk(b%,cc%):LOCALdb%,Xa%,v%,x%,a$:db%=16:Xa%=16:v%=80:c%(b%)!Sa%+=cc%:a$=FNa(57)+" "+FNa(59):a$+=FNo(STR$(c%(b%)!Sa%),10," ",TRUE):PROCd(0,m%!s%-m%!sa%,a$,0,a%!v%):IFc%(b%)!Sa %-c%(b%)!db%>=5000THEN 4370 : c%(b%)!J%+=1:PROCl(c%(b%)!J%):c%(b%)!db%=c%(b%)!Sa%:a%!Xa%=0 4380 : ENDIF 4390 : IFc%(b%)!Sa%>f%(1)THEN 4400 : a$=FNa(58)+" "+FNa(57)+" ":a$+=FNa(59):a$+=FNo(STR$(c%(b%)!Sa%),10," ",TRUE):x%=m%!h%-LEN(a$)*m%!ra%:PROCd(x%,m%!s%-m%!sa%,a$,0,a%!v%) 4410 : ENDIF 4420 : ENDPROC 4430 : DEFPROCn:LOCALI%,f%,dc%,e$:f%=FNd(16):I%=0:dc%=25:PROCe(FNb(120),f%):f%!e%=FNh(f%,m%)+dc%:f%!d%=0:IFk%!I%<0ORk%!I%>2THEN 4440 : ERROR255,FNa(111)+" "+STR$(k%!I%) 4450 : ENDIF 4460 : e$=FNb(120+k%!I%):PROCa(e$,f%!e%,f%!d%):PROCb(f%):ENDPROC 4470 : DEFPROCt:LOCALec%,f%,fc%,dc%,i%:f%=FNd(16):ec%=8:dc%=25:PROCe(FNb(123),f%):f%!e%=FNh(f%,m%)-dc%:f%!d%=0:fc%=FNg(f%):fc%!e%=f%!e%-f%!h%:fc%!h%=2*f%!h%:PROCc(fc%):PROCb(fc%):IFa%!ec% <1ORa%!ec%>2THEN 4480 : ERROR255,FNa(117)+" "+STR$(a%!ec%) 4490 : ENDIF 4500 : FORi%=0TOa%!ec%-1:PROCa(FNb(123),f%!e%-(i%*f%!h%),f%!d%):NEXTi%:PROCb(f%):ENDPROC 4510 : DEFPROCaa(b%):LOCALJ%,Sa%,`%,Ta%,db%,eb%:J%=0:Sa%=4:`%=8:Ta%=12:db%=16:eb%=20:c%(b%)=FNe(24,0):c%(b%)!`%=1:c%(b%)!J%=3:c%(b%)!Ta%=FALSE:c%(b%)!db%=0:c%(b%)!eb%=FALSE:ENDPROC 4520 : DEFPROCba(b%):LOCAL_a%,`a%,ab%,cb%,zb%:_a%=ga%:`a%=ha%:ab%=ia%:cb%=ma%:zb%=na%:a%(b%)=FNd(68):a%(b%)!_a%=FNl(20,1):a%(b%)!`a%=10:a%(b%)!ab%=6:a%(b%)!D%=TRUE:a%(b%)!cb%=4:SYSFNc(6)T Oa%(b%)!zb%:ENDPROC 4530 : DEFPROCza:LOCALJ%,b%:J%=0:b%=12:c%(a%!b%)!J%-=1:PROCw:ENDPROC 4540 : DEFPROCw:LOCALJ%,N%,b%,Za%:J%=0:Za%=4:N%=8:b%=12:IFa%!N%>1THEN 4550 : IFc%(1)!J%=0ANDc%(2)!J%=0THENa%!Za%=TRUE 4560 : IFa%!b%=1THEN 4570 : IFc%(2)!J%>0THENPROCP 4580 : ELSE:IFc%(1)!J%>0THENPROCP 4590 : ENDIF 4600 : ELSE:IFc%(1)!J%=0THENa%!Za%=TRUE 4610 : ENDIF 4620 : ENDPROC 4630 : DEFPROCP:LOCALN%,b%,Xa%,f%,a$:N%=8:b%=12:Xa%=16:PROCv:PROCc(p%):PROCc(a%(a%!b%)):IFo%!D%THENPROCc(o%):o%!D%=FALSE 4640 : IFC%!D%THENPROCc(C%):C%!D%=FALSE 4650 : a%!Xa%=-1:PROCq(STRING$(11," ")):a%!b%-=1:PROCj(a%!b%):a%!b%+=1:a$=FNa(69)+" "+STR$(a%!b%)+" "+FNa(79):a$+=FNa(83):PROCs(a$,10,750):f%=c%(a%!b%):PROCG(f%!Sa%,f%(1),f%!J%,f%!`%):PRO Cu(a%!b%):PROCr(a%!b%):p%!e%=FNh(p%,m%):PROCa(FNb(1),p%!e%,p%!d%):ENDPROC 4660 : DEFFNv(b$):LOCALB%,gc%,f%,X%:B%=FNk(b$,2):f%=FNe(B%,0):PROCh(f%,208,0):SYSFNc(3),16,b$,f%,0:gc%=FNB(f%):IFgc%>0THEN 4670 : X%=FNC(gc%+4):PROCQ(f%,X%,4) 4680 : ELSE:X%=FNC(B%+256):SYSya%,256+10,X%,b$ 4690 : ENDIF 4700 : SYSya%,256+17,X%:=X% 4710 : DEFFNC(B%):LOCALX%:X%=FNe(B%,0):X%!0=B%:X%!4=0:X%!8=16:X%!12=16:=X% 4720 : DEFFND(k$):LOCALhc%,v%:v%=88:SYSya%,256+24,a%!v%,k$TO,,hc%:=hc% 4730 : DEFPROCe(k$,f%):LOCALhc%,x%,y%,v%:v%=88:hc%=FND(k$):SYSya%,512+40,a%!v%,hc%TO,,,x%,y%:f%!h%=FNl(x%,1):f%!s%=FNl(y%,2):ENDPROC 4740 : DEFFNl(B%,ic%):LOCALjc%,kc%:kc%=MODE:IFkc%<>m%!qa%THENPROCA 4750 : CASEic%OF 4760 : WHEN1:jc%=B%<>m%!oa% 4790 : WHEN4:jc%=B%>>m%!pa% 4800 : OTHERWISE:ERROR255,FNa(103)+" "+STR$(ic%) 4810 : ENDCASE 4820 : =jc% 4830 : DEFPROCa(k$,x%,y%):LOCALhc%,v%:v%=88:hc%=FND(k$):SYSya%,512+34,a%!v%,hc%,x%,y%,0:ENDPROC 4840 : DEFPROCd(x%,y%,a$,lc%,mc%):LOCALi%,nc%,v%,oc%:v%=88:oc%=76:IFmc%<>a%!80ANDmc%<>a%!84THEN 4850 : ERROR255,FNa(112) 4860 : ENDIF 4870 : a%!v%=mc%:nc%=m%!ra%:FORi%=1TOLEN(a$):PROCa(STR$(ASC(MID$(a$,i%,1))),x%+((i%-1)*nc%),y%):IFlc%>0THENPROCg(lc%) 4880 : NEXTi%:a%!v%=a%!oc%:ENDPROC 4890 : DEFPROCc(E%):GCOL0,0TINT0:RECTANGLEFILLE%!e%,E%!d%,E%!h%,E%!s%:ENDPROC 4900 : DEFPROCs(a$,lc%,pc%):LOCAL_b%:_b%=FNd(16):_b%!h%=(LEN(a$)+2)*m%!ra%:_b%!s%=40:PROCN(_b%,m%):_b%!d%-=3:PROCc(_b%):PROCO(_b%):PROCAa(a$,lc%):PROCb(_b%):PROCg(pc%):ENDPROC 4910 : DEFPROCf(a$,lc%,d%):LOCALza%,v%:v%=80:za%=LEN(a$)*m%!ra%:PROCd(FNt(za%,m%!h%),d%,a$,lc%,a%!v%):ENDPROC 4920 : DEFFNt(qc%,m%):=(m%/2)-(qc%/2) 4930 : DEFPROCAa(a$,lc%):LOCALza%,x%,y%,v%:v%=80:za%=LEN(a$)*m%!ra%:x%=FNt(za%,m%!h%):y%=(m%!s%/2)-(m%!sa%/2):PROCd(x%,y%,a$,lc%,a%!v%):ENDPROC 4940 : DEFFNh(E%,rc%):=(rc%!h%/2)-(E%!h%/2) 4950 : DEFPROCN(E%,rc%):E%!e%=(rc%!h%/2)-(E%!h%/2):E%!d%=(rc%!s%/2)-(E%!s%/2):ENDPROC 4960 : DEFPROCi(d%):LOCALi%,sc%:sc%=m%!h%/Z%!h%:FORi%=1TOsc%+1:PROCa(FNb(108),(i%-1)*Z%!h%,d%):NEXTi%:ENDPROC 4970 : DEFPROCO(E%):LOCALx%,y%,tc%,uc%,vc%,wc%,i%:tc%=FNl(3,1):uc%=FNl(3,2):vc%=1:wc%=3:FORi%=1TOE%!h%:x%=E%!e%+((i%-1)*vc%):PROCa(FNb(113),x%,E%!d%):PROCa(FNb(113),x%,E%!d%+(E%!s%-(2*wc% ))):NEXTi%:x%=E%!e%+(E%!h%-tc%):FORi%=1TOE%!s%-1 4980 : PROCa(FNb(114),E%!e%,E%!d%+((i%-1)*vc%)):PROCa(FNb(114),x%,E%!d%+((i%-1)*vc%)):NEXTi%:PROCa(FNb(111),E%!e%,E%!d%):PROCa(FNb(109),E%!e%,(E%!d%+E%!s%)-uc%):PROCa(FNb(112),E%!e%+(E%!h %-tc%),E%!d%):x%=(E%!e%+E%!h%)-tc%:y%=(E%!d%+E%!s%)-uc% 4990 : PROCa(FNb(110),x%,y%):ENDPROC 5000 : DEFFNq(b$,g$):LOCALA%,xc%,yc%,w%,f$:A%=OPENIN(b$):INPUT#A%,f$:f$=FNE(f$):IFf$<>g$THENCLOSE#A%:ERROR255,"Bad Magic!" 5010 : INPUT#A%,w%,yc%,yc%,xc%:CLOSE#A%:=xc%EORw% 5020 : DEFFNr(b$,g$,RETURNm%(),RETURNh$()):LOCALA%,i%,xc%,w%,Ub%,Tb%,W%,Vb%,f$:W%=0:A%=OPENIN(b$):INPUT#A%,f$:f$=FNE(f$):IFf$<>g$THENCLOSE#A%:ERROR255,"Bad Magic!" 5030 : INPUT#A%,w%,Ub%,Tb%,xc%:Ub%=Ub%EORw%:Tb%=Tb%EORw%:xc%=xc%EORw%:FORi%=1TOxc%:INPUT#A%,m%(i%),h$(i%):NEXTi%:CLOSE#A%:FORi%=1TOxc%:W%+=LEN(h$(i%)):NEXTi%:Vb%=W%/xc%:IFW%<>Ub%ORVb%<>Tb %THEN 5040 : ERROR255,"File Inconsistant with header!" 5050 : ENDIF 5060 : =w% 5070 : DEFFNE(a$):LOCALi%,c$:FORi%=LEN(a$)TO1STEP-1:c$+=MID$(a$,i%,1):NEXTi%:=c$ 5080 : DEFPROCz(zc%,w%,RETURNb$()):LOCALi%:FORi%=1TOzc%:b$(i%)=FNj(b$(i%),w%):NEXTi%:ENDPROC 5090 : DEFFNa(Ac%):LOCALw%:w%=a%!68:=FNu(Ac%,da%,j%(),g$(),w%,106) 5100 : DEFFNb(Ac%):=FNu(Ac%,va%,k%(),c$(),-1,107) 5110 : DEFFNc(Ac%):=FNu(Ac%,wa%,l%(),d$(),-1,108) 5120 : DEFFNf(Ac%):=FNu(Ac%,ca%,i%(),f$(),Bc%,109) 5130 : DEFFNu(Ac%,zc%,n%(),b$(),w%,Cc%):LOCALi%,Dc%:Dc%=0:FORi%=1TOzc%:IFn%(i%)=Ac%THENDc%=i%:i%=zc% 5140 : NEXTi%:IFDc%=0THEN 5150 : IFAc%>=106ANDAc%<=108THEN 5160 : ERROR255,"Missing message!!!" 5170 : ELSE:IFCc%=109THEN 5180 : ERROR255,"Can't find LibASH resource : "+STR$(Ac%) 5190 : ELSE:ERROR255,FNa(Cc%)+" "+STR$(Ac%) 5200 : ENDIF 5210 : ENDIF 5220 : ENDIF 5230 : IFw%=-1THEN=b$(Dc%) 5240 : =FNj(b$(Dc%),w%) 5250 : DEFFNx(b$):LOCALB%,gc%,f%,X%,A%:B%=FNk(b$,2):f%=FNe(B%,0):IFaa%THENPROCh(f%,208,0) 5260 : SYSFNc(3),16,b$,f%,0:gc%=FNB(f%):IFgc%>0THEN 5270 : X%=FNe(gc%,0):PROCQ(f%,X%,0):SYSFNc(31),,0,X%,gc%TOA%:PROCh(X%,0,1):PROCb(X%) 5280 : ELSE:SYSFNc(31),,0,f%,B%TOA%:PROCh(f%,0,1):PROCb(f%) 5290 : ENDIF 5300 : =A% 5310 : DEFPROCM(lc%):LOCALi%,j%,I%,Y%,O%,Ec%,_%,Fc%:I%=0:O%=8:Ec%=12:Y%=16:_%=20:Fc%=24:IFk%!I%=1THEN 5320 : IFk%!Y%=k%!O%THEN 5330 : SYSFNc(36),k%!Ec%,0:SYSFNc(33),k%!Ec% 5340 : ELSE:SYSFNc(36),k%!O%,0:SYSFNc(33),k%!O% 5350 : ENDIF 5360 : FORi%=0TOk%!_%STEPk%!Fc%:j%=k%!_%-i%:IFk%!Y%=k%!O%THEN 5370 : SYSFNc(36),k%!Ec%,i%:SYSFNc(36),k%!O%,j% 5380 : ELSE:SYSFNc(36),k%!O%,i%:SYSFNc(36),k%!Ec%,j% 5390 : ENDIF 5400 : PROCg(lc%):NEXTi%:SYSFNc(35),k%!Y%:IFk%!Y%=k%!O%THEN 5410 : k%!Y%=k%!Ec% 5420 : ELSE:k%!Y%=k%!O% 5430 : ENDIF 5440 : ENDIF 5450 : ENDPROC 5460 : DEFPROCX(lc%):LOCALi%,I%,Y%,_%,Fc%:I%=0:Y%=16:_%=20:Fc%=24:SYSFNc(36),k%!Y%,0:SYSFNc(33),k%!Y%:FORi%=0TOk%!_%STEPk%!Fc%:SYSFNc(36),k%!Y%,i%:IFlc%>0THENPROCg(lc%) 5470 : NEXTi%:ENDPROC 5480 : DEFPROC_(lc%):LOCALi%,I%,Y%,_%,Fc%:I%=0:Y%=16:_%=20:Fc%=24:IFk%!I%=1THEN 5490 : FORi%=k%!_%TO0STEP0-k%!Fc%:SYSFNc(36),k%!Y%,i%:IFlc%>0THENPROCg(lc%) 5500 : NEXTi%:SYSFNc(34),k%!Y% 5510 : ENDIF 5520 : ENDPROC 5530 : DEFPROCB:LOCALO%,Ec%,Y%:O%=8:Ec%=12:Y%=16:IFk%!O%<>-1THENSYSFNc(32),k%!O% 5540 : IFk%!Ec%<>-1THENSYSFNc(32),k%!Ec% 5550 : k%!O%=-1:k%!Ec%=-1:k%!Y%=-1:SYSFNc(38),-1:ENDPROC 5560 : DEFPROCm(Gc%):LOCALI%,u$:I%=0:u$=FNa(110)+" "+STR$(Gc%):IFk%!I%>0THEN 5570 : IFGc%<1ANDGc%>4THENERROR255,u$ 5580 : SYSFNc(8),"SPlay_fire0"+STR$(Gc%)+"mhh" 5590 : ENDIF 5600 : ENDPROC 5610 : DEFPROCA:LOCALf%:f%=FNd(20):f%!0=4:f%!4=5:f%!8=11:f%!12=12:f%!16=-1:SYSFNc(5),f%,f%:m%!oa%=f%!0:m%!pa%=f%!4:m%!h%=(f%!8)+1<=Hc%!e%ANDE%!e%=Hc%!d%ANDE%!d%=0ANDcc%<=2THENk%!I%=cc% 5780 : IFib%>=0ANDib%<=128THENk%!_%=ib% 5790 : IFMc%>=1ANDMc%<=64THENa%!Ya%=Mc% 5800 : a%!hb%=FALSE:ENDPROC 5810 : DEFPROCZ:LOCALA%,I%,_%,hb%,Ya%:I%=0:_%=20:Ya%=108:hb%=92:IFa%!hb%THEN 5820 : A%=OPENOUT(h$+"Configs"):PRINT#A%,k%!I%,k%!_%:PRINT#A%,a%!Ya%:CLOSE#A% 5830 : ENDIF 5840 : ENDPROC 5850 : DEFFNB(Nc%):LOCALB%,Oc%,gc%,i%,g$:B%=FNp(Nc%):PROCh(Nc%,208,0):FORi%=0TO3:g$+=CHR$(Nc%?i%):NEXTi%:IFg$<>"SQSH"THEN=0 5860 : PRINTFNa(27)+"...":SYSFNc(7),1<<3,B%TOOc%,gc%:IFgc%=-1THENgc%=Nc%!4 5870 : =gc% 5880 : DEFPROCQ(Nc%,Pc%,Qc%):LOCALB%,Rc%,Oc%,gc%:B%=FNp(Nc%):gc%=FNp(Pc%):SYSFNc(7),1<<3,B%TOOc%:Rc%=FNe(Oc%,0):PROCh(Rc%,207,0):SYSFNc(7),1<<2,Rc%,Nc%+20,B%-20,Pc%+Qc%,gc%TOSc%:IFSc%<>0T HENERROR255,FNa(114)+" "+STR$(Sc%) 5890 : PROCh(Rc%,0,1):PROCh(Nc%,0,1):PROCb(Rc%):PROCb(Nc%):ENDPROC 5900 : DEFFNw(xc%):LOCALj$:j$="Dump"+STR$(xc%):IFFNk(q$+j$,1)<>0THEN 5910 : REPEAT:xc%+=1:j$="Dump"+STR$(xc%):UNTILFNk(q$+j$,1)=0ORLEN(j$)>10:IFLEN(j$)>10THENxc%=-1 5920 : ENDIF 5930 : =xc% 5940 : DEFPROCh(f%,Ac%,ic%):LOCALa$:IFaa%THEN 5950 : IFic%=0THENa$=FNa(200)ELSEa$=FNa(209) 5960 : a$+=" &":PRINTa$;~FNp(f%);:PRINT" "+FNa(201)+" &";~f%;:IFic%=0THEN 5970 : a$=" "+FNa(202)+" "+FNa(Ac%) 5980 : ELSE:a$="." 5990 : ENDIF 6000 : PRINTa$ 6010 : ENDIF 6020 : ENDPROC 6030 : DEFPROCU:LOCALA%,W%,Vb%,Ub%,Tb%,i%,Tc%,g$:LOCALw%,B%:w%=60:B%=72:A%=OPENIN(d$+"Creds"):INPUT#A%,g$:IFg$<>"DERC"THEN 6040 : CLOSE#A%:ERROR255,FNa(101):END 6050 : ENDIF 6060 : INPUT#A%,a%!w%,Tc%,Ub%,Tb%:a%!B%=Tc%EORa%!w%:Ub%=Ub%EORa%!w%:Tb%=Tb%EORa%!w%:DIMe$(a%!B%),h%(a%!B%):FORi%=1TOa%!B%:INPUT#A%,h%(i%),e$(i%):NEXTi%:CLOSE#A%:W%=0:FORi%=1TOa%!B%:W%+=LE N(e$(i%)):NEXTi%:Vb%=W%/a%!B%:IFVb%<>Tb%ORW%<>Ub%THENERROR255,FNa(113) 6070 : ENDPROC 6080 : DEFFNm(n%):=RND(100)<=n% 6090 : DEFFNj(a$,w%):LOCALi%,c$:FORi%=1TOLEN(a$):c$+=CHR$(ASC(MID$(a$,i%,1))EORw%):NEXTi%:=c$ 6100 : DEFPROCg(n%):LOCALt%:t%=TIME+n%:REPEAT:UNTILTIME>=t%:ENDPROC 6110 : DEFPROCj(RETURNn%):n%=n%EOR1:ENDPROC 6120 : DEFFNG(n%):LOCALc$,u%:u%=VAL(RIGHT$(STR$(n%),1)):c$=FNa(65):IFu%>=1ANDu%<=3THENc$=FNa(u%+61) 6130 : =c$ 6140 : DEFPROCBa(Zb%,RETURNUc%):Uc%=Uc%OR(1<0THEN 6380 : SYSFNc(4),254,A%TO`c%;_c%:IF(_c%AND1)THENCLOSE#A%:ERROR255,FNa(105) 6390 : IF((`c%AND(1<<7))<>0)THENad%=TRUE 6400 : CLOSE#A% 6410 : ENDIF 6420 : =ad% 6430 : DEFPROCS(w%):LOCALSc%:bd%=0:cd%=0:Bc%=w%:SYSFNf(210),-1,-1TOdd%:SYSFNf(211)TOed%;Sc%:IFSc%AND1THENed%=16384 6440 : PROCCa(ed%):ENDPROC 6450 : DEFPROCC:IFbd%THEN 6460 : SYSFNf(210),bd%-32768,-1TOdd%:bd%=0:cd%=0 6470 : ENDIF 6480 : ENDPROC 6490 : DEFFNd(fd%):LOCALH%,B%:B%=(fd%+15)AND-4:H%=FNI(B%):IFH%ELSEERROR254,FNf(110) 6500 : H%!0=&DEADDEAD:H%!4=fd%:!(H%-8+(H%!-4))=&DEADDEAD:=H%+8 6510 : DEFFNe(fd%,cc%):LOCALH%:H%=FNd(fd%):PROCDa(H%,cc%):=H% 6520 : DEFPROCb(RETURNH%):CASEFNJ(H%)OF 6530 : WHEN1:ERROR254,FNf(111) 6540 : WHEN2:ERROR254,FNf(112) 6550 : WHEN3:ERROR254,FNf(113) 6560 : ENDCASE 6570 : H%-=8:cd%-=H%!-4:SYSFNf(212),3,bd%,H%:H%=0:ENDPROC 6580 : DEFFNp(H%):LOCALf%:f%=H%-4:=f%!0 6590 : DEFPROCDa(H%,cc%):LOCALvb%,B%:B%=FNp(H%):FORvb%=0TOB%-4STEP4:H%!vb%=cc%:NEXTvb%:ENDPROC 6600 : DEFFNg(H%):LOCALf%,vb%,B%:B%=FNp(H%):f%=FNd(B%):FORvb%=0TOB%-4STEP4:f%!vb%=H%!vb%:NEXTvb%:=f% 6610 : DEFFNJ(H%):LOCALbc%,gd%:bc%=FALSE:gd%=FALSE:H%-=8:IFH%!0<>&DEADDEADTHENgd%=TRUE 6620 : IF!(H%-8+(H%!-4))<>&DEADDEADTHENbc%=TRUE 6630 : IFgd%ANDbc%THEN=3 6640 : IFbc%THEN=2 6650 : IFgd%THEN=1 6660 : =0 6670 : DEFPROCCa(B%):IFbd%THENERROR254,FNf(114) 6680 : B%=(B%+ed%-1)ANDNOT(ed%-1):bd%=HIMEM:SYSFNf(210),dd%+B%,-1TOdd%:B%=dd%+32768-bd%:IFB%<1THEN 6690 : bd%=0:ERROR254,FNf(115) 6700 : ELSE:SYSFNf(212),0,bd%,,B% 6710 : ENDIF 6720 : cd%=0:ENDPROC 6730 : DEFPROCEa(fd%):LOCALhd%:hd%=dd%:SYSFNf(210),dd%+fd%,-1TOdd%:fd%=dd%-hd%:IFfd%THENSYSFNf(212),5,bd%,,fd%TO,,,fd% 6740 : ENDPROC 6750 : DEFFNI(fd%):LOCALH%,Sc%:SYSFNf(213),2,bd%,,fd%TO,,H%;Sc%:IFSc%AND1THEN 6760 : PROCEa((fd%+ed%)ANDNOT(ed%-1)):SYSFNf(213),2,bd%,,fd%TO,,H%;Sc%:IFSc%AND1THEN=0 6770 : ENDIF 6780 : cd%+=H%!-4:=H%