Home » Archimedes archive » Acorn User » AU 1995-04.adf » !Internet_StarterPak » !SLIPdial/!Runimage
!SLIPdial/!Runimage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Archimedes archive » Acorn User » AU 1995-04.adf » !Internet_StarterPak |
| Filename: | !SLIPdial/!Runimage |
| Read OK: | ✔ |
| File size: | CD2D bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
20ONERRORREPORT:PRINT" at ";ERL:END
30END=HIMEM+&2000
40PROCA_
50PROCB_
60PROCC_
70PROCD_
80PROCE_
90ONERRORPROCF_:END
100PROCG_
110WHILEFNH_(I_%DIV2*J_%):END=HIMEM+&2000:ENDWHILE
120PROCK_
130SYS131080,17,L_$TOA%,,,,S%
140WHILEFNH_(S%):END=HIMEM+&2000:ENDWHILE
150PROCM_(L_$)
160A%=FNN_("")
170REPEAT
180O_%=0
190REPEAT
200IFFNH_(0)THENPROCP_(FNQ_("MoreMem")):END=HIMEM+&2000
210IFFNR_THENA$=FNS_ELSEA$=FNT_(O_%):O_%+=1
220U_%=FNV_(A$)
230UNTILO_%>=W_%ORX_%=FALSE
240X_%=FALSE:IFO_%>=W_%THENPROCY_("",FNQ_("Idle"),"")
250PROCZ_
260UNTIL0
270END
300DEFPROCA_
310DIMa_% 256,b_ 4096
320SYS6,129,0,&FFTO,c_%
330d_%=&1B00
340e_%=FALSE
350f_%=1:g_%=0:h_%=FALSE:i_%=FALSE:X_%=FALSE:j_%=0:k_%=-1
360l_%=FALSE:m_%=0:n_%=FALSE:o_%=0:p_%=0:q_%=0:r_$="":O_%=0
370s_%=20:DIMt_%(s_%),u_%(s_%)
380v_%=10:DIMw_$(v_%),x_% v_%,y_$(3),y_%(3)
390z_%=30:DIM__$(z_%,1),`_$(1),A`$(1)
400B`%=50:DIMC`%(B`%),C`$(B`%):D`%=0:U_$=""
410E`%=150:DIMF`$(E`%,1),G`$(3),H`$(3),I`$(10):I`%=0
420J`%=10:DIMK`$(J`%,1),L`%(J`%),M`$(J`%)
430N`%=8:DIMO`$(N`%),P`$(N`%),Q`$(N`%,1)
440DIMR`$(N`%),P`%(N`%)
450S`%=8:DIMT`$(S`%),U`$(S`%),V`%(S`%)
460W`%=8:DIMX`$(W`%),Y`$(W`%),Z`$(W`%)
470DIMa`%(W`%),b`%(W`%),c`$(W`%),d`%(W`%)
480DIMe`%(W`%),f`%(W`%),g`%(W`%),h`%(W`%)
490H`%=-1:d`%()=0:f`%()=0:i`%=29:I_%=80:J_%=24
500j`%=10:DIMk`$(j`%),k`%(j`%),l`%(j`%):k`%()=TRUE
510m`%=10:DIMn`%(m`%),o`$(m`%),p`%(m`%),q`$(m`%)
520r`%=25:s`$="":t`$="":u`%=0:s`%=0:v`%=TRUE:w`%=0
530x`$=FNy`("Slipdial$dir")
540z`$=FNy`("Slipdial$resources")
550_`$=z`$+".UK":``$="":Aa%=1:Ba$="none"
560ENDPROC
590DEFPROCE_
600DIMCa% d_%:!Ca%=d_%:Ca%!8=0
610SYS46,&109,Ca%
620IFFNDa(z`$+".Sprites")=0THENERROR0,"Couldn't load sprites"
630DIMEa%4:$Ea%="TASK":Fa$="SLIPdial"
640DIMGa%4:!Ga%=0
650SYS262336,310,!Ea%,Fa$,Ga%TOHa%,Ia%
660IFHa%<310THENERROR1,"Window Manager too old"
670Ja%=0:Ka%=0
680p_%=FNLa(z`$+".!windows")
690IFp_%>0THEN
700Ja%=VALGET$#p_%:Ka%=VALGET$#p_%
710ENDIF
720PROCMa(p_%)
730DIMq%&400,Na%&200,Oa%&100,Pa%&100
740SYS262361,,_`$+".Templates"
750Qa%=FNRa("Info")
760Sa%=FNRa("Status")
770Ta%=FNRa("txtwin")
780Ua%=FNRa("config")
790Va%=FNRa("message")
800Wa%=FNRa("input")
810Xa%=FNRa("yesno")
820SYS262362
830PROCYa(Qa%,4,"0.33 (17-Feb-1995)"):PROCZa("$ver","33")
840aa$="nodev":ba%=FNca(aa$,-1)
850IFba%=0THENERROR0,"Couldn't create icon"
860M%=%10000001100000110000:da%=-20
870SYS66TOea%:fa%=ea%
880ga%=fa%:ha%=fa%:PROCia:PROCja("")
890ENDPROC
910DEFFNRa(A$)
920LOCALb%,i%,s%,ka%,la%,h%
930SYS262363,,-1,0,0,-1,A$,0TO,b%,i%
940s%=FNma(ka%,b%,"TBUF"):DIMla% i%
950SYS262363,,ka%,la%,la%+i%,-1,A$,0
960IFA$="message"THENna%=ka%!72
970IFA$="Status"THENPROCoa(ka%,Ja%,Ka%)
980ka%!64=Ca%:SYS262337,,ka%TOh%:PROCpa(s%)
990=h%
1010DEFPROCoa(q%,x%,y%)
1020LOCALw%,h%
1030IFx%>0THEN
1040w%=q%!8-!q%:h%=q%!12-q%!4
1050!q%=x%:q%!8=x%+w%
1060q%!4=y%:q%!12=y%+h%
1070ENDIF
1080ENDPROC
1110DEFFNDa(A$)
1120LOCALs%,f%,n%,r%:r%=0
1130SYS131080,17,A$TOA%,,,,S%
1140SYS131118,&108,Ca%TO,,s%,n%,,f%
1150IFA%=1ANDS%<=(s%-f%)THEN
1160SYS131118,&10B+(n%=0),Ca%,A$TO;F%
1170IF(F%AND1)=0THENr%=s%-f%-S%
1180ENDIF
1190=r%
1210DEFFNqa
1220LOCALs%,f%:SYS131118,&108,Ca%TO,,s%,,,f%
1230=s%-f%
1260DEFFNca(A$,n%)
1270LOCALZ%,ra%,w%,h%
1280SYS46,&100+40,Ca%,A$TO,,,w%,h%:IFw%>200ORh%>70THEN=0
1290IFn%<0THEN
1300!Oa%=-1:ra%=0
1320DIMsa%12:$sa%=A$:Oa%!24=sa%
1330ELSE
1340ra%=ba%
1350FORZ%=0TOn%:IFP`%(Z%)>0THENra%=P`%(Z%)
1360NEXT:!Oa%=-3
1380DIMOa%!24 12:$(Oa%!24)=A$
1390ENDIF
1400Oa%!4=0:Oa%!8=0:Oa%!12=w%*2:Oa%!16=100:Oa%!20=&3102
1410Oa%!28=Ca%:Oa%!32=11
1420SYS262338,ra%,Oa%TOca%
1430=ca%
1460DEFPROCia
1470LOCALta$
1480IFl_%=FALSETHEN
1490ta$="nodev"
1500ELSE
1510IF(FNd(9,ua%,0,0)AND8)=0THEN
1520ta$="dev"
1530ELSE
1540IFaa$="online1"THENta$="online2"ELSEta$="online1"
1550ENDIF
1560ENDIF
1570ha%=fa%
1580IFsa%>0ANDta$<>aa$THEN
1590PROCva(aa$,ta$)
1600aa$=ta$
1610SYS131118,&118,Ca%,ta$TO,,wa%;F%
1620IF(F%AND1)=0THEN
1630$sa%=ta$:!q%=-1:q%!4=ba%:q%!8=0:q%!12=0
1640SYS262349,,q%
1650ENDIF
1660ENDIF
1670ENDPROC
1700DEFPROCva(A$,B$)
1710CASEB$OF
1720WHEN"nodev":IFA$="online1"ORA$="online2"ORA$="dev"THENPROCxa(TIME$+": offline after "+r_$)
1730WHEN"online1":IFA$<>"online2"THENPROCxa(TIME$+": online to "+Ba$):ya%=fa%:ELSEPROCza
1740WHEN"online2":PROCza
1750ENDCASE
1760ENDPROC
1790DEFPROCza
1800LOCALT%
1810T%=ABS(fa%-ya%)DIV100
1820r_$=RIGHT$("0"+STR$(T%DIV3600),2)+":"
1830r_$+=RIGHT$("0"+STR$((T%DIV60)MOD60),2)+":"
1840r_$+=RIGHT$("0"+STR$(T%MOD60),2)
1850PROC_a(Sa%,8,r_$)
1860ENDPROC
1890DEFPROCxa(A$)
1900p_%=FN`a(x`$+".logfile")
1910IFp_%<>0THENPTR#p_%=EXT#p_%:BPUT#p_%,A$:PROCMa(p_%)
1920ENDPROC
1940DEFPROCAb(Bb%)
1960SYS66TOfa%
1970IFBb%>=0ORea%-fa%<Bb%THEN
1980ea%=fa%
1990REPEAT
2000SYS262369,M%,q%,fa%+Bb%TOR%
2010IFl_%THENJ%=FNd(19,ua%,0,0)
2020CASER%OF
2030WHEN1:PROCCb(!q%)
2040WHEN2:PROCDb(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28)
2050WHEN3:PROCEb(!q%)
2060WHEN6:PROCFb(!q%,q%!4,q%!8,q%!12,q%!16)
2070WHEN8:PROCGb(!q%,q%!4,q%!24)
2080WHEN9:PROCHb:PROCIb(q%)
2090WHEN17,18:PROCJb(q%)
2100ENDCASE
2110UNTILR%=0
2120IFfa%>ha%+100THENPROCia:PROCKb:PROCLb
2130IFfa%>ga%+500THENPROCMb:PROCNb
2140IFs`%>0ANDfa%>w`%+500THENPROCOb("")
2150ENDIF
2160ENDPROC
2180DEFPROCGb(w%,i%,k%)
2190LOCALl%
2200IFw%=Ta%ANDi%=Pb%THEN
2210CASEk%OF
2220WHEN13:FORl%=10TO1STEP-1:I`$(l%)=I`$(l%-1):NEXT
2230I`$(0)=FNQb(w%,i%):PROCRb(I`$(0),0):I`%=-1
2240PROC_a(w%,i%,""):SYS262354,w%,i%,,,-1,0
2250WHEN&18F:IFI`%<10ANDI`$(I`%+1)>""THEN
2260I`%+=1:PROC_a(w%,i%,I`$(I`%))
2270SYS262354,w%,i%,,,-1,LENI`$(I`%)
2280ENDIF
2290WHEN&18E:IFI`%>0THEN
2300I`%-=1:PROC_a(w%,i%,I`$(I`%))
2310SYS262354,w%,i%,,,-1,LENI`$(I`%)
2320ELSE
2330I`%=-1:PROC_a(w%,i%,""):SYS262354,w%,i%,,,-1,0
2340ENDIF
2350OTHERWISE:SYS262364,q%!24
2360ENDCASE
2370ELSE
2380IFw%=Wa%ANDi%=1ANDk%=13THEN
2390Wa$=FNQb(w%,i%):IFWa$=""THENWa$=" "
2400ELSE
2410SYS262364,q%!24
2420ENDIF
2430ENDIF
2440ENDPROC
2460DEFPROCJb(q%)
2470LOCALZ%,h%,i%,t%,f$,Sb%,a%,A$
2480CASEq%!16OF
2490WHEN0:PROCTb:END
2500WHEN1:q%!16=2:q%!36=-1:$(q%+44)="<Wimp$Scrap>"+CHR$0
2510q%!12=q%!8:SYS262375,17,q%,q%!4
2520WHEN3:i%=q%!24:h%=q%!20:t%=q%!40:f$=FNUb(q%+44)
2530q%!16=4:SYS262375,17,q%,q%!4
2540CASEh%OF
2550WHENUa%:IFt%=&FFFTHEN
2560IFi%=4PROC_a(Ua%,4,f$)
2570ELSE
2580PROCM_(f$)
2590ENDIF
2600WHENSa%:IFt%=&FFFTHENPROCM_(f$)
2610WHEN-1,-2:IFt%=&FFFANDi%=ba%THEN
2620PROCM_(f$)
2630ELSE
2640FORZ%=0TON`%
2650IFi%=P`%(Z%)ANDO`$(Z%)>""THENPROCO`(Z%,f$,t%)
2660NEXT
2670ENDIF
2680ENDCASE
2690Z%=FNVb("<Wimp$Scrap>")
2700WHEN11:IFl_%ANDq%!4<>Ia%THENPROCWb
2710WHEN12:IFq%!4<>Ia%THEN
2720PROCY_("Device claim failed",FNUb(q%+28),"")
2730PROCXb(Sa%):l_%=FALSE
2740ENDIF
2750WHEN&502:A$=FNYb(q%!32,q%!36)
2760IFA$>""THEN
2770q%!16=&503:q%!12=q%!8:$(q%+20)=A$:q%?(20+LENA$)=0:!q%=256
2780SYS262375,17,q%,q%!4
2790ENDIF
2800WHEN&400C2:IFj_%<>0THEN
2810IFV`%(j_%)=0THEN
2820V`%(j_%)=q%!4:PROCZb(FNab("TaskStart2",U`$(j_%)))
2830ENDIF
2840j_%=0
2850ENDIF
2860WHEN&400C3
2870FORl%=0TOS`%
2880IFV`%(l%)=q%!4THEN
2890V`%(l%)=0:IFT`$(l%)>""THENPROCRb(T`$(l%),3)
2900ENDIF
2910NEXT
2920PROCbb
2930WHEN&808C1
2940Sb%=0:cb%=q%!20-1
2950WHILEa`%(Sb%)<>q%!4ANDSb%<W`%:Sb%+=1:ENDWHILE
2960IFb`%(Sb%)=0THEN
2970FORZ%=0TOcb%STEP4:a_%!Z%=q%!(24+Z%):NEXT
2980PROCdb(Sb%,a_%,cb%)
2990ELSE
3000FORZ%=0TOcb%:BPUT#b`%(Sb%),q%!(24+Z%):NEXT
3010ENDIF
3020WHEN&808C2
3030IFq%!20>=Ia%ANDq%!20<=(Ia%+W`%)THEN
3040a`%(q%!20-Ia%)=q%!4:PROCZb("Task started: "+Y`$(q%!20-Ia%))
3050ENDIF
3060WHEN&808C3
3070Sb%=0:WHILEq%!4<>a`%(Sb%)ANDSb%<W`%:Sb%+=1:ENDWHILE
3080IFq%!4=a`%(Sb%)THEN
3090PROCZb(FNab("TaskEnd",Y`$(Sb%)))
3100IFg`%(Sb%)=0THEN
3110a`%(Sb%)=0:PROCEb(d`%(Sb%))
3120ELSE
3130a`%(Sb%)=-1:$h`%(Sb%)=Y`$(Sb%)+FNQ_("TaskFin")
3140PROCeb(d`%(Sb%))
3150ENDIF
3160Y`$(Sb%)="":PROCMa(b`%(Sb%)):b`%(Sb%)=0
3170IFX`$(Sb%)>""THENPROCRb(X`$(Sb%),4)
3180ENDIF
3190ENDCASE
3200ENDPROC
3220DEFFNYb(w%,i%)
3230LOCALA$,l%
3240A$="Hgeneric":CASEw%OF
3250WHENTa%:A$="Htext"
3260WHENSa%:A$="Hstatus":CASEi%OF
3270WHEN1,2:A$="Haction"
3280WHEN3:A$="Hip"
3290WHEN4:A$="Hstop"
3300WHEN5:A$="Hpause"
3310WHEN6,7:A$="Hmenus"
3320WHEN8:A$="Htime"
3330WHEN10:A$="Hmodem"
3340ENDCASE
3350WHENVa%:A$="Hmess":IFh_%THENA$="Hmess2"
3360WHENWa%:A$="Henter"
3370WHENXa%:A$="Hyesno"
3380WHENQa%:A$="Hinfo"
3390WHENUa%:A$="Hconfig"
3400OTHERWISE:FORl%=0TOW`%:IFw%=d`%(l%)THENA$="Htask"
3410NEXT
3420ENDCASE
3430=FNQ_(A$)
3450DEFPROCTb
3460LOCALl%
3470IFl_%<>0THEN
3480J%=FNd(8,ua%,0,0)
3490J%=FNd(18,ua%,0,0)
3500ENDIF
3510PROCfb("")
3520PROCMa(p_%):PROCMa(q_%)
3530FORl%=0TOW`%:PROCMa(b`%(l%)):NEXT
3540FORl%=0TOm`%:PROCMa(n`%(l%)):NEXT
3550PROCgb
3560ENDPROC
3580DEFPROCMa(RETURNC%)
3590IFC%<>0THENSYS131085,0,C%:C%=0
3600ENDPROC
3620DEFPROCHb
3630SYS262351,,Pa%
3640hb%=!Pa%:ib%=Pa%!4:b%=Pa%!8:jb%=Pa%!12
3650la%=Pa%!16:kb%=Pa%!20
3660ENDPROC
3680DEFPROCFb(hb%,ib%,b%,w%,i%)
3690LOCALZ%
3700CASEb%OF
3710WHEN2
3720CASEw%OF
3730WHEN-2:IFi%=ba%THEN
3740PROClb(TRUE)
3750ELSE
3760FORZ%=0TON`%
3770IFi%=P`%(Z%)ANDQ`$(Z%,0)>""THENPROCmb(102,FNnb(Q`$(Z%,0),Q`$(Z%,1)),R`$(Z%),TRUE)
3780NEXT
3790ENDIF
3800WHENTa%:SYS6,121,(1EOR&80)TO,Z%
3810IFZ%=0THEN
3820PROCmb(101,"Alarm list,Menu list,Var list,Task list,|Script list,Quit","Control",0)
3830ELSE
3840PROCmb(101,"DbgLev 0,DbgLev 1,DbgLev 2,DbgLev 3","Debug",0)
3850ENDIF
3860WHENSa%
3870CASEi%OF
3880WHEN7:IF`_$(0)>""THENPROCmb(102,FNnb(`_$(0),`_$(1)),"User menu",FALSE)
3890OTHERWISE:PROClb(0)
3900ENDCASE
3910OTHERWISE:PROClb(0)
3920ENDCASE
3930WHEN1,4
3940CASEw%OF
3950WHENSa%
3960CASEi%OF
3970WHEN5
3980IFNOTh_%THEN
3990PROCY_("",FNQ_("PauseP"),"")
4000h_%=TRUE:PROCRb("pause",0)
4010ELSE
4020PROCob
4030ENDIF
4040WHEN4
4050i_%=TRUE:PROCY_("",FNQ_("StopP"),""):PROCi_
4060WHEN6:IF`_$(0)>""THENPROCmb(102,FNnb(`_$(0),`_$(1)),"User menu",FALSE)
4070WHEN11:IFFNQb(Sa%,i%)="Redial"THENe_%=TRUE:PROCY_("",FNQ_("RedialP"),"")
4080ENDCASE
4090WHENUa%
4100IFi%=6THENPROCpb:PROCEb(Ua%)
4110WHENXa%
4120IFi%=0THENqb%=2
4130IFi%=1THENqb%=1
4140WHENTa%
4150SYS262354,w%,Pb%,,,-1,LENFNQb(w%,Pb%)
4160WHEN-2
4170IFi%=ba%THEN
4180IFb%=4THENPROCXb(Sa%)ELSEPROCXb(Ta%)
4190ELSE
4200FORZ%=0TON`%
4210IFi%=P`%(Z%)ANDP`$(Z%)>""THENPROCRb(P`$(Z%),6)
4220NEXT
4230ENDIF
4240ENDCASE
4250ENDCASE
4260ENDPROC
4280DEFPROClb(i%)
4290PROCmb(101,">Info,Choices...,|Control...,Quit","SLIPdial",i%)
4300ENDPROC
4320DEFPROCrb(Va$)
4330sb%=0:u_%()=0:k`$()="":k`%()=TRUE
4340IFtb$>""THENPROCRb(tb$,0):tb$="":ENDPROC
4350PROCub(""""+FNvb("Escript",STR$O_%,Va$)+""""):VDU7
4360PROCY_("",FNQ_("StopE"),"")
4370O_%=0:X_%=FALSE:PROCZ_
4380ENDPROC
4400DEFPROCWa(A$)
4410LOCALv$,p$:p$="Input:"
4420REPEATB$=FNwb(A$):Wa$=""
4430IFLEFT$(B$,1)="/"THEN
4440C$=FNxb(B$):CASELEFT$(B$,2)OF
4450WHEN"pr":p$=LEFT$(C$,40)
4460ENDCASE
4470ELSE
4480v$=B$:PROC_a(Wa%,1,""):PROC_a(Wa%,0,p$)
4490PROCXb(Wa%):SYS262354,Wa%,1,,,-1,0
4500REPEATPROCAb(50):UNTILWa$>"":p$="Input:"
4510IFWa$=" "THENWa$=""
4520PROCZa(v$,Wa$)
4530ENDIF
4540UNTILA$=""
4550PROCEb(Wa%)
4560ENDPROC
4580DEFPROCub(A$)
4590LOCALw%,n%,t$
4600t$=FNQ_("Message"):v`%=FALSE
4610w%=0:n%=0
4620REPEATB$=FNwb(A$)
4630IFLEFT$(B$,1)="/"THEN
4640C$=FNxb(B$):CASELEFT$(B$,2)OF
4650WHEN"cl":PROCEb(Va%)
4660WHEN"wa":w%=TRUE
4670WHEN"ti":t$=C$
4680WHEN"ca":s`$=C$:t`$=""
4690u`%=r`%:s`%=1:w`%=fa%:IFn%=0THENyb$()=""
4700WHEN"ce":v`%=TRUE
4710WHEN"en":t`$=C$
4720WHEN"ma":u`%=VALC$
4730WHEN"ad":n%+=1
4740WHEN"na","id"
4750ENDCASE
4760ELSE
4770IFB$>""ANDn%=0THENyb$()=""
4780IFB$>""THENPROCOb(B$):n%+=1
4790ENDIF
4800UNTILB$=""ORn%>r`%
4810$na%=t$:PROCeb(Va%)
4820IFn%>0THEN
4830PROCOb("")
4840ENDIF
4850IFw%THENPROCRb("pause",0)
4860ENDPROC
4880DEFPROCOb(A$)
4890LOCALl%,w%,t$:l%=-1:w%=0
4900REPEATl%+=1:t$=yb$(l%):IFLENt$>w%THENw%=LENt$
4910UNTILt$=""ORl%=r`%:w`%=fa%
4920IFA$>""THEN
4930IFl%=r`%THENFORl%=1TOr`%:yb$(l%-1)=yb$(l%):NEXT
4940yb$(l%)=A$
4950ELSE
4960IFl%>0THENPROCzb(l%,w%)
4970ENDIF
4980ENDPROC
5000DEFPROCzb(y%,x%)
5010LOCALo%
5020!a_%=0:a_%!4=-y%*32-32:a_%!8=x%*16+10:a_%!12=0
5030SYS262359,Va%,a_%
5040!q%=Va%:SYS262347,,q%:o%=(q%!32)AND(1<<16)
5050q%!12=q%!4+x%*16+10:q%!16=q%!8+y%*32+32
5060q%!20=0:q%!24=0:q%!28=-1:SYS262341,,q%
5070IFo%=0THENPROC_b(Va%,0,150)ELSEPROCXb(Va%)
5080!q%=Va%:SYS262347,,q%:`b%=q%!12-q%!4
5090PROCAc(0,-y%*32-32,`b%,0)
5100ENDPROC
5120DEFPROCBc(A$)
5130IFs`%=1ANDINSTR(A$,s`$)>0THENs`%=2
5140IFs`%=2THEN
5150u`%-=1:PROCOb(A$)
5160IFu`%<1OR(t`$>""ANDINSTR(A$,t`$)>0)THENs`%=0:PROCOb("")
5170ENDIF
5180ENDPROC
5200DEFPROCZ_
5210h_%=TRUE:PROC_a(Sa%,5,FNQ_("Resume"))
5220PROCY_("",FNQ_("Paused"),"")
5230REPEATPROCAb(30):UNTILh_%=FALSE
5240ENDPROC
5260DEFPROCob
5270h_%=FALSE:i_%=FALSE:X_%=TRUE:PROC_a(Sa%,5,FNQ_("Pause"))
5280PROCY_(""," ","")
5290ENDPROC
5310DEFPROCi_
5320sb%=0:u_%()=0:k`$()="":k`%()=TRUE:s`%=0
5330IFO_%>0ANDi_$<>""THENPROCRb(i_$,0):i_$="":ELSEPROCRb("pause",0):O_%=0:PROCCc
5340ENDPROC
5360DEFPROCmb(jb%,Dc$,Ec$,I%)
5370LOCALi%,Fc$,Gc%,Hc%
5380IFDc$=""THENENDPROC
5390Gc%=0
5400Ic%=jb%
5410Hc%=Na%
5420i%=0
5430Hc%!20=44
5440$Hc%=Ec$
5450Hc%?12=7:Hc%?13=2:Hc%?14=&7:Hc%?15=0
5460Hc%!16=230-24:Hc%!24=0
5470Hc%+=28
5480REPEAT
5490Fc$=FNJc(Dc$,",",i%):PROCKc(Fc$):Gc%+=1
5500UNTILFc$=""
5510Hc%!-24=(Hc%!-24)OR&80
5520IFI%<>0THENY%=120+(Gc%-1)*44ELSEY%=ib%
5530SYS262356,,Na%,hb%-64,Y%
5540ENDPROC
5560DEFPROCKc(Lc$)
5570LOCALMc$
5580IFLc$>""THEN
5590!Hc%=0
5600IFLEFT$(Lc$,1)="|"THENLc$=MID$(Lc$,2):!Hc%=2
5610Mc$=LEFT$(Lc$,1):Hc%!4=-1
5620IFMc$=">"THENHc%!4=Qa%
5630Hc%!8=&07000021
5640IFMc$=">"ORMc$="<"THEN$(Hc%+12)=MID$(Lc$,2)ELSE$(Hc%+12)=Lc$
5650Hc%+=24
5660ENDIF
5670ENDPROC
5690DEFFNJc(Dc$,Nc$,RETURNi%)
5700LOCALOc%
5710Oc%=i%+1:i%=INSTR(Dc$+Nc$,Nc$,Oc%)
5720=MID$(Dc$,Oc%,i%-Oc%)
5740DEFPROCIb(Qc%)
5750LOCALA$
5760LOCALl%:SYS262357,,Na%,Qc%,STRING$(20," ")TO,,,A$
5770CASEA$OF
5780WHEN"Choices...":PROCXb(Ua%)
5790WHEN"Control...":PROCXb(Ta%)
5800WHEN"Quit":PROCTb:END
5810WHEN"Alarm list":PROCRc
5820WHEN"Menu list":PROCSc
5830WHEN"Task list":PROCTc
5840WHEN"Var list":PROCUc
5850WHEN"Script list":PROCVc("")
5860WHEN"DbgLev 0":n_%=0
5870WHEN"DbgLev 1":n_%=1
5880WHEN"DbgLev 2":n_%=2
5890WHEN"DbgLev 3":n_%=3
5900OTHERWISE:IF__%>0THEN
5910FORl%=1TO__%
5920IFA$=__$(l%,0)THEN
5930PROC_a(Sa%,7,__$(l%,0))
5940PROCRb(__$(l%,1),8)
5950ENDIF
5960NEXT
5970ENDIF
5980ENDCASE
5990ENDPROC
6010DEFPROCF_
6020!Pa%=ERR:$(Pa%+4)=REPORT$+" (internal code "+STR$ERL+")."+CHR$0
6030SYS262367,Pa%,1,Fa$:PROCTb
6040ENDPROC
6060DEFPROCXb(h%)
6070!q%=h%:SYS262347,,q%
6080q%!28=-1:SYS262341,,q%
6090IFh%=Ta%THENSYS262354,h%,Pb%,,,-1,LENFNQb(h%,Pb%)
6100ENDPROC
6120DEFPROC_b(h%,Wc%,Xc%)
6130LOCALx%,y%,Yc%,Zc%,ac%,bc%
6140IFAa%=0ANDh%=Sa%THEN
6150PROCXb(h%)
6160ELSE
6170SYS53,-1,4TO,,ac%:SYS53,-1,11TO,,x%
6180SYS53,-1,5TO,,bc%:SYS53,-1,12TO,,y%
6190!q%=h%:SYS262347,,q%
6200x%=x%<<ac%:y%=y%<<bc%:Yc%=q%!12-q%!4:Zc%=q%!16-q%!8
6210q%!4=(x%-Yc%)DIV2-Wc%:q%!12=q%!4+Yc%:q%!8=(y%-Zc%)DIV2-Xc%:q%!16=q%!8+Zc%
6220q%!20=0:q%!24=0:q%!28=-1:SYS262341,,q%
6230ENDIF
6240ENDPROC
6260DEFPROCeb(h%)
6270!q%=h%:SYS262368,,q%
6280SYS262353,-1,q%!4,q%!16-44,q%!12,q%!16
6290ENDPROC
6310DEFFNQb(H%,I%)
6320!q%=H%:q%!4=I%:SYS262350,,q%
6330=FNUb(q%!28)
6350DEFPROCYa(H%,I%,A$)
6360!q%=H%:q%!4=I%:SYS393422,,q%TO;F%
6370IFFNcc(F%)ANDq%!28>&8800THEN$(q%!28)=A$+CHR$0
6380ENDPROC
6400DEFPROC_a(H%,I%,A$)
6410PROCYa(H%,I%,A$):!q%=H%:q%!4=I%:q%!8=0:q%!12=0
6420SYS262349,,q%
6430ENDPROC
6450DEFPROCdc(H%,I%,S%)
6460S%=ABS(S%=0):!q%=H%:q%!4=I%:q%!8=((1)<<21)*S%:q%!12=(1<<21)
6470SYS262349,,q%
6480ENDPROC
6500DEFFNec(H%,I%)
6510!q%=H%:q%!4=I%:SYS262350,,q%
6520=NOT(((q%!24)AND(1<<21))DIV2097152<>0)
6540DEFPROCfc(H%,I%,S%)
6550!q%=H%:q%!4=I%:q%!8=((1)<<22)*ABSS%:q%!12=(1<<22)
6560SYS262349,,q%
6570ENDPROC
6590DEFPROCY_(a$,b$,c$)
6600IFa$>""THENPROC_a(Sa%,1,RIGHT$(a$,34)):IFLENa$>1THENPROCZb("Action: "+a$)
6610IFb$>""THENPROC_a(Sa%,2,RIGHT$(b$,34)):IFLENb$>1THENPROCZb("Status: "+b$)
6620IFc$>""THENPROC_a(Sa%,3,RIGHT$(c$,34)):IFLENc$>1THENPROCZb("IP add: "+c$)
6630ENDPROC
6650DEFPROCDb(jb%,gc%,hc%,ic%,jc%,kc%,lc%,mc%)
6660IFjb%>-1THEN
6670q%!0=jb%:q%!28=mc%
6680q%!4=gc%:q%!8=hc%:q%!12=ic%:q%!16=jc%
6690q%!20=kc%:q%!24=lc%
6700SYS262341,,q%
6710ENDIF
6720ENDPROC
6740DEFPROCEb(h%)
6750LOCALL%
6760CASEh%OF
6770WHENVa%:IFh_%THENPROCob
6780WHENWa%:Wa$=" "
6790OTHERWISE
6800FORL%=0TOW`%
6810IFh%=d`%(L%)ANDa`%(L%)>0THEN
6820VDU7:IFFNXa(FNQ_("TaskKill"),3)=2THEN
6830PROCnc(Y`$(L%),&808C4)
6840ELSE
6850h%=0
6860ENDIF
6870L%=W`%
6880ENDIF
6890NEXT
6900ENDCASE
6910IFh%>0THEN!q%=h%:SYS262342,,q%
6920ENDPROC
6940DEFFNoc(A$)
6950LOCALd%,r%,qc%:d%=60:r%=0:qc%=1
6960REPEATB$=FNwb(A$)
6970IFLEFT$(B$,1)="/"THEN
6980C$=FNxb(B$):CASELEFT$(B$,3)OF
6990WHEN"del":d%=VALC$:IFd%<5THENd%=5
7000WHEN"def":C$=FNrc(C$):IFLEFT$(C$,1)="y"THENqc%=2
7010ENDCASE
7020ELSE
7030r%=FNXa(B$,d%)
7040ENDIF
7050UNTILA$=""
7060IFr%=0THENr%=qc%
7070=-(r%=2)
7110DEFFNXa(A$,sc%)
7130LOCALtc%:tc%=fa%:sc%=sc%*100:PROC_a(Xa%,2,LEFT$(A$,57))
7140PROC_b(Xa%,0,0):IFsc%=0THENsc%=60000
7150qb%=0:REPEAT:PROCAb(50):UNTILqb%>0ORfa%-tc%>sc%
7160PROCEb(Xa%)
7170=qb%
7190DEFFNy`(A$)
7200LOCALL%,F%
7210SYS131107,A$,a_%,256,0,3TO,,L%;F%
7220IF(F%AND1)ORL%>256THEN:=""
7230a_%?L%=13:=$a_%
7250DEFPROCQa(q%)
7260gc%=!q%:hc%=q%!4:ic%=q%!8:jc%=q%!12:kc%=q%!16:lc%=q%!20
7270uc%=gc%-kc%:vc%=jc%-lc%:wc%=q%!28:xc%=q%!36
7280ENDPROC
7300DEFPROCCb(h%)
7310LOCALSb%:!q%=h%:CASEh%OF
7320WHENTa%
7330SYS262344,,q%TOyc%
7340PROCzc(yc%)
7350WHENVa%
7360SYS262344,,q%TOyc%
7370PROC_c(yc%)
7380OTHERWISE
7390FORSb%=0TOW`%:IFh%=d`%(Sb%)THEN
7400SYS262344,,q%TOyc%
7410PROC`c(Sb%,yc%)
7420ENDIF
7430NEXT
7440ENDCASE
7450ENDPROC
7470DEFPROCK_
7480Ad%=0
7490Bd%=1:DIMCd$(J_%),Dd% J_%,yb$(r`%):`b%=0
7500Cd$()=STRING$(I_%DIV2," "):Ed%=40
7510!a_%=0:a_%!4=-J_%*32-Ed%-8:a_%!8=I_%*16:a_%!12=0
7520SYS262359,Ta%,a_%
7530FORi%=0TO1:!a_%=Ta%:a_%!4=i%:SYS262350,,a_%
7540a_%!12=a_%!12-J_%*32:a_%!20=a_%!20-J_%*32:a_%!4=Ta%
7550!q%=Ta%:q%!4=i%:SYS262340,,q%
7560SYS262338,,a_%+4TOPb%:NEXT
7570Fd%=0:Gd%=0:Hd$="":c`$=""
7580PROCY_("Starting SLIPdial","Idle"," ")
7590IFId%=0ANDFNec(Ua%,2)=0THENPROCXb(Ta%)
7600ENDPROC
7620DEFPROCJd(Sb%,Kd%,T$)
7630LOCALLd%:Ld%=(Sb%MOD4)*40
7640IFd`%(Sb%)=0THEN
7650SYS262361,,_`$+".Templates"
7660SYS262363,,q%,Md%,Nd%+Od%,-1,"task",0TO,,Md%
7670h`%(Sb%)=q%!72:q%!44=-i`%*32
7680!q%=!q%+Ld%:q%!8=q%!8+Ld%:q%!4=q%!4-Ld%:q%!12=q%!12-Ld%
7690SYS262337,,q%TOd`%(Sb%)
7700SYS262362
7710CASESb%OF
7720WHEN0:DIMPd$(i`%)
7730WHEN1:DIMQd$(i`%)
7740WHEN2:DIMRd$(i`%)
7750WHEN3:DIMSd$(i`%)
7760WHEN4:DIMTd$(i`%)
7770WHEN5:DIMUd$(i`%)
7780WHEN6:DIMVd$(i`%)
7790OTHERWISE:PROCrb(FNQ_("Etask1")):ENDPROC
7800ENDCASE
7810ELSE
7820CASESb%OF
7830WHEN0:Pd$()=""
7840WHEN1:Qd$()=""
7850WHEN2:Rd$()=""
7860WHEN3:Sd$()=""
7870WHEN4:Td$()=""
7880WHEN5:Ud$()=""
7890WHEN6:Vd$()=""
7900ENDCASE
7910ENDIF
7920$h`%(Sb%)=FNab("TaskRun",T$):c`$(Sb%)="":e`%(Sb%)=0:f`%(Sb%)=0
7930IFKd%THENPROCXb(d`%(Sb%))
7940ENDPROC
7960DEFPROCWd(Xd%,Yd%,Zd%,ad%)
7970!q%=Ta%:q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
7980SYS262345,,q%TOyc%
7990PROCzc(yc%)
8000ENDPROC
8020DEFPROCAc(Xd%,Yd%,Zd%,ad%)
8030!q%=Va%:q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
8040SYS262345,,q%TOyc%
8050PROC_c(yc%)
8060ENDPROC
8080DEFPROCbd(Sb%,Xd%,Yd%,Zd%,ad%)
8090!q%=d`%(Sb%):q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
8100SYS262345,,q%TOyc%
8110PROC`c(Sb%,yc%)
8120ENDPROC
8140DEFPROC_c(yc%)
8150WHILEyc%
8160PROCQa(q%+4):CLG
8170cd%=ABS(xc%-vc%+16)DIV32:dd%=ABS(wc%-vc%+16)DIV32
8180IFdd%>r`%THENdd%=r`%:IFcd%>dd%THENcd%=dd%
8190SYS262374,7:FORL%=cd%TOdd%
8200MOVEuc%+4-v`%*(`b%DIV2-LENyb$(L%)*8),vc%-L%*32-16
8210PRINTyb$(L%):NEXT
8220SYS262346,,q%TOyc%
8230ENDWHILE
8240ENDPROC
8260DEFPROC`c(Sb%,yc%)
8270LOCALL%,y%,cd%,dd%:WHILEyc%
8280PROCQa(q%+4):CLG
8290cd%=ABS(xc%-vc%)DIV32:dd%=ABS(wc%-vc%)DIV32
8300IFdd%>i`%THENdd%=i`%:IFcd%>dd%THENcd%=dd%
8310SYS262374,7:FORL%=cd%TOdd%
8320y%=(L%+f`%(Sb%))MODi`%
8330MOVEuc%+4,vc%-L%*32-4
8340CASESb%OF
8350WHEN0:PRINTPd$(y%)
8360WHEN1:PRINTQd$(y%)
8370WHEN2:PRINTRd$(y%)
8380WHEN3:PRINTSd$(y%)
8390WHEN4:PRINTTd$(y%)
8400WHEN5:PRINTUd$(y%)
8410WHEN6:PRINTVd$(y%)
8420ENDCASE
8430NEXT
8440SYS262346,,q%TOyc%
8450ENDWHILE
8460ENDPROC
8480DEFPROCzc(yc%)
8490LOCALL%,y%,cd%,dd%:WHILEyc%
8500PROCQa(q%+4):CLG
8510cd%=ABS(xc%-vc%)DIV32:dd%=ABS(wc%-vc%)DIV32
8520IFdd%>J_%THENdd%=J_%:IFcd%>dd%THENcd%=dd%
8530FORL%=cd%TOdd%:y%=(L%+Ad%)MODJ_%
8540MOVEuc%,vc%-L%*32:SYS262374,Dd%?y%:PRINTCd$(y%):NEXT
8550SYS262346,,q%TOyc%
8560ENDWHILE
8570ENDPROC
8590DEFPROCed(A$)
8600IFHd$>""THENPROCfd
8610PROCgd(A$,7)
8620ENDPROC
8640DEFPROCP_(A$)
8650PROCgd(A$,11)
8660ENDPROC
8680DEFPROCfd
8690IFHd$>""THEN
8700IF(n_%AND2)<>0ANDo_%<>0THENBPUT#o_%,Hd$
8710IFs`%>0THENPROCBc(Hd$)
8720PROCgd(Hd$,5):Hd$=""
8730ENDIF
8740ENDPROC
8760DEFFNhd:IFl_%=0THEN=-1
8770Z%=FNd(1,ua%,0,0)
8780IFZ%>0AND(n_%AND2)>0ORs`%>0THEN
8790IFZ%>31ANDZ%<128THENHd$+=CHR$Z%
8800IFZ%=13ORZ%=10ORLENHd$>=I_%THENPROCfd
8810ENDIF
8820=Z%
8840DEFPROCdb(Sb%,id%,jd%)
8850LOCALl%
8860FORl%=0TOjd%:C%=id%?l%
8870IFC%>31ANDC%<128THENc`$(Sb%)+=CHR$C%
8880IFC%=13ORC%=10ORLENc`$(Sb%)>78THEN
8890PROCkd(Sb%,c`$(Sb%))
8900IFH`%=Sb%ANDH`$(0)>""THENPROCH`(c`$(Sb%))
8910c`$(Sb%)=""
8920ENDIF
8930NEXT
8940IFH`%=Sb%ANDH`$(0)>""THENPROCH`(c`$(Sb%))
8950ENDPROC
8970DEFPROCkd(Sb%,A$)
8980LOCALt%,B$
8990IF(n_%AND4)<>0ANDo_%<>0THENBPUT#o_%,"TW"+STR$Sb%+">"+A$
9000WHILEA$>""
9010t%=(e`%(Sb%)+f`%(Sb%))MODi`%
9020B$=LEFT$(A$,79):A$=MID$(A$,79)
9030CASESb%OF
9040WHEN0:Pd$(t%)=B$
9050WHEN1:Qd$(t%)=B$
9060WHEN2:Rd$(t%)=B$
9070WHEN3:Sd$(t%)=B$
9080WHEN4:Td$(t%)=B$
9090WHEN5:Ud$(t%)=B$
9100WHEN6:Vd$(t%)=B$
9110ENDCASE
9120IFe`%(Sb%)<i`%THEN
9130!q%=d`%(Sb%):SYS262347,,q%:f%=(q%!32)AND(1<<16)
9140IFe`%(Sb%)>=ABS(q%!8-q%!16)DIV32THENq%!24=-(e`%(Sb%)*32-ABS(q%!8-q%!16))-32:SYS262341,,q%
9150PROCbd(Sb%,0,-e`%(Sb%)*32-32,1280,-e`%(Sb%)*32+4)
9160e`%(Sb%)+=1
9170ELSE
9180f`%(Sb%)=(f`%(Sb%)+1)MODi`%
9190SYS262379,d`%(Sb%),0,-32*i`%,1280,0,0,-32*(i`%-1)
9200PROCbd(Sb%,0,-32*i`%,1280,-32*(i`%-1)+4)
9210ENDIF
9220ENDWHILE
9230ENDPROC
9250DEFPROCgd(A$,ld%)
9260LOCALt%:PROCAb(da%)
9270WHILEA$>""
9280t%=(Bd%+Ad%)MODJ_%
9290Cd$(t%)=LEFT$(A$,I_%):A$=MID$(A$,I_%)
9300Dd%?t%=ld%:IFBd%<J_%THEN
9310!q%=Ta%:SYS262347,,q%:f%=(q%!32)AND(1<<16)
9320IFf%<>0ANDBd%>=ABS(q%!8-q%!16)DIV32THENq%!24=-(Bd%*32-ABS(q%!8-q%!16))-32:SYS262341,,q%
9330PROCWd(0,-Bd%*32-32,1280,-Bd%*32+4)
9340Bd%+=1
9350ELSE
9360Ad%=(Ad%+1)MODJ_%
9370SYS262379,Ta%,0,-32*J_%,1280,0,0,-32*(J_%-1)
9380PROCWd(0,-32*J_%,1280,-32*(J_%-1)+4)
9390ENDIF
9400ENDWHILE
9410ENDPROC
9430DEFPROCmd
9440Cd$()="":Bd%=0:Ad%=0:Hd$=""
9450PROCWd(0,-J_%*32-Ed%-8,16*I_%,0)
9460ENDPROC
9480DEFPROCZb(m$)
9490IF(n_%AND1)THEN
9500PROCed(m$)
9510IFo_%<>0THENBPUT#o_%,m$
9520ENDIF
9530ENDPROC
9550DEFPROCfb(A$)
9560B$=FNwb(A$)
9570IFB$=""THEN
9580PROCfd:PROCMa(o_%)
9590ELSE
9600B$=FNnd(B$)
9610SYS131085,&CF,B$TOo_%;F%
9620IF(F%AND1)THENSYS131085,&8F,B$TOo_%;F%
9630IF(F%AND1)THENo_%=0:PROCrb(FNQ_("Etrace")):ENDPROC
9640SYS131080,18,B$,&FFF
9650IFo_%<>0THENPTR#o_%=EXT#o_%
9660ENDIF
9670ENDPROC
9690DEFPROCod
9700IFpd%>-1THEN
9710!q%=256:q%!12=0:q%!16=11:q%!20=2:q%!24=pd%+ua%
9720$(q%+28)="SLIPdial"+CHR$0
9730SYS262375,18,q%,0
9740l_%=TRUE:FORL%=1TO5:PROCAb(0):NEXT
9750ENDIF
9760ENDPROC
9780DEFPROCWb
9790IFpd%>-1THEN
9800IFq%!20=2ANDq%!24=pd%+ua%THEN
9810!q%=256:q%!12=q%!8:q%!16=12
9820$(q%+28)=FNQ_("DevMine")+CHR$0
9830SYS262375,17,q%,q%!4
9840ENDIF
9850ENDIF
9860ENDPROC
9880DEFFNqd(A$)
9890A%=INSTR(A$," "):IFA%>=0THEN
9900b_$=LEFT$(A$,A%-1)
9910ua%=VAL(MID$(A$,A%+1))
9920ELSE
9930b_$="internal"
9940ua%=0
9950ENDIF
9970PROCZa("port",b_$+" "+STR$ua%)
9980PROCY_(FNab("DevLoad",b_$)," ","")
9990SYS131080,16,"SerialDev:modules."+b_$+".driver",b_,0TO;F%
10000IF(F%AND1)THENPROCrb(FNab("Edev",b_$)):=0
10010PROCY_("",FNQ_("DevOK"),"")
10020pd%=b_!&C8
10030=ua%
10050DEFPROCrd(B$)
10060sd%=VALB$:IFsd%=0THENsd%=19200
10070PROCZa("speed",STR$sd%)
10080ENDPROC
10100DEFPROCRb(A$,t%)
10140PROCZb(FNab("Qadd",A$))
10150L%=0:WHILEk`$(L%)>""ANDL%<j`%
10160L%+=1:ENDWHILE
10170k`$(L%)=A$:l`%(L%)=t%:ENDPROC
10190DEFFNS_
10200LOCALt%,l%,A$,n%:l%=0:A$="":n%=0
10210REPEATIFk`$(l%)>""ANDk`%(l`%(l%))=TRUETHENA$=k`$(l%):n%=l%
10220l%+=1:UNTILA$>""ORk`$(l%)=""ORl%=j`%
10230IFA$>""THEN
10240FORl%=n%TOj`%-1:k`$(l%)=k`$(l%+1):l`%(l%)=l`%(l%+1):NEXT
10250k`$(j`%)=""
10260ENDIF
10270=A$
10290DEFFNR_
10300LOCALt%,l%,r%:l%=0:r%=0
10310REPEATIFk`$(l%)>""ANDk`%(l`%(l%))=TRUETHENr%=TRUE
10320l%+=1:UNTILr%<>0ORk`$(l%)=""ORl%=j`%
10330=r%
10350DEFFNV_(td$)
10360WHILEtd$>""ANDi_%=0:A$=FNud(td$)
10370PROCAb(da%)
10380PROCZb(STR$O_%+": "+A$)
10390B$=FNwb(A$):B$=FNrc(B$):vd$=B$
10400IFLEFT$(B$,1)<>":"THEN
10410CASEB$OF
10420WHEN"if":U_%=FNwd(A$,td$)
10430WHEN"ask":U_%=FNoc(A$)
10440WHEN"case":U_%=FNw_(A$)
10450WHEN"when":U_%=FNxd(A$,td$)
10460WHEN"otherwise":PROCyd(td$)
10470WHEN"endcase":U_%=FNzd
10480WHEN"claim":U_%=FN_d(A$)
10490WHEN"debug":n_%=FNn_(A$)
10500WHEN"driver":U_%=FNN_(A$)
10510WHEN"source":U_%=FN`d(A$)
10520WHEN"library":U_%=FNAe(A$)
10530WHEN"chain":PROCBe(A$)
10540WHEN"port":ua%=FNqd(A$)
10550WHEN"speed":PROCrd(A$)
10560WHEN"release":PROCCc
10570WHEN"init":U_%=FNCe(A$)
10580WHEN"reinit":PROCDe
10590WHEN"dial":U_%=FNEe(A$)
10600WHEN"wait":U_%=FNsc(A$)
10610WHEN"trace":PROCfb(A$)
10620WHEN"send":PROCFe(A$)
10630WHEN"ipget":U_%=FNGe(A$)
10640WHEN"make":PROCHe(A$)
10650WHEN"task":U_%=FNIa(A$)
10660WHEN"taskwindow":U_%=FNIe(A$)
10670WHEN"sleep","pause":PROCh_(VAL(A$))
10680WHEN"alarm":PROCK`(A$)
10690WHEN"set":PROCJe(A$)
10700WHEN"unset":PROCKe(A$)
10710WHEN"?eq","?ne","?lt","?le","?gt","?ge":U_%=FNLe(B$,A$)
10720WHEN"string":U_%=FNMe(A$)
10730WHEN"eval":U_%=FNNe(A$)
10740WHEN"label"
10750WHEN"goto":PROCOe(A$,O_%)
10760WHEN"call":PROCPe(A$,O_%)
10770WHEN"return":U_%=FNU_(A$,O_%)
10780WHEN"echo":PROCQe(A$)
10790WHEN"?file":U_%=FNL_(A$)
10800WHEN"?line":U_%=FNRe(A$)
10810WHEN"?free":U_%=FNSe(A$)
10820WHEN"retry":PROCTe(A$)
10830WHEN"open":U_%=FNUe(A$)
10840WHEN"close":U_%=FNVe(A$)
10850WHEN"read":U_%=FNWe(A$)
10860WHEN"write":U_%=FNXe(A$)
10870WHEN"ptr":U_%=FNFd(A$)
10880WHEN"move":U_%=FNYe(A$)
10890WHEN"copy":U_%=FNZe(A$)
10900WHEN"append":U_%=FNae(A$)
10910WHEN"delete":U_%=FNbe(A$)
10920WHEN"newsrate":U_%=FNce(A$)
10930WHEN"?task":U_%=FNde(A$)
10940WHEN"dopen","dataopen":U_%=FNee(A$)
10950WHEN"stamp":PROCZb("("+STR$(TIMEDIV100)+") "+A$)
10960WHEN"error":PROCrb(A$)
10970WHEN"message":PROCub(A$)
10980WHEN"menu":PROCfe(A$)
10990WHEN"list":PROCge(A$)
11000WHEN"icon":U_%=FNhe(A$)
11010WHEN"analyse","analyze":PROCie(A$)
11020WHEN"help":PROCje(A$)
11030WHEN"event":PROCke(A$)
11040WHEN"stop":PROCi_
11050WHEN"quit":PROCle(FNQ_("Quit"))
11060WHEN"exit":PROCme
11070WHEN"input":PROCWa(A$)
11080WHEN"oscli":U_%=FNne(A$)
11090OTHERWISE:PROCZb(FNQ_("BadCom"))
11100ENDCASE
11110ENDIF
11120IFU_%<0THENPROCZa("$status",U_$)ELSEPROCZa("$status",STR$U_%)
11130ENDWHILE
11140=U_%
11160DEFPROCQe(A$)
11170LOCALB$,s%:s%=0
11180REPEAT
11190B$=FNwb(A$)
11200IFLEFT$(B$,1)="/"THEN
11210CASELEFT$(B$,3)OF
11220WHEN"/st":s%=TRUE
11230WHEN"/lo":s%=0
11240WHEN"/da":A$=""""+TIME$+""" "+A$
11250ENDCASE
11260ELSE
11270IFs%THEN
11280PROCY_("",B$,"")
11290ELSE
11300PROCed(B$)
11310IF(n_%AND3)<>0ANDo_%<>0THENBPUT#o_%,B$
11320ENDIF
11330ENDIF
11340UNTILA$=""
11350ENDPROC
11370DEFFN_d(A$)
11380LOCALJ%,t%,d%,oe%
11390PROCY_(FNQ_("DevClaim")," ","")
11400t%=VALFNwb(A$):IFt%<0THENt%=pe%
11410d%=VALFNwb(A$):IFd%<2THENd%=qe%
11420oe%=1
11430REPEAT
11440PROCod
11450IFl_%<>0THEN
11460J%=FNd(17,ua%,0,0)
11470J%=FNd(13,ua%,sd%,0):IFJ%<>sd%THENsd%=J%
11480J%=FNd(14,ua%,sd%,0):IFJ%<>sd%THENsd%=J%
11490J%=FNd(15,ua%,0,0)
11500J%=FNd(16,ua%,1,0)
11510J%=FNd(6,ua%,0,0)
11520J%=FNd(7,ua%,0,0)
11530ELSE
11540PROCh_(d%):IFt%>0THENoe%+=1
11550ENDIF
11560UNTILl_%<>0ORoe%>t%ORi_%<>0
11570=l_%
11590DEFPROCCc
11600LOCALJ%
11610IFl_%THEN
11620PROCY_(FNQ_("DevRel"),FNQ_("DevDrop"),"")
11630J%=FNd(8,ua%,0,0)
11640J%=FNd(18,ua%,0,0)
11650l_%=FALSE
11660ENDIF
11670ENDPROC
11690DEFFNCe(A$)
11700LOCALB$,h%:h%=0
11710IFFNre<>0THEN
11720PROCY_(FNQ_("DevInit"),"","")
11730IFA$=""THENA$=FNse("$init")
11740REPEAT
11750B$=FNwb(A$)
11760PROCY_("",FNab("Sending",B$),"")
11770PROCFe(B$):h%=FNte("OK","","","",5)
11780UNTILA$=""ORh%=0
11790ENDIF
11800=h%
11820DEFPROCDe
11830LOCALJ%
11840J%=FNd(13,ua%,sd%,0):IFJ%<>sd%THENsd%=J%
11850J%=FNd(14,ua%,sd%,0):IFJ%<>sd%THENsd%=J%
11860J%=FNd(15,ua%,0,0)
11870J%=FNd(16,ua%,1,0)
11880J%=FNd(8,ua%,3,0)
11890ENDPROC
11910DEFPROCTe(A$)
11920LOCALB$
11930B$=FNwb(A$)
11940IFVALB$>0THENpe%=VALB$
11950IFVALA$>2THENqe%=VALA$
11960ENDPROC
11980DEFPROCja(A$)
11990PROC_a(Sa%,11,A$)
12000PROCfc(Sa%,11,(A$=""))
12010ENDPROC
12030DEFFNEe(ue$)
12040LOCALve%,r%,d%,we%,xe%,ye%,ze$,B$,C$
12050ve%=0:ze$="ATDT"
12060r%=pe%:d%=qe%:we%=d%:xe%=d%:ye%=d%
12070PROCja(FNQ_("Redial"))
12080REPEAT
12090B$=FNwb(ue$)
12100IFLEFT$(B$,1)="/"THEN
12110C$=FNxb(B$):CASELEFT$(B$,3)OF
12120WHEN"ret":r%=VALC$:IFr%<1THENr%=1
12130WHEN"del":d%=VALC$:IFd%<2THENd%=2
12140we%=d%:xe%=d%:ye%=d%
12150WHEN"noc":xe%=VALC$
12160WHEN"nod":we%=VALC$
12170WHEN"not","pul":ze$="ATDP"
12180WHEN"ton","nop":ze$="ATDT"
12190WHEN"bus":ye%=VALC$
12200ENDCASE
12210ELSE
12220_e%=1:ve%=0:Ba$=B$
12230REPEAT
12240PROCY_(FNab("Dialling",Ba$),FNvb("Dattempt",STR$_e%,STR$r%),"")
12250PROCFe(ze$+Ba$):_e%+=1
12260U_%=FNte(FNse("$conn"),FNse("$busy"),FNse("$nocarr"),FNse("$nodial"),120)
12270IFi_%=0THEN
12280IFe_%=TRUETHEN
12290A%=FNre:WHILEFNd(5,ua%,0,0)>0:J%=FNhd:ENDWHILE:e_%=FALSE
12300ELSE
12310CASEU_%OF
12320WHEN1:PROCY_("",FNQ_("Dconnect"),""):ve%=1
12330WHEN2:PROCY_("",FNQ_("Dbusy"),""):PROCh_(ye%)
12340WHEN3:PROCY_("",FNQ_("Dnc"),""):PROCh_(xe%)
12350WHEN4:PROCY_("",FNQ_("Dnd"),""):PROCh_(we%)
12360WHEN2,3,4:WHILEFNd(5,ua%,0,0)>0:J%=FNhd:ENDWHILE
12370OTHERWISEPROCY_("",FNQ_("Dnr"),""):PROCh_(d%)
12380ENDCASE
12390ENDIF
12400ELSE
12410A%=FNre
12420ENDIF
12430UNTIL_e%>r%ORi_%<>0ORve%>0ORl_%=0
12440IFve%=0ANDue$>""THENPROCY_(FNQ_("Dnext"),"",""):PROCh_(1)
12450ENDIF
12460UNTILue$=""ORi_%<>0ORve%>0ORl_%=0
12470PROCja("")
12480=ve%
12500DEFFNsc(A$)
12510LOCALl%,m%,d%,s%,U_%,B$,C$,`e%
12520d%=600:H`%=-1:U_%=0
12530REPEATB$=FNwb(A$):`e%=FALSE
12540IFLEFT$(B$,1)="/"THEN
12550C$=FNxb(B$):`e%=TRUE
12560CASELEFT$(B$,2)OF
12570WHEN"ev":U_%=FNAf
12580WHEN"de","del":d%=VALC$
12590WHEN"na","id":FORl%=0TOW`%:IFC$=Y`$(l%)THENH`%=l%:l%=W`%
12600NEXT:IFH`%<0THENPROCrb(FNQ_("Ebadtask")):=0
12610OTHERWISE:PROCrb(FNQ_("Ebadwait")):=0
12620ENDCASE
12630ENDIF
12640UNTIL`e%=FALSE
12650IFU_%=0THEN
12660IFd%=0THENPROCrb(FNab("Ebaddel",A$)):=0
12670G`$()="":l%=0:C$="":REPEAT
12680G`$(l%)=B$:C$+=B$+"/":l%+=1:B$=FNwb(A$)
12690UNTILB$=""ORl%=4:C$=LEFT$(C$,LENC$-1)
12700PROCY_(FNab("Wait",C$),FNab("Timeout",STR$d%),"")
12710IFH`%<0THEN
12720U_%=FNte(G`$(0),G`$(1),G`$(2),G`$(3),d%)
12730ELSE
12740U_%=FNBf(G`$(0),G`$(1),G`$(2),G`$(3),d%)
12750ENDIF
12760IFU_%>0THENPROCY_("",FNab("Received",G`$(U_%-1)),"")ELSEPROCY_("",FNQ_("TimedOut"),"")
12770ENDIF
12780=U_%
12800DEFFNAf
12810PROC_a(Sa%,7,FNQ_("Select"))
12820PROCY_(FNQ_("Waiting")," ","")
12830REPEATPROCAb(50):UNTILFNR_
12840=1
12860DEFPROCke(A$)
12870LOCALa%,B$:a%=TRUE
12880REPEATB$=FNwb(A$)
12890CASELEFT$(B$,2)OF
12900WHEN"/e":a%=TRUE
12910WHEN"/d":a%=FALSE
12920WHEN"ti":k`%(1)=a%
12930WHEN"li":k`%(2)=a%
12940WHEN"ta":k`%(3)=a%
12950WHEN"tw":k`%(4)=a%
12960WHEN"in":k`%(5)=a%
12970WHEN"ic":k`%(6)=a%
12980WHEN"fi":k`%(7)=a%
12990WHEN"me":k`%(8)=a%
13000WHEN"eo":k`%(9)=a%
13010WHEN"al":k`%()=a%
13020ENDCASE
13030UNTILA$="":k`%(0)=TRUE
13040ENDPROC
13060DEFFNBf(H`$(0),H`$(1),H`$(2),H`$(3),sc%)
13070LOCALtc%,r%
13080r%=0:Cf%=0:sc%=sc%*100:tc%=fa%
13090PROCH`(c`$(H`%))
13100REPEATPROCAb(50):UNTILCf%>0ORABS(fa%-tc%)>sc%ORi_%<>0
13110IFCf%>0THENr%=Cf%
13120=r%
13140DEFPROCH`(A$)
13150LOCALL%
13160FORL%=0TO3
13170IFH`$(L%)>""ANDINSTR(A$,H`$(L%))>0THENCf%=L%+1:L%=3
13180NEXT
13190H`%=-1
13200ENDPROC
13220DEFFNte(Df$,Ef$,Ff$,G`$,sc%)
13230LOCALve%,tc%,J%
13240sc%=sc%*100:tc%=fa%
13250Gf%=ASCDf$:Hf%=ASCEf$:If%=ASCFf$:Jf%=ASCG`$
13260Kf%=1:Lf%=1:Mf%=1:Nf%=1:ve%=0
13270REPEAT
13280J%=FNhd
13290IFJ%>-1THEN
13300IFJ%=Gf%THENKf%+=1:Gf%=ASC(MID$(Df$,Kf%))ELSEGf%=ASCDf$:Kf%=1
13310IFJ%=Hf%THENLf%+=1:Hf%=ASC(MID$(Ef$,Lf%))ELSEHf%=ASCEf$:Lf%=1
13320IFJ%=If%THENMf%+=1:If%=ASC(MID$(Ff$,Mf%))ELSEIf%=ASCFf$:Mf%=1
13330IFJ%=Jf%THENNf%+=1:Jf%=ASC(MID$(G`$,Nf%))ELSEJf%=ASCG`$:Nf%=1
13340ELSE
13350PROCAb(10)
13360ENDIF
13370IFKf%>LENDf$ANDDf$>"":ve%=1
13380IFLf%>LENEf$ANDEf$>"":ve%=2
13390IFMf%>LENFf$ANDFf$>"":ve%=3
13400IFNf%>LENG`$ANDG`$>"":ve%=4
13410UNTILve%>0ORABS(fa%-tc%)>sc%ORi_%<>0ORe_%<>0
13420IFve%>0THEN:=ve%
13430=0
13450DEFPROCFe(A$)
13460LOCALA%,J%,R%,t$,Sb%,B$,C$:t$="":R%=0
13470REPEATB$=FNwb(A$)
13480IFLEFT$(B$,1)="/"THEN
13490C$=FNxb(B$):CASELEFT$(B$,2)OF
13500WHEN"ra":R%=TRUE
13510WHEN"no":R%=FALSE
13520WHEN"na","id":t$=C$
13530ENDCASE
13540ELSE
13550IFt$=""THEN
13560IFl_%=0THENPROCrb(FNQ_("Enodev")):ENDPROC
13570FORA%=1TOLENB$:J%=FNd(0,ua%,ASCMID$(B$,A%,1),0):NEXT
13580IFR%=0THENJ%=FNd(0,ua%,13,0)
13590ELSE
13600Sb%=0:WHILEY`$(Sb%)<>t$ANDSb%<W`%:Sb%+=1:ENDWHILE
13610IFSb%<W`%ANDa`%(Sb%)<>0THEN
13620!q%=256:q%!12=0:q%!16=&808C0:q%!20=LENB$-(R%=0):$(q%+24)=B$
13630SYS262375,17,q%,a`%(Sb%)
13640PROCZb(FNvb("TaskSend",LEFT$(B$,100),Y`$(Sb%)))
13650ENDIF
13660ENDIF
13670ENDIF
13680UNTILA$=""
13690ENDPROC
13710DEFFNGe(A$)
13720LOCALr%,Of$,d%,a%,Pf%,Qf%,B$,C$,J%
13730r%=0:d%=60:a%=0
13740REPEATB$=FNwb(A$)
13750IFLEFT$(B$,1)="/"THEN
13760C$=FNxb(B$):CASELEFT$(B$,2)OF
13770WHEN"de":d%=VALC$:IFd%<10THENd%=10
13780WHEN"au":a%=TRUE
13790ENDCASE
13800ELSE
13810Of$=B$
13820ENDIF
13830UNTILA$=""
13840IFa%=0THEN
13850r%=FNte(Of$,"","","",d%)
13860ELSE
13870Of$="":Pf%=0:r%=0:Qf%=fa%+d%*100
13880REPEAT
13890J%=FNhd
13900IFJ%>0THEN
13910CASEPf%OF
13920WHEN0,1,2:IFJ%>47ANDJ%<57THENOf$+=CHR$J%:Pf%+=1:ELSEOf$="":Pf%=0
13930WHEN3:IFJ%=46THENOf$+=".":Pf%+=1:ELSEOf$="":Pf%=0
13940ENDCASE
13950ELSE
13960PROCAb(da%)
13970ENDIF
13980UNTILPf%=4ORfa%>Qf%:IFPf%=4THENr%=1
13990ENDIF
14000IFr%=1THEN
14010Rf$=Of$
14020J%=FNhd
14040WHILE(J%>32ORJ%=0)ANDLENRf$<20
14050IFJ%>31THENRf$=Rf$+CHR$J%:PROCAb(da%):ELSEPROCAb(10)
14060J%=FNhd
14070ENDWHILE
14080C%=ASC(RIGHT$(Rf$,1))
14090WHILE(C%<48ORC%>57)ANDLENRf$>5
14100Rf$=LEFT$(Rf$,LEN(Rf$)-1)
14110C%=ASC(RIGHT$(Rf$,1))
14120ENDWHILE
14130PROCZa("ipaddress",Rf$)
14140PROCZa("route",FNSf("%ip1.%ip2.%ip3.254"))
14150U_$=Rf$:r%=-1:A$=""
14160ENDIF
14170=r%
14190DEFPROCTf(A$)
14200LOCALl%,m%
14210l%=INSTR(A$,"."):PROCZa("ip1",LEFT$(A$,l%-1))
14220m%=INSTR(A$,".",l%+1):PROCZa("ip2",MID$(A$,l%+1,m%-l%-1))
14230l%=INSTR(A$,".",m%+1):PROCZa("ip3",MID$(A$,m%+1,l%-m%-1))
14240PROCZa("ip4",MID$(A$,l%+1))
14250PROCY_("","",A$)
14260ENDPROC
14280DEFPROCHe(ta$)
14290A%=INSTR(ta$," ")
14300IFA%<=1THENPROCle(FNab("Ebadmake",ta$))
14310`d$=LEFT$(ta$,A%-1):Uf$=MID$(ta$,A%+1)
14320PROCY_(FNab("Make",Uf$),"","")
14330IF`d$="-"THEN`d$="null:"
14340p_%=FNLa(`d$)
14350IFp_%=0THENPROCrb(FNab("Enotfound",`d$)):ENDPROC
14360q_%=FNVf(Uf$)
14370IFq_%=0THENPROCrb(FNab("Ebadfile",Uf$)):ENDPROC
14380WHILE(EOF#p_%=FALSEORLEFT$(FNT_(O_%+1),1)="+")
14390IFEOF#p_%THEN
14400O_%+=1:A$=MID$(FNT_(O_%),2)
14410ELSE
14420A$=GET$#p_%
14430ENDIF
14440A$=FNSf(A$)
14450IFLEFT$(A$,1)<>"#"THENBPUT#q_%,A$
14460PROCAb(da%)
14470ENDWHILE
14480PROCMa(p_%):PROCMa(q_%)
14490ENDPROC
14510DEFFNLa(f$)
14520=FNWf(f$,&4F)
14540DEFFNVf(f$)
14550=FNWf(f$,&8F):PROCXf(f$,&FFF)
14570DEFFN`a(f$)
14580LOCALh%
14590h%=FNWf(f$,&CF)
14600IFh%=0THENh%=FNWf(f$,&8F):PROCXf(f$,&FFF)
14610=h%
14630DEFFNWf(f$,r%)
14640LOCALh%,F%
14650SYS131085,r%,f$TOh%;F%
14660IF(F%AND1)THENh%=0
14670=h%
14690DEFFNVb(f$)
14700LOCALF%:SYS131080,6,f$TO;F%
14710=(F%AND1)
14730DEFPROCXf(f$,t%)
14740SYS131080,18,f$,t%
14750ENDPROC
14770DEFPROCh_(sc%)
14780LOCALYf%
14790IFsc%=0THEN
14800PROCZ_
14810ELSE
14820PROCZb(FNab("Wait",STR$sc%+"s"))
14830PROCAb(0):tc%=fa%:sc%=sc%*100
14840REPEAT
14850PROCAb(50)
14860UNTILABS(tc%-fa%)>sc%
14870ENDIF
14880ENDPROC
14900DEFPROCLb
14910LOCALl%,m%
14920?q%=3:SYS7,14,q%
14930SYS193,q%,a_%,256,"%24%MI%SE"TOl%,m%:Zf$=FNUb(l%)
14940PROCZa("$time",Zf$):PROCZa("$mtime",STR$(fa%DIV100))
14950ENDPROC
14970DEFPROCNb
14980LOCALl%,m%
14990?q%=3:SYS7,14,q%
15000SYS193,q%,a_%,256,"%YR%MN%DY"TOl%,m%:Zf$=FNUb(l%)
15010PROCZa("$date",Zf$)
15020ENDPROC
15040DEFPROCK`(A$)
15050LOCALaf%,a$,bf%,cf%,df%,B$,C$
15060bf%=-1:af%=-1:df%=-1:a$=A$
15070REPEATB$=FNwb(A$)
15080IFLEFT$(B$,1)="/"THEN
15090C$=FNxb(B$)
15100CASELEFT$(B$,2)OF
15110WHEN"st":i_$=C$
15120WHEN"er":tb$=C$
15130WHEN"dt","cts":y_%(0)=FNcc(VALC$):af%=0
15140WHEN"ds":y_%(1)=FNcc(VALC$):af%=1
15150WHEN"rn":y_%(2)=FNcc(VALC$):af%=2
15160WHEN"dc":y_%(3)=FNcc(VALC$):af%=3
15170WHEN"ti":cf%=FNef(C$)
15180WHEN"ic":df%=FNff(C$)
15190WHEN"na","id":bf%=FNgf(C$):M`$(bf%)=C$
15200WHEN"ca","de":PROChf(C$)
15210ENDCASE
15220ENDIF
15230UNTILA$=""
15240IFcf%>0THEN
15250IFbf%<0THENbf%=FNgf("~")
15260K`$(bf%,0)=B$:K`$(bf%,1)=a$:L`%(bf%)=cf%
15270ELSE
15280IFaf%>=0THENy_$(af%)=B$
15290IFdf%>=0THENO`$(df%)=B$
15300ENDIF
15310ENDPROC
15330DEFFNgf(A$)
15340LOCALa%:a%=0
15350REPEATa%+=1:UNTILK`$(a%,0)=""ORM`$(a%)=A$ORa%=J`%
15360IFa%=J`%THENPROCrb(FNQ_("Ealarm")):=0
15370=a%
15390DEFFNcc(A%):=-(A%<>0)
15410DEFPROChf(C$)
15420LOCALa%:a%=0
15430REPEATa%+=1:UNTILM`$(a%)=C$ORa%=J`%
15440IFM`$(a%)=C$THENK`$(a%,0)="":PROCZb(FNab("Acancel",C$))
15450ENDPROC
15470DEFFNef(C$)
15480LOCALl%,m%,if%,jf%,kf%,lf%,r%,Zf%,mf%,nf%,of%,sc%,pf%
15490IFLEFT$(C$,1)="+"THENlf%=TRUE:C$=MID$(C$,2)ELSElf%=FALSE
15500l%=INSTR(C$,":"):IFl%>0THEN
15510m%=INSTR(C$,":",l%+1):IFm%>0THEN
15520if%=VALLEFT$(C$,l%-1)
15530jf%=VALMID$(C$,l%+1,m%-1)
15540kf%=VALMID$(C$,m%+1,m%+3)
15550ELSE
15560IFlf%THEN
15570if%=0:jf%=VALLEFT$(C$,l%-1):kf%=VALMID$(C$,l%+1,l%+3)
15580ELSE
15590kf%=0:if%=VALLEFT$(C$,l%-1):jf%=VALMID$(C$,l%+1,l%+3)
15600ENDIF
15610ENDIF
15620ELSE
15630IFlf%THENif%=0:jf%=0:kf%=VALLEFT$(C$,2)ELSEkf%=0:jf%=0:if%=VALLEFT$(C$,2)
15640ENDIF
15650SYS66TOZf%
15660IFlf%THEN
15670r%=Zf%+100*kf%+6000*jf%+360000*if%
15680ELSE
15690?q%=3:SYS7,14,q%
15700SYS193,q%,a_%,256,"%24%MI%SE"TOl%,m%:Zf$=FNUb(l%)
15710mf%=VALLEFT$(Zf$,2):nf%=VALMID$(Zf$,3,2):of%=VALRIGHT$(Zf$,2)
15720pf%=of%+nf%*60+mf%*3600
15730sc%=(kf%+jf%*60+if%*3600)-pf%:WHILEsc%<0:sc%+=24*3600:ENDWHILE
15740r%=Zf%+sc%*100
15750ENDIF
15760=r%
15780DEFPROCMb
15790LOCALc%:c%=0
15800REPEATc%+=1
15810IFK`$(c%,0)>""ANDfa%>L`%(c%)THEN
15820td$=K`$(c%,0):K`$(c%,0)=""
15830IFINSTR(K`$(c%,1),"/repeat")>0THENPROCK`(K`$(c%,1))
15840PROCRb(td$,1)
15850ENDIF
15860UNTILc%=J`%
15870ga%=fa%
15880ENDPROC
15900DEFPROCKb
15910LOCALqf%,J%
15920IFl_%THEN
15930J%=FNd(9,ua%,0,0)
15940IFJ%<>m_%THEN
15950m_%=J%:IF(J%AND1)THENt$="�"ELSEt$=" "
15960IF(J%AND2)THENt$+="�"ELSEt$+=" "
15970IF(J%AND8)THENt$+="�"ELSEt$+=" "
15980PROC_a(Sa%,10,t$)
15990ENDIF
16000FORqf%=0TO3
16010IFy_$(qf%)>""AND(J%AND(1<<qf%))=y_%(qf%)THENPROCRb(y_$(qf%),2):y_$(qf%)=""
16020NEXTqf%
16030ELSE
16040IFm_%>0THENm_%=0:PROC_a(Sa%,15,"")
16050ENDIF
16060ENDPROC
16080DEFPROCge(A$)
16090LOCALB$,C$
16100B$=FNwb(A$):C$=FNxb(B$)
16110CASELEFT$(B$,2)OF
16120WHEN"al":PROCRc
16130WHEN"me":PROCSc
16140WHEN"ta":PROCTc
16150WHEN"va":PROCUc
16160WHEN"sc":PROCVc(A$)
16170WHEN"fi":PROCrf
16180WHEN"ju":PROCsf
16190ENDCASE
16200ENDPROC
16220DEFPROCRc
16230LOCALc%,A%,A$
16240PROCP_(FNQ_("Condition")+" "+FNQ_("Action"))
16250FORc%=0TOJ`%
16260IFK`$(c%,0)>""THEN
16270A%=(L`%(c%)-fa%)DIV100
16280A$="t+"+RIGHT$("00"+STR$(A%DIV3600),2)+":"
16290A$+=RIGHT$("00"+STR$((A%MOD3600)DIV60),2)+":"
16300A$+=RIGHT$("00"+STR$(A%MOD60),2)
16310PROCtf(A$,K`$(c%,1)+" ("+M`$(c%)+")")
16320ENDIF
16330NEXT
16340FORc%=0TON`%
16350IFP`$(c%)>""THENPROCtf(FNQ_("Iclick"),P`$(c%)+" ("+R`$(c%)+")")
16360IFO`$(c%)>""THENPROCtf(FNQ_("Ifile"),O`$(c%)+" ("+R`$(c%)+")")
16370NEXT
16380PROCtf("stop",i_$)
16390IFy_$(0)>""THENPROCtf("DTR"+" ("+STR$y_%(0)+")",y_$(0))
16400IFy_$(1)>""THENPROCtf("DSR"+" ("+STR$y_%(1)+")",y_$(1))
16410IFy_$(2)>""THENPROCtf("RNG"+" ("+STR$y_%(2)+")",y_$(2))
16420IFy_$(3)>""THENPROCtf("DCD"+" ("+STR$y_%(3)+")",y_$(3))
16430ENDPROC
16450DEFPROCtf(A$,B$)
16460IFB$>""THENPROCP_(" "+A$+STRING$(13-LENA$," ")+B$)
16470ENDPROC
16490DEFFNhe(A$)
16500LOCALr%,uf$,vf$,s$,B$,C$
16510uf$="":vf$="":s$=""
16520REPEAT
16530B$=FNwb(A$)
16540IFLEFT$(B$,1)="/"THEN
16550C$=FNxb(B$)
16560CASELEFT$(B$,2)OF
16570WHEN"fi":r%=FNDa(C$)
16580WHEN"id","name":uf$=C$
16590WHEN"ac":vf$=C$
16600WHEN"ca","de":r%=FNwf(C$)
16610WHEN"fr":r%=FNqa
16620ENDCASE
16630ELSE
16640s$=B$
16650ENDIF
16660UNTILA$=""
16670IFuf$>""ANDs$>""THENr%=FNxf(s$,uf$,vf$)
16680=r%
16700DEFFNff(A$)
16710LOCALa%:a%=0
16720REPEATa%+=1:UNTILR`$(a%)=A$ORa%=N`%
16730IFa%=N`%ORA$=""THENPROCZb(FNQ_("Eicon1")):=-1
16740=a%
16760DEFFNyf(A$)
16770LOCALa%:a%=0
16780REPEATa%+=1:UNTILR`$(a%)=A$ORP`%(a%)=0ORa%=N`%
16790IFa%=N`%ORA$=""THENPROCZb(FNQ_("Eicon1")):=-1
16800=a%
16820DEFFNxf(A$,uf$,vf$)
16830LOCALa%,Z%
16840a%=FNyf(uf$)
16850IFa%<0THEN=0
16860IFA$>""THEN
16870IFR`$(a%)=uf$THENZ%=FNwf(uf$)
16880PROCZb("Adding icon "+A$)
16890P`%(a%)=FNca(A$,a%):R`$(a%)=uf$
16900ENDIF
16910P`$(a%)=vf$
16920=FNcc(P`%(a%))
16940DEFFNwf(A$)
16950LOCALa%
16960a%=FNff(A$)
16970IFa%<0THENPROCZb(FNQ_("Eicon1")):=0
16980IFP`%(a%)<1THENPROCZb(FNQ_("Eicon2")):=0
16990!Oa%=-2:Oa%!4=P`%(a%):SYS393412,,Oa%TO;F%
17000P`%(a%)=0:R`$(a%)=""
17010=FNcc(F%)
17030DEFPROCO`(Z%,f$,zf%)
17040PROCZa("$type",STR$~zf%):PROCZa("$file",+f$)
17050PROCRb(O`$(Z%),7)
17060ENDPROC
17080DEFPROCJe(A$)
17090LOCALl%,m%,B$,C$
17100B$=FNwb(A$):C$=FNwb(A$)
17110PROCZa(B$,C$)
17120ENDPROC
17140DEFPROCZa(B$,C$)
17150LOCALl%,p%:p%=-1:FORl%=0TOE`%
17160IFF`$(l%,0)=B$ORF`$(l%,0)=""THENF`$(l%,0)=B$:F`$(l%,1)=C$:p%=l%:l%=E`%+1
17170NEXT
17180IFB$="ipaddress"THENPROCTf(C$)
17190IFp%=-1THENPROCrb(FNQ_("Evar"))
17200ENDPROC
17220DEFPROCKe(A$)
17230LOCALl%,B$
17240B$=FNwb(A$)
17250FORl%=0TOE`%
17260IFF`$(l%,0)=B$THENF`$(l%,0)="":F`$(l%,1)=""
17270NEXT
17280IFB$="ipaddress"THENPROCY_("",""," ")
17290ENDPROC
17310DEFFNse(A$)
17320LOCALl%,t$,B$:t$=""
17330B$=FNwb(A$)
17340FORl%=0TOE`%
17350IFF`$(l%,0)=B$THENt$=F`$(l%,1):l%=E`%
17360NEXT
17370=t$
17390DEFPROCUc
17400LOCALc%
17410PROCP_(FNQ_("Variable")+" "+FNQ_("Value"))
17420FORc%=0TOE`%
17430IFF`$(c%,0)>""THENPROCtf(F`$(c%,0),F`$(c%,1))
17440NEXT
17450ENDPROC
17470DEFFNre
17480LOCALJ%
17490IFl_%=0THEN=0
17500PROCY_("",FNQ_("DevDrop"),"")
17510J%=FNd(8,ua%,0,0)
17520PROCAb(100)
17530J%=FNd(8,ua%,3,0)
17540=1
17560DEFPROCOe(A$,RETURNO_%)
17570LOCALl%,ve%,Uf$
17580l%=0:ve%=-1:Uf$=FNwb(A$)
17590REPEAT
17600IFC`$(l%)=Uf$THENve%=C`%(l%):l%=D`%
17610l%+=1:UNTILl%>=D`%
17620IFve%<0THENPROCrb(FNab("Elabel",Uf$)):ENDPROC
17630O_%=ve%
17640ENDPROC
17660DEFPROCPe(A$,RETURNO_%)
17670LOCALB$,p%,_f%,`f%
17680IFsb%=s_%THENPROCrb(FNQ_("Elevel")):ENDPROC
17690Uf$=FNwb(A$)
17700`f%=FALSE:IFUf$="/lock"THEN`f%=TRUE:Uf$=FNwb(A$)
17710p%=0:IFA$>""THEN
17720REPEATp%+=1:B$=FNwb(A$):PROCZa("p"+STR$p%,B$):UNTILA$=""
17730ENDIF
17740_f%=O_%:PROCOe(Uf$,O_%)
17750IF`f%THEN
17760FORp%=0TOsb%:IFu_%(p%)=O_%THENO_%=_f%:PROCP_(FNab("Elock",Uf$))
17770NEXT
17780ENDIF
17790IFO_%<>_f%THEN
17800sb%+=1:t_%(sb%)=_f%
17810IF`f%THENu_%(sb%)=O_%
17820ENDIF
17830ENDPROC
17850DEFFNU_(A$,RETURNO_%)
17860IFsb%=0THENPROCrb(FNQ_("Ereturn")):=0
17870O_%=t_%(sb%):sb%-=1
17880U_$=A$
17890=-1
17910DEFFNAg(A$)
17920LOCALr%
17930SYS131080,17,A$TOr%
17940=r%
17960DEFFNL_(A$)
17970LOCALr%,n%,l%,B$,C$
17980r%=0:B$=FNwb(A$):C$=FNwb(A$)
17990CASELEFT$(B$,3)OF
18000WHEN"/si":SYS131080,23,C$TOn%,,,,r%
18010WHEN"/at":SYS131080,23,C$TOn%,,,,,r%
18020WHEN"/ty":SYS131080,23,C$TOn%,,,,,,r%:U_$=STR$~r%:r%=-1
18030WHEN"/ex":U_$=FNnd(C$):IFU_$>""THENr%=-1:n%=1
18040WHEN"/le":U_$=FNnd(C$):n%=LENU_$
18050WHILEn%>0ANDMID$(U_$,n%,1)<>".":n%-=1:ENDWHILE
18060IFn%>1THENU_$=MID$(U_$,n%+1):r%=-1
18070WHEN"/pa":U_$=FNnd(C$):n%=LENU_$
18080WHILEn%>0ANDMID$(U_$,n%,1)<>".":n%-=1:ENDWHILE
18090IFn%>1THENU_$=LEFT$(U_$,n%-1):r%=-1
18100OTHERWISE:SYS131080,23,B$TOr%:n%=r%
18110ENDCASE
18120IFn%=0THENr%=0
18130=r%
18150DEFFNnd(A$)
18160LOCALr$:r$=""
18170SYS131113,37,A$,a_%,,,256TO,,,,,r%;F%
18180IFr%>0AND(F%AND1)=0THENr$=FNUb(a_%)
18190=r$
18210DEFFNRe(A$)
18220LOCALU_%,J%,B$:U_%=0
18230J%=FNd(9,ua%,0,0)
18240REPEATB$=FNwb(A$)
18250CASEB$OF
18260WHEN"/cts","/dtr":U_%+=(J%AND1)
18270WHEN"/dsr":U_%+=(J%AND2)
18280WHEN"/rng":U_%+=(J%AND4)
18290WHEN"/dcd":U_%+=(J%AND8)
18300OTHERWISE:PROCrb(FNQ_("Eparam")):=0
18310ENDCASE
18320UNTILA$=""
18330=U_%
18350DEFFNSe(A$)
18360LOCALn%,f%,r%,B$,C$
18370SYS262380,-1,-1TO,n%,f%
18380REPEATB$=FNwb(A$)
18390IFLEFT$(B$,1)="/"THEN
18400C$=FNxb(B$)
18410CASELEFT$(B$,2)OF
18420WHEN"me":r%=n%+f%
18430WHEN"ne":r%=n%
18440WHEN"fr":r%=f%
18450WHEN"in":r%=HIMEM-END
18460WHEN"de":SYS131113,49,C$TOr%;F%:IFFNcc(F%)=0THENr%=0
18470ENDCASE
18480ELSE
18490IFB$>""THENPROCZa(B$,STR$r%)
18500ENDIF
18510UNTILA$=""
18520=r%
18540DEFFNwd(A$,Bg$)
18550LOCALCg$,wd$,Dg%,U_%,l%,m%,n%
18560l%=INSTR(A$,"("):m%=INSTR(A$,")",l%):n%=INSTR(A$," ",m%)
18570IFl%*m%*n%=0THENPROCZb(FNQ_("Eif")):=0
18580Dg%=FALSE:Cg$=MID$(A$,l%+1,m%-l%-1):wd$=MID$(A$,n%+1)
18590IFLEFT$(Cg$,1)="!"THENDg%=TRUE:Cg$=MID$(Cg$,2)
18600U_%=FNV_(Cg$):IFDg%THENU_%=-(U_%=0)
18610IFU_%<>0ANDi_%=0THENU_%=FNV_(wd$)ELSEtd$=""
18620=U_%
18640DEFFNw_(A$)
18650Eg%+=1:IFEg%>v_%THENPROCrb(FNQ_("Ecase")):=0
18660w_$(Eg%)=FNwb(A$):x_%?Eg%=0:=1
18680DEFFNxd(A$,Bg$)
18690LOCALm%,B$:m%=FALSE
18700IFEg%=0THENPROCrb(FNQ_("Ewhen")):=0
18710REPEATB$=FNwb(A$)
18720IFB$=w_$(Eg%)THENm%=TRUE:x_%?Eg%=1
18730UNTILA$=""
18740IFm%=FALSETHENtd$=""
18750=0
18770DEFPROCyd(Bg$)
18780IFEg%=0THENPROCrb(FNQ_("Ewhen")):ENDPROC
18790IFx_%?Eg%=1THENtd$=""
18800ENDPROC
18820DEFFNzd
18830IFEg%=0THENPROCrb(FNQ_("Ewhen")):=0
18840Eg%-=1:=1
18860DEFFNLe(c$,A$)
18870LOCALr%,n%,l%,c%,b$,B$,C$:r%=0
18880B$=FNwb(A$):C$=FNwb(A$)
18890b$=B$+C$:n%=TRUE:FORl%=1TOLENb$:c%=ASCMID$(b$,l%,1)
18900IFc%<46ORc%>57ORc%=47THENn%=FALSE:l%=LENb$
18910NEXT
18920LOCALERROR
18930ONERRORLOCAL:PROCZb(FNab("Ecomp",c$)):ENDPROC
18940CASEc$OF
18950WHEN"?eq":IFn%THENr%=(VALB$=VALC$)ELSEr%=(B$=C$)
18960WHEN"?ne":IFn%THENr%=(VALB$<>VALC$)ELSEr%=(B$<>C$)
18970WHEN"?lt":IFn%THENr%=(VALB$<VALC$)ELSEr%=(B$<C$)
18980WHEN"?gt":IFn%THENr%=(VALB$>VALC$)ELSEr%=(B$>C$)
18990WHEN"?le":IFn%THENr%=(VALB$<=VALC$)ELSEr%=(B$<=C$)
19000WHEN"?ge":IFn%THENr%=(VALB$>=VALC$)ELSEr%=(B$>=C$)
19010ENDCASE
19020=-(r%<>0)
19040DEFFNNe(A$)
19050LOCALB$
19060U_$=""
19070B$=FNwb(A$)
19080LOCALERROR
19090ONERRORLOCAL:PROCZb(FNab("Eeval",B$)):=0
19100U_$=STR$(EVALB$)
19110=-1
19130DEFFNMe(A$)
19140LOCALa%,s%,l%,s$,b$,B$,C$:a%=0:s%=0:l%=0
19150REPEATB$=FNwb(A$)
19160IFLEFT$(B$,1)="/"THEN
19170C$=FNxb(B$):CASELEFT$(B$,3)OF
19180WHEN"siz":a%=1
19190WHEN"low":a%=2
19200WHEN"lef":a%=3:s%=VALC$
19210WHEN"rig":a%=4:s%=VALC$
19220WHEN"sta":a%=5:s%=VALC$
19230WHEN"len":l%=VALC$
19240WHEN"ins":a%=6:b$=C$
19250WHEN"upp":a%=7
19260ENDCASE
19270ELSE
19280s$=B$
19290ENDIF
19300UNTILA$=""
19310CASEa%OF
19320WHEN1:U_$=STR$LENs$
19330WHEN2:U_$=FNrc(s$)
19340WHEN3:U_$=LEFT$(s$,s%)
19350WHEN4:U_$=RIGHT$(s$,s%)
19360WHEN5:IFl%<1THENU_$=MID$(s$,s%)ELSEU_$=MID$(s$,s%,l%)
19370WHEN6:U_$=STR$(INSTR(s$,b$))
19380WHEN7:U_$=FNFg(s$)
19390OTHERWISE:U_$=s$
19400ENDCASE
19410=-1
19430DEFFNYe(A$)
19440LOCALl%,B$
19450PROCY_(FNQ_("Fmove1")," ","")
19460B$=FNwb(A$)
19470IFA$=""THENPROCY_("",FNQ_("Fbad"),""):=0
19480l%=INSTR(A$,"*")
19490IFl%>0THEN
19500REPEATA$=LEFT$(A$,l%-1)+RIGHT$(STR$(TIME),4)+MID$(A$,l%+1)
19510PROCAb(da%)
19520UNTILFNAg(A$)<>1
19530ENDIF
19540PROCY_("",FNvb("Fto",B$,A$),"")
19550SYS131113,25,B$,A$TO;F%
19560IF(F%AND1)THEN
19570SYS131113,26,B$,A$,%10000010TO;F%
19580ENDIF
19590PROCZa("$dest",A$)
19600=-((F%AND1)=0)
19620DEFFNZe(A$)
19630LOCALl%,vf%,s$,d$,n%,B$,C$
19640vf%=0:s$="":d$=""
19650PROCY_(FNQ_("Fcopy")," ","")
19660REPEATB$=FNwb(A$)
19670IFLEFT$(B$,1)="/"THEN
19680C$=FNxb(B$):CASELEFT$(B$,2)OF
19690WHEN"ta":vf%=1:n%=VALC$:IFn%=0THENn%=50
19700WHEN"he":vf%=2:n%=VALC$:IFn%=0THENn%=50
19710ENDCASE
19720ELSE
19730IFs$=""THENs$=B$:ELSEd$=B$
19740ENDIF
19750UNTILA$=""
19760IFd$=""THENPROCY_("",FNQ_("Fbad"),""):=0
19770l%=INSTR(d$,"*"):IFl%>0THEN
19780REPEATd$=LEFT$(d$,l%-1)+RIGHT$(STR$(TIME),4)+MID$(d$,l%+1)
19790UNTILFNAg(d$)<>1
19800ENDIF
19810PROCY_("",FNvb("Fto",B$,A$),"")
19820l%=0:CASEvf%OF
19830WHEN0:SYS131113,26,s$,d$TO;F%:l%=-((F%AND1)=0)
19840WHEN1:PROCY_(FNQ_("Ftail"),"",""):l%=FNGg(s$,d$,n%)
19850WHEN2:PROCY_(FNQ_("Fhead"),"",""):l%=FNHg(s$,d$,n%)
19860ENDCASE
19870PROCZa("$dest",A$)
19880=l%
19900DEFFNae(A$)
19910LOCALS%,r%,Ig%,Jg%,f$,t$,F%
19920PROCY_(FNQ_("Fapp")," ","")
19930f$=FNwb(A$):t$=FNwb(A$)
19940IFt$=""THENPROCY_("",FNQ_("Fbad"),""):=0
19950PROCY_("",FNvb("Fto",f$,t$),"")
19960Ig%=FNLa(f$):IFIg%=0THENPROCZb(FNab("Fsource",f$)):=0
19970Jg%=FN`a(t$):IFJg%=0THENSYS131080,11,t$,&FFF,,0,0:Jg%=FNVf(t$)
19980IFJg%>0ANDEXT#Ig%>0THEN
19990PTR#Jg%=EXT#Jg%:S%=0:REPEATSYS131084,4,Ig%,a_%,256TO,,,r%;F%
20000IFr%<>256AND(F%AND1)=0THENSYS131084,2,Jg%,a_%,256-r%TO;F%:PROCAb(da%)
20010S%+=256-r%
20020UNTILS%>=EXT#Ig%OR(F%AND1)<>0
20030ENDIF
20040PROCMa(Ig%):PROCMa(Jg%)
20050=1
20070DEFFNGg(s$,d$,l%)
20080LOCALn%,m%,A$
20090Ig%=FNLa(s$):IFIg%=0THENPROCZb(FNab("Fsource",s$)):=0
20100SYS131080,11,d$,&FFF,,0,0:Jg%=FNVf(d$)
20110IFJg%>0ANDEXT#Ig%>0THEN
20120n%=0:REPEAT
20130A$=GET$#Ig%:n%+=1:PROCAb(da%*2)
20140UNTILEOF#Ig%:PTR#Ig%=0
20150m%=n%-l%:IFm%<0THENm%=0
20160n%=0:REPEAT
20170A$=GET$#Ig%:n%+=1:PROCAb(da%*2)
20180UNTILn%>=m%
20190REPEAT
20200A$=GET$#Ig%:BPUT#Jg%,A$:PROCAb(da%*2)
20210UNTILEOF#Ig%
20220ENDIF
20230PROCMa(Ig%):PROCMa(Jg%)
20240=1
20260DEFFNHg(s$,d$,l%)
20270LOCALn%,m%,A$
20280Ig%=FNLa(s$):IFIg%=0THENPROCZb(FNab("Fsource",s$)):=0
20290SYS131080,11,d$,&FFF,,0,0:Jg%=FNVf(d$)
20300IFJg%>0ANDEXT#Ig%>0THEN
20310n%=0:REPEAT
20320A$=GET$#Ig%:BPUT#Jg%,A$:n%+=1:PROCAb(da%*2)
20330UNTILEOF#Ig%ORn%>=l%
20340ENDIF
20350PROCMa(Ig%):PROCMa(Jg%)
20360=1
20380DEFFNbe(A$)
20390LOCALw%,B$
20400w%=0
20410REPEATB$=FNwb(A$)
20420IFLEFT$(B$,3)="/wi"THEN
20430w%=TRUE
20440ELSE
20450IFw%=0THENSYS131080,6,B$TO;F%ELSESYS131113,27,B$,,2TO;F%
20460ENDIF
20470UNTILA$=""
20480=-((F%AND1)=0)
20500DEFFNee(A$)
20510LOCALl%,h%,Kg%,B$
20520B$=FNwb(A$)
20530IFA$=""THENPROCrb(FNQ_("Edata")):=0
20540PROCY_(FNQ_("DataOpen")," ","")
20550h%=FNLg(B$)
20560SYS131080,23,A$TOl%,,,,,,Kg%
20570IFh%<>0ANDl%=1THEN
20580U_%=1
20590PROCY_("",A$+" (type &"+STR$~Kg%+") to "+B$,"")
20600q%!12=0:q%!16=5:q%!20=0:q%!24=0:q%!28=0:q%!32=0:q%!36=0
20610q%!40=Kg%:$(q%+44)=A$+CHR$0:!q%=47+LENA$+1ANDNOT3
20620SYS262375,18,q%,h%
20630ELSE
20640U_%=0
20650IFh%=0THENPROCY_("",FNab("Enotask",B$),"")
20660IFl%<>1THENPROCY_("",FNab("Enofile",A$),"")
20670ENDIF
20680=U_%
20700DEFPROCTc
20710LOCALl%
20720PROCP_(FNQ_("TaskList1"))
20730FORl%=0TOS`%
20740IFV`%(l%)>0THEN
20750PROCtf(STR$~V`%(l%),FNMg(V`%(l%))+" ("+U`$(l%)+")")
20760IFT`$(l%)>""THENPROCtf(""," exit: "+T`$(l%))
20770ENDIF
20780NEXT
20790PROCP_(FNQ_("TaskList2"))
20800FORl%=0TOW`%
20810IFa`%(l%)>0THEN
20820PROCtf(STR$~a`%(l%),Z`$(l%)+" ("+Y`$(l%)+")")
20830IFX`$(l%)>""THENPROCtf(""," exit: "+X`$(l%))
20840ENDIF
20850NEXT
20860ENDPROC
20880DEFFNne(A$)
20890LOCALB$
20900REPEATB$=FNwb(A$)
20910SYS393438,B$TO;F%
20920UNTILA$=""
20930=(F%AND1)
20950DEFFNIa(A$)
20960LOCALa%,w%,h%,Ng%,B$,C$
20970sc%=0:a%=0
20980REPEATa%+=1:UNTILV`%(a%)=0ORa%=S`%
20990IFV`%(a%)<>0THENPROCrb(FNQ_("Etask2")):ENDPROC
21000U`$(a%)="task"+STR$a%:T`$(a%)="":h%=0
21010REPEATB$=FNwb(A$)
21020IFLEFT$(B$,1)="/"THEN
21030C$=FNxb(B$)
21040CASELEFT$(B$,2)OF
21050WHEN"ki","de":h%=FNOg(C$):B$="":A$=""
21060WHEN"na","id":U`$(a%)=C$
21070WHEN"ex":T`$(a%)=C$
21080WHEN"wa":sc%=TRUE
21090ENDCASE
21100ENDIF
21110UNTILA$=""
21120IFB$>""THEN
21130PROCY_(FNab("TaskStart1",B$),"","")
21140SYS393438,B$TO;F%
21150IF(F%AND1)=0THEN
21160j_%=a%:Ng%=0
21170REPEATNg%+=1:PROCAb(0):UNTILj_%=0ORNg%>10:j_%=0
21180ENDIF
21190IFV`%(a%)<>0ANDsc%<>0THEN
21200REPEAT:PROCAb(50):UNTILV`%(a%)=0
21210ENDIF
21220h%=-((F%AND1)=0)
21230ENDIF
21240=h%
21260DEFFNOg(A$)
21270LOCALl%,h%
21280IFA$=""THEN
21290l%=S`%:WHILEV`%(l%)=0ANDl%>0:l%-=1:ENDWHILE
21300IFV`%(l%)>0THENh%=V`%(l%)
21310ELSE
21320FORl%=0TOS`%
21330IFV`%(l%)>0THEN
21340IFFNMg(V`%(l%))=A$ORU`$(l%)=A$THENh%=V`%(l%)
21350ENDIF
21360NEXT
21370ENDIF
21380IFh%<>0THEN
21390PROCZb("Killing task: "+A$)
21400!q%=256:q%!12=0:q%!16=0:SYS262375,17,q%,h%:PROCAb(0)
21410ENDIF
21420=-(h%<>0)
21440DEFFNde(A$)
21450=FNLg(A$)
21470DEFFNMg(h%)
21480LOCALf$,n%
21490f$="":SYS403072,h%TOh%;F%
21500IF(F%AND1)=0THEN
21510n%=0:WHILEh%?n%>31:f$+=CHR$(h%?n%):n%+=1:ENDWHILE
21520ENDIF
21530=f$
21550DEFFNLg(A$)
21560LOCALA%,r%,l%,h%,B$
21570r%=0:A%=0:A$=FNrc(A$)
21580REPEAT
21590SYS272001,A%,Pa%,&100TOA%,l%
21600Fd%=0
21610WHILE(A%>=0ANDr%=0AND(Fd%+Pa%)<=l%)
21620h%=Pa%!Fd%:B$=FNUb(Pa%!(Fd%+4)):Fd%+=16
21630IFA$=FNrc(B$)THENr%=h%
21640ENDWHILE
21650UNTILA%<0ORr%<>0
21660=r%
21680DEFPROCbb
21690LOCALl%
21700FORl%=0TOS`%-1
21710IFV`%(l%)=0ANDV`%(l%+1)<>0THEN
21720SWAPV`%(l%),V`%(l%+1)
21730SWAPU`$(l%),U`$(l%+1)
21740SWAPT`$(l%),T`$(l%+1)
21750ENDIF
21760NEXT
21770ENDPROC
21790DEFFNIe(A$)
21800LOCALSb%,w%,Ng%,n%,F%,Kd%,B$,C$,S$
21810Sb%=0:sc%=0:F%=0:Kd%=TRUE
21820WHILEa`%(Sb%)<>0ANDSb%<W`%:Sb%+=1:ENDWHILE
21830IFSb%=W`%THENPROCrb(FNQ_("Etask2")):=0
21840SYS262380,-1,-1TO,n%:n%=n%DIV1024
21850S$=STR$n%+"k":Y`$(Sb%)="SDtask"+STR$Sb%:X`$(Sb%)="":g`%(Sb%)=0
21860REPEATB$=FNwb(A$)
21870IFLEFT$(B$,1)="/"THEN
21880C$=FNxb(B$)
21890CASELEFT$(B$,2)OF
21900WHEN"si":S$=C$
21910WHEN"na","id":Y`$(Sb%)=C$
21920WHEN"ex":X`$(Sb%)=C$
21930WHEN"ou":PROCMa(b`%(Sb%)):b`%(Sb%)=FNVf(C$)
21940WHEN"wa":sc%=TRUE
21950WHEN"ke":g`%(Sb%)=TRUE
21960WHEN"ki":PROCnc(C$,&808C4)
21970WHEN"su":PROCnc(C$,&808C6)
21980WHEN"re":PROCnc(C$,&808C7)
21990WHEN"no":Kd%=FALSE
22000ENDCASE
22010B$=""
22020ENDIF
22030UNTILA$=""
22040IFB$>""THEN
22050PROCY_(FNab("TaskStart1",Y`$(Sb%)),"",""):Z`$(Sb%)=B$
22060IFb`%(Sb%)=0THENPROCJd(Sb%,Kd%,Y`$(Sb%))
22070SYS393438,"TaskWindow """+B$+""" -quit -wimpslot "+S$+" -name """+Y`$(Sb%)+""" -task &"+STR$~Ia%+" -txt &"+STR$~(Ia%+Sb%)TO;F%
22080Ng%=0:REPEATNg%+=1:PROCAb(0):UNTILa`%(Sb%)<>0ORNg%>10
22090IFa`%(Sb%)=0THENPROCMa(b`%(Sb%)):Y`$(Sb%)="":PROCEb(d`%(Sb%))
22100IFsc%<>0ANDa`%(Sb%)<>0THEN
22110REPEAT:PROCAb(50):UNTILa`%(Sb%)=0
22120ENDIF
22130ENDIF
22140=ABS((F%AND1)=0)
22160DEFPROCnc(A$,m%)
22170A$=FNrc(A$)
22180LOCALSb%:FORSb%=0TOW`%
22190IFA$=FNrc(Y`$(Sb%))ANDa`%(Sb%)>0THEN
22200!q%=20:q%!4=0:q%!8=0:q%!12=0:q%!16=m%
22210SYS262375,17,q%,a`%(Sb%)
22220CASEm%OF
22230WHEN&808C6:$h`%(Sb%)=FNab("TaskSusp",Y`$(Sb%)):PROCeb(d`%(Sb%))
22240WHEN&808C7:$h`%(Sb%)=FNab("TaskRun",Y`$(Sb%)):PROCeb(d`%(Sb%))
22250ENDCASE
22260Sb%=W`%
22270ENDIF
22280NEXT
22290ENDPROC
22310DEFFNUe(A$)
22320LOCALf%,r%,Pg$,B$,C$
22330Pg$="":f%=0:WHILEn`%(f%)<>0ANDf%<m`%:f%+=1:ENDWHILE
22340IFf%=m`%THENPROCrb(FNQ_("Efullfile")):=0
22350o`$(f%)="":p`%(f%)=1:r%=&4F
22360REPEATB$=FNwb(A$)
22370IFLEFT$(B$,1)="/"THEN
22380C$=FNxb(B$)
22390CASELEFT$(B$,2)OF
22400WHEN"na","id":o`$(f%)=C$
22410WHEN"re":p`%(f%)=1:r%=&4F
22420WHEN"wr":p`%(f%)=2:r%=&8F
22430WHEN"rw":p`%(f%)=3:r%=&CF
22440WHEN"er":Pg$=C$
22450ENDCASE
22460ELSE
22470q`$(f%)=B$
22480ENDIF
22490UNTILA$=""
22500IFo`$(f%)>""THENSYS131085,r%,q`$(f%)TOn`%(f%);F%
22510IF(F%AND1)<>0THEN
22520n`%(f%)=0:o`$(f%)=""
22530IFPg$=""THENPROCrb(FNQ_("Efilefail")):ELSEPROCRb(Pg$,9)
22540ELSE
22550IFp`%(f%)=2THENSYS131080,18,q`$(f%),&FFF
22560ENDIF
22570=n`%(f%)
22590DEFFNVe(A$)
22600LOCALn%,r%,B$,C$
22610r%=0
22620REPEATB$=FNwb(A$)
22630IFLEFT$(B$,1)="/"THEN
22640C$=FNxb(B$)
22650CASELEFT$(B$,2)OF
22660WHEN"na","id":FORn%=0TOm`%
22670IFo`$(n%)=C$THENPROCMa(n`%(n%)):o`$(n%)="":n%=m`%:r%=1
22680NEXT
22690ENDCASE
22700ENDIF
22710UNTILA$=""
22720=r%
22740DEFFNWe(A$)
22750LOCALf%,r%,Qg$,B$,C$
22760f%=-1:r%=0:Qg$=""
22770REPEATB$=FNwb(A$)
22780IFLEFT$(B$,1)="/"THEN
22790C$=FNxb(B$)
22800CASELEFT$(B$,2)OF
22810WHEN"na","id":f%=FNRg(C$)
22820WHEN"eof":Qg$=C$
22830ENDCASE
22840ELSE
22850IFf%>-1ANDf%<m`%THEN
22860IF(p`%(f%)AND1)=0THENPROCrb(FNQ_("Enoread")):=0
22870IFNOTEOF#n`%(f%)THENPROCZa(B$,GET$#n`%(f%)):r%=1
22880IFEOF#n`%(f%)ANDQg$>""THENPROCRb(Qg$,9)
22890ENDIF
22900ENDIF
22910UNTILA$=""
22920=r%
22940DEFFNXe(A$)
22950LOCALf%,r%,B$,C$
22960f%=-1:r%=0
22970REPEATB$=FNwb(A$)
22980IFLEFT$(B$,1)="/"THEN
22990C$=FNxb(B$)
23000CASELEFT$(B$,2)OF
23010WHEN"na","id":f%=FNRg(C$)
23020ENDCASE
23030ELSE
23040IFf%>-1ANDf%<m`%THEN
23050IF(p`%(f%)AND2)=0THENPROCrb(FNQ_("Enowrite")):=0
23060BPUT#n`%(f%),B$
23070ENDIF
23080ENDIF
23090UNTILA$=""
23100=r%
23120DEFFNFd(A$)
23130LOCALf%,r%,s%,B$,C$
23140f%=-1:s%=-1
23150REPEATB$=FNwb(A$)
23160IFLEFT$(B$,1)="/"THEN
23170C$=FNxb(B$)
23180CASELEFT$(B$,2)OF
23190WHEN"na","id":f%=FNRg(C$)
23200WHEN"se":IFFNrc(C$)="eof"THENs%=-2:ELSEs%=VALC$
23210ENDCASE
23220ENDIF
23230UNTILA$=""
23240r%=0
23250IFf%>-1ANDn`%(f%)<>0THEN
23260IFs%=-2THENPTR#n`%(f%)=EXT#n`%(f%):ELSEIFs%>=0THENPTR#n`%(f%)=s%
23270r%=PTR#n`%(f%)
23280ENDIF
23290=r%
23310DEFPROCrf
23320PROCtf("Identifier","Filename")
23330LOCALf%:FORf%=0TOm`%
23340IFn`%(f%)>0THENPROCtf(o`$(f%),q`$(f%))
23350NEXT
23360ENDPROC
23380DEFFNRg(A$)
23390LOCALf%:f%=0:WHILEo`$(f%)<>C$ANDf%<m`%:f%+=1:ENDWHILE
23400IFf%=m`%THENPROCrb(FNQ_("Efileid")):=0
23410=f%
23430DEFPROCfe(A$)
23440LOCALn%,l%,m$,n$,a$,b$,B$,C$:n%=-1:m$="":n$=""
23450REPEATB$=FNwb(A$)
23460IFLEFT$(B$,1)="/"THEN
23470C$=FNxb(B$)
23480CASELEFT$(B$,2)OF
23490WHEN"co":n%=-2
23500WHEN"ic":n%=0:REPEATn%+=1:UNTILR`$(n%)=C$ORP`%(n%)=0ORn%=N`%
23510IFn%=N`%ORC$=""THENPROCZb(FNQ_("Eicon1")):n%=-5
23520ENDCASE
23530ELSE
23540l%=INSTR(B$,":")
23550IFl%>0THEN
23560a$=LEFT$(B$,l%-1):b$=MID$(B$,l%+1)
23570ELSE
23580a$=B$:b$=""
23590ENDIF
23600IFa$=""ORb$=""THENPROCrb(FNab("Emenu",B$)):A$=""
23610IFLENm$+LENa$<252ANDLENn$+LENb$<252THEN
23620m$+=a$+CHR$0:n$+=b$+CHR$0
23630ELSE
23640PROCrb(FNQ_("Ebigmenu")):A$=""
23650ENDIF
23660ENDIF
23670UNTILA$=""
23680IFRIGHT$(m$,1)=" "THENm$=LEFT$(m$,LENm$-1)
23690CASEn%OF
23700WHEN-1:`_$(0)=m$:`_$(1)=n$
23710WHEN-2:A`$(0)=m$:A`$(1)=n$
23720OTHERWISE:IFn%>=0ANDn%<=N`%THENQ`$(n%,0)=m$:Q`$(n%,1)=n$
23730ENDCASE
23740ENDPROC
23760DEFFNnb(A$,B$)
23770LOCALu$,a$,b$:__%=0:u$=""
23780REPEAT
23790__%+=1
23800a$=FNSg(A$,CHR$0):b$=FNSg(B$,CHR$0)
23810u$+=","+a$:__$(__%,0)=a$:__$(__%,1)=b$
23820UNTILA$=""OR__%=z_%:u$=MID$(u$,2)
23830=u$
23850DEFPROCSc
23860LOCALC$
23870IF`_$(0)>""THENC$=FNnb(`_$(0),`_$(1)):PROCTg("user")
23880IFA`$(0)>""THENC$=FNnb(A`$(0),A`$(1)):PROCTg("debug")
23890FORZ%=0TON`%
23900IFQ`$(Z%,0)>""THENC$=FNnb(Q`$(Z%,0),Q`$(Z%,1)):PROCTg("icon: "+R`$(Z%))
23910NEXT
23920ENDPROC
23940DEFPROCTg(t$)
23950LOCALl%
23960PROCP_("Label Action ("+t$+")")
23970FORl%=1TO__%
23980PROCtf(__$(l%,0),__$(l%,1))
23990NEXT
24000ENDPROC
24020DEFPROCie(A$)
24030LOCALB$,C$
24040REPEATB$=FNwb(A$)
24050CASELEFT$(B$,1)OF
24060WHEN"/":C$=FNxb(B$):PROCZb("Qualifier /"+B$+" value="+C$)
24070OTHERWISE:PROCZb("Parameter "+B$)
24080ENDCASE
24090UNTILA$=""
24100ENDPROC
24120DEFFNud(RETURNUb$)
24130LOCALB$,A%,B%,F%,Ug%,Vg%,Wg%,Xg%,l%
24140B$="":B%=0:Ug%=0:Vg%=0:Wg%=0:Xg%=0:F%=0:l%=LENUb$
24150IFUb$=""THEN=""
24160REPEAT:B%+=1:A%=ASCMID$(Ub$,B%,1)
24170IFXg%=92THEN
24180B$+=CHR$A%:Xg%=0
24190ELSE
24200IFA%=34ANDVg%=0THENUg%+=1
24210IFUg%MOD2=0THEN
24220IFA%=40THENVg%+=1
24230IFA%=41THENVg%-=1
24240IFA%=123THENWg%+=1
24250IFA%=125THENWg%-=1
24260IFVg%=0AND(Ug%MOD2)=0THEN
24270IFA%=59ANDB%>1THENF%=TRUE
24280ENDIF
24290ENDIF
24300Xg%=A%:IFF%=0ANDA%<>92THENB$+=CHR$A%
24310ENDIF
24320UNTILF%<>0ORB%=l%:IFB%=l%THENB%+=1
24330Ub$=FNYg(MID$(Ub$,B%+1))
24340B$=FNSf(B$)
24350=FNYg(B$)
24370DEFFNSf(A$)
24380LOCALl%,f%,c%,a$,l$,B$:l$=""
24390c%=INSTR(A$,"%"):IFc%=0THEN:=A$
24400c%=c%-2:IFc%<0THENc%=0
24410B$=LEFT$(A$,c%)
24420REPEATc%+=1:a$=MID$(A$,c%,1)
24430IFl$="\"THEN
24440B$+=a$:l$=""
24450ELSE
24460IFa$="%"THEN
24470FORl%=0TOE`%
24480IFF`$(l%,0)>""ANDF`$(l%,0)=MID$(A$,c%+1,LENF`$(l%,0))THENB$+=F`$(l%,1):c%+=LENF`$(l%,0):l%=E`%+1
24490NEXT
24500IFl%=E`%THENB$+="%"
24510ELSE
24520B$+=a$:l$=a$
24530ENDIF
24540ENDIF
24550UNTILc%>=LENA$
24560=B$
24580DEFFNwb(RETURNUb$)
24590LOCALB$,A%,B%,F%,Ug%,Vg%,Wg%,Xg%,l%
24600B$="":B%=0:Ug%=0:Vg%=0:Wg%=0:Xg%=0:F%=0:l%=LENUb$
24610IFUb$=""THEN=""
24620REPEAT:B%+=1:A%=ASCMID$(Ub$,B%,1)
24630IFXg%=92THEN
24640B$+=CHR$A%:Xg%=0
24650ELSE
24660IFA%=34ANDVg%=0THENUg%+=1
24670IFUg%MOD2=0THEN
24680IFA%=40THENVg%+=1
24690IFA%=41THENVg%-=1
24700IFA%=123THENWg%+=1
24710IFA%=125THENWg%-=1
24720IFVg%=0ANDWg%=0THEN
24730IF(A%=32ORA%=47)ANDB%>1THENF%=TRUE
24740ENDIF
24750ENDIF
24760Xg%=A%:IFF%=0ANDA%<>92THENB$+=CHR$A%
24770ENDIF
24780UNTILF%<>0ORB%=l%:IFB%=l%THENB%+=1
24790B$=FNYg(B$)
24800Ub$=FNZg(FNYg(MID$(Ub$,B%)))
24810=FNag(B$)
24830DEFFNag(B$)
24840LOCALl%,r%
24850l%=ASCB$:r%=ASCRIGHT$(B$,1)
24860IFl%=34ANDr%=34THENB$=MID$(B$,2,LENB$-2)
24870IFl%=123ANDr%=125THEN
24880r%=FNV_(MID$(B$,2,LENB$-2)):B$=FNse("$status")
24890ENDIF
24900=B$
24920DEFFNFg(A$)
24930LOCALB$,l%,c%:B$=""
24940FORl%=1TOLENA$:c%=ASCMID$(A$,l%,1):IFc%>96ANDc%<123THENc%-=32
24950B$+=CHR$c%:NEXT:=B$
24970DEFFNZg(A$)
24980IFA$="-"THENA$=FNSf(FNT_(O_%)):PROCZb("Continuation line:"+A$):O_%+=1
24990=A$
25010DEFFNxb(RETURNA$)
25020LOCALB$,A%,B%:WHILELEFT$(A$,1)="/":A$=MID$(A$,2):ENDWHILE
25030A%=INSTR(A$,"="):IFA%=0THENA$=FNrc(A$):=""
25040B$=MID$(A$,A%+1):A$=FNrc(LEFT$(A$,A%-1))
25050=FNag(B$)
25070DEFPROCme
25080PROCY_("",FNQ_("Exit"),"")
25090X_%=FALSE:ENDPROC
25110DEFFNn_(A$)
25120IFA$=""THEN=1
25130=VAL(A$)
25150DEFFNd(A%,B%,C%,D%)
25160=USR(b_)
25180DEFPROCD_
25190LOCALA$,B$
25200SYS16TOA$
25210A$=MID$(A$,INSTR(FNrc(A$),"!runi")):Id%=0:L_$="":bg$=""
25220A$=MID$(A$,INSTR(A$," ")+1)
25230REPEAT
25240B$=FNwb(A$)
25250CASELEFT$(B$,2)OF
25260WHEN"-f":L_$=FNwb(A$)
25270WHEN"-a":L_$="SLIPdial:default"
25280WHEN"-q":Id%=TRUE
25290WHEN"-s":d_%=VALFNwb(A$):IFd_%<&1B00THENd_%=&1B00
25300OTHERWISE:bg$=bg$+B$+" "
25310ENDCASE
25320UNTILB$=""
25330ENDPROC
25350DEFFNcg(RETURNA$)
25360LOCALB$,a%:a%=INSTR(A$," ")
25370IFa%>0THEN
25380B$=FNYg(LEFT$(A$,a%-1)):A$=FNYg(MID$(A$,a%+1))
25390ELSE
25400B$=A$:A$=""
25410ENDIF
25420=B$
25440DEFPROCBe(N$)
25450PROCZa("$caller",dg$):X_%=0:PROCM_(N$)
25460ENDPROC
25480DEFPROCM_(N$)
25500IFX_%<>0THENPROCZb(FNQ_("Eload1")):ENDPROC
25510PROCeg
25520p%=0:IFbg$>""THEN
25530REPEAT:p%+=1:B$=FNwb(bg$):PROCZa("p"+STR$p%,B$):UNTILbg$=""
25540ENDIF
25550IFN$>""ANDFNfg(N$,0)THEN
25560PROCY_(FNQ_("Sload2")," "," "):dg$=N$:PROCZa("$script",N$)
25570X_%=TRUE:O_%=0:PROCob
25580ENDIF
25590ENDPROC
25610DEFPROCeg
25620pd%=0:ua%=0:sd%=19200:PROCmd
25630pe%=1:qe%=30:n_%=FALSE:W_%=0:i_$="":tb$=""
25640sb%=0:Eg%=0:`_$()="":A`$()="":__%=0:K`$()=""
25650FORn%=0TOE`%:IFLEFT$(F`$(n%,0),1)<>"$"THENF`$(n%,0)=""
25660NEXT
25670FORn%=0TON`%:IFP`%(n%)>0THEN!Oa%=-2:Oa%!4=P`%(n%):SYS393412,,Oa%TO;F%
25680NEXT:R`$()="":P`%()=0:Q`$()="":K`$()="":L`%()=0
25690a`%()=0:Y`$()="":X`$()="":V`%()=0:U`$()=""
25700T`$()="":k`$()="":__$()=""
25710y_$()="":y_%()=0
25720ENDPROC
25740DEFFNfg(N$,gg%)
25750LOCALA$,r%,p_%
25760SYS131080,23,N$TOr%:IFr%<>1THEN=0
25770r%=0:p_%=FNLa(N$)
25780IFp_%=0THENPROCZb("File not found: "+N$):=0
25790IFgg%=0THENW_%=0:D`%=1
25800A$=GET$#p_%
25810IFINSTR(A$,"slipdial")>0THEN
25820REPEATA$=GET$#p_%
25830IFLEFT$(A$,1)<>"#"ANDA$>""THEN
25840PROChg(A$,W_%)
25850IFLEFT$(A$,1)=":"THEN
25860A$=MID$(A$,2):B$=FNwb(A$)
25870IFB$="autoexec"THENC`%(0)=W_%:C`$(0)=B$ELSEC`%(D`%)=W_%:C`$(D`%)=B$:D`%+=1
25880ENDIF
25890W_%+=1
25900ENDIF
25910UNTILEOF#p_%
25920IFW_%>2000THEN
25930PROCMa(p_%):PROCrb(FNQ_("Elong")):=0
25940ELSE
25950r%=1
25960ENDIF
25970ELSE
25980PROCrb(FNQ_("Eload2")):=0
25990ENDIF
26000PROCMa(p_%)
26010=r%
26030DEFPROChg(A$,n%)
26040IFn%>k_%THEN
26050CASEn%OF
26060WHEN0:DIMig$(199)
26070WHEN200:DIMjg$(199)
26080WHEN400:DIMkg$(199)
26090WHEN600:DIMlg$(199)
26100WHEN800:DIMmg$(199)
26110WHEN1000:DIMng$(199)
26120WHEN1200:DIMog$(199)
26130WHEN1400:DIMpg$(199)
26140WHEN1600:DIMqg$(199)
26150WHEN1800:DIMrg$(199)
26160WHEN2000:DIMsg$(199)
26170ENDCASE
26180k_%=n%
26190ENDIF
26200CASE(n%DIV200)OF
26210WHEN0:ig$(n%)=A$
26220WHEN1:jg$(n%-200)=A$
26230WHEN2:kg$(n%-400)=A$
26240WHEN3:lg$(n%-600)=A$
26250WHEN4:mg$(n%-800)=A$
26260WHEN5:ng$(n%-1000)=A$
26270WHEN6:og$(n%-1200)=A$
26280WHEN7:pg$(n%-1400)=A$
26290WHEN8:qg$(n%-1600)=A$
26300WHEN9:rg$(n%-1800)=A$
26310WHEN10:sg$(n%-2000)=A$
26320ENDCASE
26330ENDPROC
26350DEFFNT_(n%)
26360IFn%>k_%THEN=""
26370LOCALA$:CASE(n%DIV200)OF
26380WHEN0:A$=ig$(n%)
26390WHEN1:A$=jg$(n%-200)
26400WHEN2:A$=kg$(n%-400)
26410WHEN3:A$=lg$(n%-600)
26420WHEN4:A$=mg$(n%-800)
26430WHEN5:A$=ng$(n%-1000)
26440WHEN6:A$=og$(n%-1200)
26450WHEN7:A$=pg$(n%-1400)
26460WHEN8:A$=qg$(n%-1600)
26470WHEN9:A$=rg$(n%-1800)
26480WHEN10:A$=sg$(n%-2000)
26490OTHERWISE:A$=""
26500ENDCASE
26510=A$
26530DEFFNAe(tg$)
26540LOCALr%,ug%,B$
26550B$=FNwb(tg$):PROCZb(FNab("Slib",B$))
26560ug%=C`%(0)
26570r%=FNfg(B$,1)
26580IFug%<>C`%(0)ANDr%<>0THENPROCRb("call auto "+tg$,0)
26590=r%
26610DEFPROCVc(A$)
26620LOCALtc%,vg%
26630PROCP_(FNQ_("Slist"))
26640tc%=VALFNwb(A$):vg%=VALA$
26650IFtc%<0THENtc%=0
26660IFvg%=0ORvg%>W_%THENvg%=W_%
26670FORc%=tc%TOvg%
26680A$=STR$c%:IFc%=O_%THENA$="*"+A$
26690A$=RIGHT$(" "+A$,4)+" "
26700PROCP_(A$+FNT_(c%))
26710NEXT
26720ENDPROC
26740DEFPROCsf
26750PROCtf("Label","Line")
26760LOCALn%:FORn%=0TOD`%-1:PROCtf(C`$(n%),STR$C`%(n%)):NEXT
26770ENDPROC
26790DEFFNN_(A$)
26800LOCALr%:r%=0
26810PROCZa("$init","ATZQ0V1")
26820PROCZa("$busy","BUSY")
26830PROCZa("$conn","CONNECT")
26840PROCZa("$nocarr","NO CARRIER")
26850PROCZa("$nodial","NO DIALTONE")
26860IFA$>""THEN
26870IFINSTR(A$,".")=0THENA$="SlipDialDrv:"+A$
26880r%=FN`d(A$)
26890ENDIF
26900=r%
26920DEFFN`d(L_$)
26930LOCALr%,p_%,B$,C$
26940r%=0
26950REPEATB$=FNwb(L_$)
26960p_%=FNLa(B$)
26970IFp_%=0THEN
26980PROCZb(FNab("Fsource",B$)):=0
26990ELSE
27000REPEATC$=GET$#p_%
27010IFLEFT$(C$,1)<>"#"ANDC$>""THEN
27020r%=FNV_(C$)
27030ENDIF
27040UNTILEOF#p_%
27050PROCMa(p_%)
27060ENDIF
27070UNTILL_$=""
27080=r%
27100DEFPROCje(A$)
27110LOCALp_%,n%,r%,B$,C$:v`%=FALSE:yb$()=""
27120IFA$=""THEN
27130PROCOb(FNQ_("Hannounce"))
27140n%=0:C$=""
27150REPEATB$=""
27160REPEAT
27170SYS131084,9,_`$+".help",a_%,1,n%,255,"*"TO,,,r%,n%
27180C$=FNUb(a_%):B$+=C$+STRING$(15-LENC$," ")
27190UNTILn%=-1ORLENB$>60
27200PROCOb(B$)
27210UNTILn%=-1:PROCOb("")
27220ELSE
27230p_%=FNLa(_`$+".Help."+A$+"*")
27240IFp_%>0THEN
27250PROCOb("Help on "+A$+":")
27260n%=0
27270REPEAT
27280B$=GET$#p_%:IFB$>""THENn%+=1:PROCOb(B$)
27290UNTILEOF#p_%ORn%>r`%
27300PROCOb(""):PROCMa(p_%)
27310ELSE
27320PROCje("")
27330ENDIF
27340ENDIF
27350ENDPROC
27370DEFPROCle(Va$)
27380PROCY_(FNQ_("Quit2"),Va$,"")
27390PROCTb
27400END
27410ENDPROC
27430DEFPROCG_
27440p_%=FNLa(z`$+".!Config"):IFp_%=0THENERROR0,"No config!":ENDPROC
27450PROCdc(Ua%,1,BGET#p_%)
27460PROCdc(Ua%,2,BGET#p_%)
27470PROCdc(Ua%,3,BGET#p_%)
27480PROC_a(Ua%,4,GET$#p_%)
27490IFNOTEOF#p_%THENPROC_a(Ua%,7,GET$#p_%)
27500IFNOTEOF#p_%THENPROC_a(Ua%,8,GET$#p_%)
27510IFNOTEOF#p_%THENPROC_a(Ua%,12,GET$#p_%)
27520IFNOTEOF#p_%THENPROCdc(Ua%,13,BGET#p_%)
27530IFNOTEOF#p_%THENPROCdc(Ua%,14,BGET#p_%)
27540PROCMa(p_%)
27550J_%=VALFNQb(Ua%,7):IFJ_%<24THENJ_%=24
27560I_%=VALFNQb(Ua%,8)
27570Aa%=FNec(Ua%,13)
27580IFI_%<40THENI_%=40ELSEIFI_%>240THENI_%=240
27590i`%=VALFNQb(Ua%,12)
27600IFi`%<10THENi`%=10ELSEIFi`%>100THENi`%=100
27610SYS6,121,(2EOR&80)TO,A%
27620IFL_$=""ANDFNec(Ua%,3)=0ANDA%<>&FFTHENL_$=FNQb(Ua%,4)
27630IFId%=0ANDFNec(Ua%,1)=0THENPROC_b(Sa%,0,-200)
27640ENDPROC
27660DEFPROCpb
27670p_%=FNVf(z`$+".!Config"):IFp_%=0THENENDPROC
27680BPUT#p_%,FNec(Ua%,1)
27690BPUT#p_%,FNec(Ua%,2)
27700BPUT#p_%,FNec(Ua%,3)
27710BPUT#p_%,FNQb(Ua%,4)
27720BPUT#p_%,FNQb(Ua%,7)
27730BPUT#p_%,FNQb(Ua%,8)
27740BPUT#p_%,FNQb(Ua%,12)
27750BPUT#p_%,FNec(Ua%,13):Aa%=FNec(Ua%,13)
27760BPUT#p_%,FNec(Ua%,14)
27770PROCMa(p_%)
27780IFFNec(Ua%,14)=0THEN
27790p_%=FNVf(z`$+".!windows"):IFp_%=0THENENDPROC
27800!q%=Sa%:SYS262347,,q%
27810BPUT#p_%,STR$(q%!4)
27820BPUT#p_%,STR$(q%!8)
27830PROCMa(p_%)
27840ENDIF
27850ENDPROC
27870DEFFNH_(A%)
27880IFHIMEM-END<(A%+&2000)THEN=TRUE
27890=FALSE
27910DEFFNce(A$)
27920LOCALf$,wg,xg%:xg%=0
27930f$=FNwb(A$):IFf$>""THEN
27940wg=FNyg("<Mail$Dir>.folder."+f$+"News")-FNyg("<Mail$Dir>.folder."+f$+"NG"):PROCZb("Time "+STR$wg)
27950IFwg>0THENxg%=100*FNzg("<Mail$Dir>.folder."+f$+"News")/wg
27960ENDIF
27970=xg%
27990DEFFNyg(f$)
28000LOCAL_g%,`g%,Ah%
28010SYS131080,17,f$TO_g%,,`g%,Ah%;F%
28020IF_g%=0OR(F%AND1)<>0THENPROCZb(FNab("Enofile",f$)):=0
28030=(`g%AND&FF)*2^32+Ah%
28050DEFFNzg(f$)
28060LOCALOd%,_g%
28070SYS131080,17,f$TO_g%,,,,Od%;F%
28080IF_g%=0OR(F%AND1)<>0THENPROCZb(FNab("Enofile",f$)):=0
28090=Od%
28110DEFFNYg(A$)
28130LOCALB$:IFA$>""THENCALLBh%,A$,B$
28140=B$
28160DEFFNrc(A$)
28170IFA$>""THENCALLCh%,A$
28180=A$
28200DEFFNUb(a%)
28210LOCALDh%,B$
28220CALLEh%,Dh%,a%,B$
28230=B$
28250DEFPROCB_
28260LOCALo%,l%,F%
28270SYS131080,17,z`$+".code"TOo%,,,,l%;F%
28280IFo%=1ANDl%>0AND(F%AND1)=0THEN
28290DIMFh% l%
28300Gh%=Fh%+4:Hh%=Fh%+8:Eh%=Fh%+12
28310Ih%=Fh%+16:Jh%=Fh%+20:Ch%=Fh%+24
28320Bh%=Fh%+28:Kh%=Fh%+32:Lh%=Fh%+36
28330Mh%=Fh%+40
28340SYS131080,16,z`$+".code",Fh%,0TO;F%
28350IF(F%AND1)THENERROR0,"Help! I can't find my Code file!"
28360ELSE
28370ERROR0,"Help! I can't find my Code file!"
28380ENDIF
28390ENDPROC
28410DEFFNma(RETURNF`%,Od%,A$)
28420LOCALF%,Nh%
28430IFc_%<&A5THEN
28440SYS131102,6,,,Od%TO,,F`%;F%
28450IF(F%AND1)THENF`%=0
28460Nh%=F`%
28470ELSE
28480SYS&20066,0,-1,Od%,-1,0,-1,0,0,Fa$+"_"+A$TO,Nh%,,F`%;F%
28490IF(F%AND1)THENF`%=0:Nh%=0
28500ENDIF
28510=Nh%
28530DEFPROCpa(RETURNF`%)
28540LOCALF%
28550IFF`%>0THEN
28560IFc_%<&A5THEN
28570SYS131102,7,,F`%TO;F%:F`%=0
28580SYS131114,1,(-16*1024*1024)
28590ELSE
28600SYS&20066,1,F`%TO;F%:F`%=0
28610ENDIF
28620ENDIF
28630ENDPROC
28650DEFPROCOh
28660LOCALA%,N%,P%
28670IFc_%>&A4THEN
28680SYS&66,3,-1TO,A%
28690WHILEA%<>-1
28700SYS&66,2,A%TO,,,,,,,,P%
28710SYS&66,3,A%TO,N%
28720IFLEFT$(FNUb(P%),1+LENFa$)=Fa$+"_"THENSYS&66,1,A%
28730A%=N%
28740ENDWHILE
28750ENDIF
28760ENDPROC
28780DEFFNSg(RETURNA$,s$)
28790LOCALB$,l%
28800l%=INSTR(A$,s$)
28810IFl%>0THEN
28820B$=LEFT$(A$,l%-1):A$=MID$(A$,l%+1)
28830ELSE
28840B$=A$:A$=""
28850ENDIF
28860=B$
28880DEFPROCC_
28890SYS398592,,_`$+".messages"TO,,id%;F%
28900IF(F%AND1)THENERROR0,"Couldn't load Messages file!"
28910DIMPh%16,Qh% id%
28920SYS267521,Ph%,_`$+".messages",Qh%
28930ENDPROC
28950DEFPROCgb
28960IFPh%>0THENSYS267524,Ph%
28970ENDPROC
28990DEFFNQ_(t$)
29000LOCALs%
29010SYS267522,Ph%,t$TO,,s%
29020=FNUb(s%)
29030DEFFNab(t$,a$)
29040LOCALs%
29050SYS267522,Ph%,t$,a_%,255,a$TO,,s%
29060=FNUb(s%)
29070DEFFNvb(t$,a$,b$)
29080LOCALs%
29090SYS267522,Ph%,t$,a_%,255,a$,b$TO,,s%
29100=FNUb(s%)
29110DEFFNRh(t$,a$,b$,c$)
29120LOCALs%
29130SYS267522,Ph%,t$,a_%,255,a$,b$,c$TO,,s%
29140=FNUb(s%)
�:�" at ";�:�
�=�+&2000
(�A_
2�B_
<�C_
F�D_
P�E_
Z��F_:�
d�G_
n ȕ�H_(I_%�2*J_%):�=�+&2000:�
x�K_
�ș131080,17,L_$�A%,,,,S%
�ȕ�H_(S%):�=�+&2000:�
��M_(L_$)
�A%=�N_("")
��
� O_%=0
��
�)�H_(0)��P_(�Q_("MoreMem")):�=�+&2000
�"�R_�A$=�S_�A$=�T_(O_%):O_%+=1
�U_%=�V_(A$)
��O_%>=W_%�X_%=�
�*X_%=�:�O_%>=W_%��Y_("",�Q_("Idle"),"")
��Z_
�0
�
,��A_
6�a_% 256,b_ 4096
@ș6,129,0,&FF�,c_%
J
d_%=&1B00
T e_%=�
^.f_%=1:g_%=0:h_%=�:i_%=�:X_%=�:j_%=0:k_%=-1
h4l_%=�:m_%=0:n_%=�:o_%=0:p_%=0:q_%=0:r_$="":O_%=0
rs_%=20:�t_%(s_%),u_%(s_%)
|*v_%=10:�w_$(v_%),x_% v_%,y_$(3),y_%(3)
�$z_%=30:�__$(z_%,1),`_$(1),A`$(1)
�*B`%=50:�C`%(B`%),C`$(B`%):D`%=0:U_$=""
�3E`%=150:�F`$(E`%,1),G`$(3),H`$(3),I`$(10):I`%=0
�(J`%=10:�K`$(J`%,1),L`%(J`%),M`$(J`%)
�'N`%=8:�O`$(N`%),P`$(N`%),Q`$(N`%,1)
��R`$(N`%),P`%(N`%)
�%S`%=8:�T`$(S`%),U`$(S`%),V`%(S`%)
�%W`%=8:�X`$(W`%),Y`$(W`%),Z`$(W`%)
�(�a`%(W`%),b`%(W`%),c`$(W`%),d`%(W`%)
�(�e`%(W`%),f`%(W`%),g`%(W`%),h`%(W`%)
�/H`%=-1:d`%()=0:f`%()=0:i`%=29:I_%=80:J_%=24
�.j`%=10:�k`$(j`%),k`%(j`%),l`%(j`%):k`%()=�
�/m`%=10:�n`%(m`%),o`$(m`%),p`%(m`%),q`$(m`%)
0r`%=25:s`$="":t`$="":u`%=0:s`%=0:v`%=�:w`%=0
x`$=�y`("Slipdial$dir")
!z`$=�y`("Slipdial$resources")
&)_`$=z`$+".UK":``$="":Aa%=1:Ba$="none"
0�
N��E_
X�Ca% d_%:!Ca%=d_%:Ca%!8=0
bș46,&109,Ca%
l5�Da(z`$+".Sprites")=0��0,"Couldn't load sprites"
v$�Ea%4:$Ea%="TASK":Fa$="SLIPdial"
��Ga%4:!Ga%=0
�%ș262336,310,!Ea%,Fa$,Ga%�Ha%,Ia%
�(�Ha%<310��1,"Window Manager too old"
�Ja%=0:Ka%=0
�p_%=�La(z`$+".!windows")
��p_%>0�
�Ja%=��#p_%:Ka%=��#p_%
��
��Ma(p_%)
�#�q%&400,Na%&200,Oa%&100,Pa%&100
�ș262361,,_`$+".Templates"
�Qa%=�Ra("Info")
�Sa%=�Ra("Status")
Ta%=�Ra("txtwin")
Ua%=�Ra("config")
Va%=�Ra("message")
Wa%=�Ra("input")
*Xa%=�Ra("yesno")
4ș262362
>4�Ya(Qa%,4,"0.33 (17-Feb-1995)"):�Za("$ver","33")
Haa$="nodev":ba%=�ca(aa$,-1)
R$�ba%=0��0,"Couldn't create icon"
\$M%=%10000001100000110000:da%=-20
fș66�ea%:fa%=ea%
pga%=fa%:ha%=fa%:�ia:�ja("")
z�
�ݤRa(A$)
��b%,i%,s%,ka%,la%,h%
�#ș262363,,-1,0,0,-1,A$,0�,b%,i%
�!s%=�ma(ka%,b%,"TBUF"):�la% i%
�$ș262363,,ka%,la%,la%+i%,-1,A$,0
��A$="message"�na%=ka%!72
�!�A$="Status"��oa(ka%,Ja%,Ka%)
�'ka%!64=Ca%:ș262337,,ka%�h%:�pa(s%)
�=h%
���oa(q%,x%,y%)
�
�w%,h%
�x%>0�
w%=q%!8-!q%:h%=q%!12-q%!4
!q%=x%:q%!8=x%+w%
$q%!4=y%:q%!12=y%+h%
.�
8�
VݤDa(A$)
`�s%,f%,n%,r%:r%=0
jș131080,17,A$�A%,,,,S%
t!ș131118,&108,Ca%�,,s%,n%,,f%
~�A%=1�S%<=(s%-f%)�
�#ș131118,&10B+(n%=0),Ca%,A$�;F%
��(F%�1)=0�r%=s%-f%-S%
��
�=r%
�ݤqa
�&�s%,f%:ș131118,&108,Ca%�,,s%,,,f%
�
=s%-f%
�ݤca(A$,n%)
��Z%,ra%,w%,h%
1ș46,&100+40,Ca%,A$�,,,w%,h%:�w%>200�h%>70�=0
�n%<0�
!Oa%=-1:ra%=0
(�sa%12:$sa%=A$:Oa%!24=sa%
2�
<ra%=ba%
F#�Z%=0�n%:�P`%(Z%)>0�ra%=P`%(Z%)
P
�:!Oa%=-3
d�Oa%!24 12:$(Oa%!24)=A$
n�
x7Oa%!4=0:Oa%!8=0:Oa%!12=w%*2:Oa%!16=100:Oa%!20=&3102
�Oa%!28=Ca%:Oa%!32=11
�ș262338,ra%,Oa%�ca%
�=ca%
���ia
��ta$
��l_%=��
�ta$="nodev"
��
��(�d(9,ua%,0,0)�8)=0�
�
ta$="dev"
��
.�aa$="online1"�ta$="online2"�ta$="online1"
�
�
"ha%=fa%
,�sa%>0�ta$<>aa$�
6�va(aa$,ta$)
@aa$=ta$
J"ș131118,&118,Ca%,ta$�,,wa%;F%
T�(F%�1)=0�
^+$sa%=ta$:!q%=-1:q%!4=ba%:q%!8=0:q%!12=0
hș262349,,q%
r�
|�
��
���va(A$,B$)
� ȎB$�
�O�"nodev":�A$="online1"�A$="online2"�A$="dev"��xa(�$+": offline after "+r_$)
�E�"online1":�A$<>"online2"��xa(�$+": online to "+Ba$):ya%=fa%:��za
��"online2":�za
��
��
���za
�T%
T%=�(fa%-ya%)�100
r_$=�"0"+�(T%�3600),2)+":"
&"r_$+=�"0"+�((T%�60)�60),2)+":"
0r_$+=�"0"+�(T%�60),2)
:�_a(Sa%,8,r_$)
D�
b��xa(A$)
lp_%=�`a(x`$+".logfile")
v)�p_%<>0��#p_%=�#p_%:�#p_%,A$:�Ma(p_%)
��
�
��Ab(Bb%)
�ș66�fa%
��Bb%>=0�ea%-fa%<Bb%�
�ea%=fa%
��
�ș262369,M%,q%,fa%+Bb%�R%
��l_%�J%=�d(19,ua%,0,0)
� ȎR%�
��1:�Cb(!q%)
�7�2:�Db(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28)
�3:�Eb(!q%)
%�6:�Fb(!q%,q%!4,q%!8,q%!12,q%!16)
�8:�Gb(!q%,q%!4,q%!24)
�9:�Hb:�Ib(q%)
*�17,18:�Jb(q%)
4�
> �R%=0
H�fa%>ha%+100��ia:�Kb:�Lb
R�fa%>ga%+500��Mb:�Nb
\�s`%>0�fa%>w`%+500��Ob("")
f�
p�
���Gb(w%,i%,k%)
��l%
��w%=Ta%�i%=Pb%�
� Ȏk%�
�'�13:�l%=10�1�-1:I`$(l%)=I`$(l%-1):�
�*I`$(0)=�Qb(w%,i%):�Rb(I`$(0),0):I`%=-1
�'�_a(w%,i%,""):ș262354,w%,i%,,,-1,0
� �&18F:�I`%<10�I`$(I`%+1)>""�
�I`%+=1:�_a(w%,i%,I`$(I`%))
�!ș262354,w%,i%,,,-1,�I`$(I`%)
��
��&18E:�I`%>0�
�I`%-=1:�_a(w%,i%,I`$(I`%))
!ș262354,w%,i%,,,-1,�I`$(I`%)
�
.I`%=-1:�_a(w%,i%,""):ș262354,w%,i%,,,-1,0
$�
.:ș262364,q%!24
8�
B�
L�w%=Wa%�i%=1�k%=13�
V"Wa$=�Qb(w%,i%):�Wa$=""�Wa$=" "
`�
jș262364,q%!24
t�
~�
��
���Jb(q%)
��Z%,h%,i%,t%,f$,Sb%,a%,A$
�Ȏq%!16�
��0:�Tb:�
�2�1:q%!16=2:q%!36=-1:$(q%+44)="<Wimp$Scrap>"+�0
�"q%!12=q%!8:ș262375,17,q%,q%!4
�/�3:i%=q%!24:h%=q%!20:t%=q%!40:f$=�Ub(q%+44)
�q%!16=4:ș262375,17,q%,q%!4
� Ȏh%�
��Ua%:�t%=&FFF�
�i%=4�_a(Ua%,4,f$)
�
�M_(f$)
�
(�Sa%:�t%=&FFF��M_(f$)
2�-1,-2:�t%=&FFF�i%=ba%�
<�M_(f$)
F�
P
�Z%=0�N`%
Z(�i%=P`%(Z%)�O`$(Z%)>""��O`(Z%,f$,t%)
d�
n�
x�
�Z%=�Vb("<Wimp$Scrap>")
��11:�l_%�q%!4<>Ia%��Wb
��12:�q%!4<>Ia%�
�,�Y_("Device claim failed",�Ub(q%+28),"")
��Xb(Sa%):l_%=�
��
��&502:A$=�Yb(q%!32,q%!36)
��A$>""�
�;q%!16=&503:q%!12=q%!8:$(q%+20)=A$:q%?(20+�A$)=0:!q%=256
�ș262375,17,q%,q%!4
��
��&400C2:�j_%<>0�
��V`%(j_%)=0�
1V`%(j_%)=q%!4:�Zb(�ab("TaskStart2",U`$(j_%)))
�
j_%=0
"�
,�&400C3
6
�l%=0�S`%
@�V`%(l%)=q%!4�
J(V`%(l%)=0:�T`$(l%)>""��Rb(T`$(l%),3)
T�
^�
h�bb
r�&808C1
|Sb%=0:cb%=q%!20-1
�%ȕa`%(Sb%)<>q%!4�Sb%<W`%:Sb%+=1:�
��b`%(Sb%)=0�
�#�Z%=0�cb%�4:a_%!Z%=q%!(24+Z%):�
��db(Sb%,a_%,cb%)
��
�%�Z%=0�cb%:�#b`%(Sb%),q%!(24+Z%):�
��
��&808C2
�!�q%!20>=Ia%�q%!20<=(Ia%+W`%)�
�<a`%(q%!20-Ia%)=q%!4:�Zb("Task started: "+Y`$(q%!20-Ia%))
��
��&808C3
�+Sb%=0:ȕq%!4<>a`%(Sb%)�Sb%<W`%:Sb%+=1:�
�q%!4=a`%(Sb%)�
�Zb(�ab("TaskEnd",Y`$(Sb%)))
�g`%(Sb%)=0�
&a`%(Sb%)=0:�Eb(d`%(Sb%))
0�
:1a`%(Sb%)=-1:$h`%(Sb%)=Y`$(Sb%)+�Q_("TaskFin")
D�eb(d`%(Sb%))
N�
X(Y`$(Sb%)="":�Ma(b`%(Sb%)):b`%(Sb%)=0
b �X`$(Sb%)>""��Rb(X`$(Sb%),4)
l�
v�
��
�ݤYb(w%,i%)
�
�A$,l%
�A$="Hgeneric":Ȏw%�
��Ta%:A$="Htext"
��Sa%:A$="Hstatus":Ȏi%�
��1,2:A$="Haction"
��3:A$="Hip"
��4:A$="Hstop"
��5:A$="Hpause"
��6,7:A$="Hmenus"
��8:A$="Htime"
�10:A$="Hmodem"
�
$�Va%:A$="Hmess":�h_%�A$="Hmess2"
�Wa%:A$="Henter"
*�Xa%:A$="Hyesno"
4�Qa%:A$="Hinfo"
>�Ua%:A$="Hconfig"
H&:�l%=0�W`%:�w%=d`%(l%)�A$="Htask"
R�
\�
f=�Q_(A$)
z��Tb
��l%
��l_%<>0�
�J%=�d(8,ua%,0,0)
�J%=�d(18,ua%,0,0)
��
��fb("")
��Ma(p_%):�Ma(q_%)
��l%=0�W`%:�Ma(b`%(l%)):�
��l%=0�m`%:�Ma(n`%(l%)):�
��gb
��
�
��Ma(�C%)
�C%<>0�ș131085,0,C%:C%=0
�
$��Hb
.ș262351,,Pa%
8*hb%=!Pa%:ib%=Pa%!4:b%=Pa%!8:jb%=Pa%!12
Bla%=Pa%!16:kb%=Pa%!20
L�
`��Fb(hb%,ib%,b%,w%,i%)
j�Z%
t Ȏb%�
~�2
� Ȏw%�
��-2:�i%=ba%�
�
�lb(�)
��
�
�Z%=0�N`%
�H�i%=P`%(Z%)�Q`$(Z%,0)>""��mb(102,�nb(Q`$(Z%,0),Q`$(Z%,1)),R`$(Z%),�)
��
��
��Ta%:ș6,121,(1�&80)�,Z%
�
�Z%=0�
�T�mb(101,"Alarm list,Menu list,Var list,Task list,|Script list,Quit","Control",0)
��
<�mb(101,"DbgLev 0,DbgLev 1,DbgLev 2,DbgLev 3","Debug",0)
�
�Sa%
Ȏi%�
(;�7:�`_$(0)>""��mb(102,�nb(`_$(0),`_$(1)),"User menu",�)
2:�lb(0)
<�
F:�lb(0)
P�
Z�1,4
d Ȏw%�
n�Sa%
x Ȏi%�
��5
�
�h_%�
��Y_("",�Q_("PauseP"),"")
�h_%=�:�Rb("pause",0)
��
��ob
��
��4
�%i_%=�:�Y_("",�Q_("StopP"),""):�i_
�;�6:�`_$(0)>""��mb(102,�nb(`_$(0),`_$(1)),"User menu",�)
�=�11:�Qb(Sa%,i%)="Redial"�e_%=�:�Y_("",�Q_("RedialP"),"")
��
��Ua%
�i%=6��pb:�Eb(Ua%)
�Xa%
�i%=0�qb%=2
"�i%=1�qb%=1
,�Ta%
6%ș262354,w%,Pb%,,,-1,��Qb(w%,Pb%)
@�-2
J�i%=ba%�
T�b%=4��Xb(Sa%)��Xb(Ta%)
^�
h
�Z%=0�N`%
r)�i%=P`%(Z%)�P`$(Z%)>""��Rb(P`$(Z%),6)
|�
��
��
��
��
���lb(i%)
�>�mb(101,">Info,Choices...,|Control...,Quit","SLIPdial",i%)
��
�
��rb(Va$)
�"sb%=0:u_%()=0:k`$()="":k`%()=�
��tb$>""��Rb(tb$,0):tb$="":�
�-�ub(""""+�vb("Escript",�O_%,Va$)+""""):�7
�Y_("",�Q_("StopE"),"")
O_%=0:X_%=�:�Z_
�
0��Wa(A$)
:�v$,p$:p$="Input:"
D�B$=�wb(A$):Wa$=""
N�B$,1)="/"�
XC$=�xb(B$):Ȏ�B$,2)�
b�"pr":p$=�C$,40)
l�
v�
�%v$=B$:�_a(Wa%,1,""):�_a(Wa%,0,p$)
�"�Xb(Wa%):ș262354,Wa%,1,,,-1,0
� ��Ab(50):�Wa$>"":p$="Input:"
��Wa$=" "�Wa$=""
��Za(v$,Wa$)
��
�
�A$=""
��Eb(Wa%)
��
���ub(A$)
�
�w%,n%,t$
�t$=�Q_("Message"):v`%=�
w%=0:n%=0
�B$=�wb(A$)
�B$,1)="/"�
C$=�xb(B$):Ȏ�B$,2)�
*�"cl":�Eb(Va%)
4�"wa":w%=�
>�"ti":t$=C$
H�"ca":s`$=C$:t`$=""
R(u`%=r`%:s`%=1:w`%=fa%:�n%=0�yb$()=""
\�"ce":v`%=�
f�"en":t`$=C$
p�"ma":u`%=�C$
z�"ad":n%+=1
��"na","id"
��
��
��B$>""�n%=0�yb$()=""
��B$>""��Ob(B$):n%+=1
��
��B$=""�n%>r`%
�$na%=t$:�eb(Va%)
�
�n%>0�
��Ob("")
��
��w%��Rb("pause",0)
��
��Ob(A$)
�l%,w%,t$:l%=-1:w%=0
$$�l%+=1:t$=yb$(l%):�t$>w%�w%=�t$
.�t$=""�l%=r`%:w`%=fa%
8�A$>""�
B)�l%=r`%��l%=1�r`%:yb$(l%-1)=yb$(l%):�
Lyb$(l%)=A$
V�
`�l%>0��zb(l%,w%)
j�
t�
���zb(y%,x%)
��o%
�2!a_%=0:a_%!4=-y%*32-32:a_%!8=x%*16+10:a_%!12=0
�ș262359,Va%,a_%
�+!q%=Va%:ș262347,,q%:o%=(q%!32)�(1<<16)
�+q%!12=q%!4+x%*16+10:q%!16=q%!8+y%*32+32
�)q%!20=0:q%!24=0:q%!28=-1:ș262341,,q%
�!�o%=0��_b(Va%,0,150)��Xb(Va%)
�'!q%=Va%:ș262347,,q%:`b%=q%!12-q%!4
��Ac(0,-y%*32-32,`b%,0)
��
��Bc(A$)
�s`%=1��A$,s`$)>0�s`%=2
�s`%=2�
u`%-=1:�Ob(A$)
(,�u`%<1�(t`$>""��A$,t`$)>0)�s`%=0:�Ob("")
2�
<�
P��Z_
Z"h_%=�:�_a(Sa%,5,�Q_("Resume"))
d�Y_("",�Q_("Paused"),"")
n��Ab(30):�h_%=�
x�
���ob
�-h_%=�:i_%=�:X_%=�:�_a(Sa%,5,�Q_("Pause"))
��Y_(""," ","")
��
���i_
�(sb%=0:u_%()=0:k`$()="":k`%()=�:s`%=0
�>�O_%>0�i_$<>""��Rb(i_$,0):i_$="":��Rb("pause",0):O_%=0:�Cc
��
���mb(jb%,Dc$,Ec$,I%)
��i%,Fc$,Gc%,Hc%
�Dc$=""��
Gc%=0
Ic%=jb%
"Hc%=Na%
,i%=0
6
Hc%!20=44
@$Hc%=Ec$
J(Hc%?12=7:Hc%?13=2:Hc%?14=&7:Hc%?15=0
THc%!16=230-24:Hc%!24=0
^Hc%+=28
h�
r'Fc$=�Jc(Dc$,",",i%):�Kc(Fc$):Gc%+=1
|�Fc$=""
�Hc%!-24=(Hc%!-24)�&80
�#�I%<>0�Y%=120+(Gc%-1)*44�Y%=ib%
�ș262356,,Na%,hb%-64,Y%
��
�
��Kc(Lc$)
��Mc$
��Lc$>""�
�
!Hc%=0
�#�Lc$,1)="|"�Lc$=�Lc$,2):!Hc%=2
�Mc$=�Lc$,1):Hc%!4=-1
��Mc$=">"�Hc%!4=Qa%
�Hc%!8=&07000021
4�Mc$=">"�Mc$="<"�$(Hc%+12)=�Lc$,2)�$(Hc%+12)=Lc$
Hc%+=24
�
&�
:ݤJc(Dc$,Nc$,�i%)
D�Oc%
N!Oc%=i%+1:i%=�Dc$+Nc$,Nc$,Oc%)
X=�Dc$,Oc%,i%-Oc%)
l
��Ib(Qc%)
v�A$
�(�l%:ș262357,,Na%,Qc%,�20," ")�,,,A$
� ȎA$�
��"Choices...":�Xb(Ua%)
��"Control...":�Xb(Ta%)
��"Quit":�Tb:�
��"Alarm list":�Rc
��"Menu list":�Sc
��"Task list":�Tc
��"Var list":�Uc
��"Script list":�Vc("")
��"DbgLev 0":n_%=0
��"DbgLev 1":n_%=1
��"DbgLev 2":n_%=2
�"DbgLev 3":n_%=3
:�__%>0�
�l%=1�__%
�A$=__$(l%,0)�
*�_a(Sa%,7,__$(l%,0))
4�Rb(__$(l%,1),8)
>�
H�
R�
\�
f�
z��F_
�4!Pa%=�:$(Pa%+4)=�$+" (internal code "+Þ+")."+�0
�ș262367,Pa%,1,Fa$:�Tb
��
���Xb(h%)
�!q%=h%:ș262347,,q%
�q%!28=-1:ș262341,,q%
�-�h%=Ta%�ș262354,h%,Pb%,,,-1,��Qb(h%,Pb%)
��
���_b(h%,Wc%,Xc%)
��x%,y%,Yc%,Zc%,ac%,bc%
��Aa%=0�h%=Sa%�
�Xb(h%)
�
#ș53,-1,4�,,ac%:ș53,-1,11�,,x%
$#ș53,-1,5�,,bc%:ș53,-1,12�,,y%
.!q%=h%:ș262347,,q%
87x%=x%<<ac%:y%=y%<<bc%:Yc%=q%!12-q%!4:Zc%=q%!16-q%!8
BIq%!4=(x%-Yc%)�2-Wc%:q%!12=q%!4+Yc%:q%!8=(y%-Zc%)�2-Xc%:q%!16=q%!8+Zc%
L)q%!20=0:q%!24=0:q%!28=-1:ș262341,,q%
V�
`�
t��eb(h%)
~!q%=h%:ș262368,,q%
�)ș262353,-1,q%!4,q%!16-44,q%!12,q%!16
��
�ݤQb(H%,I%)
�!q%=H%:q%!4=I%:ș262350,,q%
�=�Ub(q%!28)
���Ya(H%,I%,A$)
�#!q%=H%:q%!4=I%:ș393422,,q%�;F%
�'�cc(F%)�q%!28>&8800�$(q%!28)=A$+�0
��
��_a(H%,I%,A$)
/�Ya(H%,I%,A$):!q%=H%:q%!4=I%:q%!8=0:q%!12=0
ș262349,,q%
�
2��dc(H%,I%,S%)
<=S%=�(S%=0):!q%=H%:q%!4=I%:q%!8=((1)<<21)*S%:q%!12=(1<<21)
Fș262349,,q%
P�
dݤec(H%,I%)
n!q%=H%:q%!4=I%:ș262350,,q%
x$=�(((q%!24)�(1<<21))�2097152<>0)
���fc(H%,I%,S%)
�3!q%=H%:q%!4=I%:q%!8=((1)<<22)*�S%:q%!12=(1<<22)
�ș262349,,q%
��
���Y_(a$,b$,c$)
�7�a$>""��_a(Sa%,1,�a$,34)):�a$>1��Zb("Action: "+a$)
�7�b$>""��_a(Sa%,2,�b$,34)):�b$>1��Zb("Status: "+b$)
�7�c$>""��_a(Sa%,3,�c$,34)):�c$>1��Zb("IP add: "+c$)
��
�)��Db(jb%,gc%,hc%,ic%,jc%,kc%,lc%,mc%)
�jb%>-1�
q%!0=jb%:q%!28=mc%
)q%!4=gc%:q%!8=hc%:q%!12=ic%:q%!16=jc%
"q%!20=kc%:q%!24=lc%
,ș262341,,q%
6�
@�
T��Eb(h%)
^�L%
h Ȏh%�
r�Va%:�h_%��ob
|�Wa%:Wa$=" "
�
�
�L%=0�W`%
��h%=d`%(L%)�a`%(L%)>0�
�!�7:�Xa(�Q_("TaskKill"),3)=2�
��nc(Y`$(L%),&808C4)
��
�h%=0
��
�
L%=W`%
��
��
��
��h%>0�!q%=h%:ș262342,,q%
�
ݤoc(A$)
&�d%,r%,qc%:d%=60:r%=0:qc%=1
0�B$=�wb(A$)
:�B$,1)="/"�
DC$=�xb(B$):Ȏ�B$,3)�
N�"del":d%=�C$:�d%<5�d%=5
X'�"def":C$=�rc(C$):�C$,1)="y"�qc%=2
b�
l�
vr%=�Xa(B$,d%)
��
�
�A$=""
��r%=0�r%=qc%
�=-(r%=2)
�ݤXa(A$,sc%)
�/�tc%:tc%=fa%:sc%=sc%*100:�_a(Xa%,2,�A$,57))
�!�_b(Xa%,0,0):�sc%=0�sc%=60000
�&qb%=0:�:�Ab(50):�qb%>0�fa%-tc%>sc%
��Eb(Xa%)
=qb%
ݤy`(A$)
�L%,F%
*#ș131107,A$,a_%,256,0,3�,,L%;F%
4�(F%�1)�L%>256�:=""
>a_%?L%=13:=$a_%
R��Qa(q%)
\;gc%=!q%:hc%=q%!4:ic%=q%!8:jc%=q%!12:kc%=q%!16:lc%=q%!20
f/uc%=gc%-kc%:vc%=jc%-lc%:wc%=q%!28:xc%=q%!36
p�
���Cb(h%)
��Sb%:!q%=h%:Ȏh%�
��Ta%
�ș262344,,q%�yc%
��zc(yc%)
��Va%
�ș262344,,q%�yc%
��_c(yc%)
�
��Sb%=0�W`%:�h%=d`%(Sb%)�
�ș262344,,q%�yc%
��`c(Sb%,yc%)
��
�
�
�
.��K_
8 Ad%=0
B*Bd%=1:�Cd$(J_%),Dd% J_%,yb$(r`%):`b%=0
LCd$()=�I_%�2," "):Ed%=40
V4!a_%=0:a_%!4=-J_%*32-Ed%-8:a_%!8=I_%*16:a_%!12=0
`ș262359,Ta%,a_%
j+�i%=0�1:!a_%=Ta%:a_%!4=i%:ș262350,,a_%
t7a_%!12=a_%!12-J_%*32:a_%!20=a_%!20-J_%*32:a_%!4=Ta%
~ !q%=Ta%:q%!4=i%:ș262340,,q%
�ș262338,,a_%+4�Pb%:�
�Fd%=0:Gd%=0:Hd$="":c`$=""
�'�Y_("Starting SLIPdial","Idle"," ")
� �Id%=0��ec(Ua%,2)=0��Xb(Ta%)
��
���Jd(Sb%,Kd%,T$)
��Ld%:Ld%=(Sb%�4)*40
��d`%(Sb%)=0�
�ș262361,,_`$+".Templates"
�.ș262363,,q%,Md%,Nd%+Od%,-1,"task",0�,,Md%
� h`%(Sb%)=q%!72:q%!44=-i`%*32
;!q%=!q%+Ld%:q%!8=q%!8+Ld%:q%!4=q%!4-Ld%:q%!12=q%!12-Ld%
ș262337,,q%�d`%(Sb%)
ș262362
ȎSb%�
(�0:�Pd$(i`%)
2�1:�Qd$(i`%)
<�2:�Rd$(i`%)
F�3:�Sd$(i`%)
P�4:�Td$(i`%)
Z�5:�Ud$(i`%)
d�6:�Vd$(i`%)
n:�rb(�Q_("Etask1")):�
x�
��
�
ȎSb%�
��0:Pd$()=""
��1:Qd$()=""
��2:Rd$()=""
��3:Sd$()=""
��4:Td$()=""
��5:Ud$()=""
��6:Vd$()=""
��
��
�A$h`%(Sb%)=�ab("TaskRun",T$):c`$(Sb%)="":e`%(Sb%)=0:f`%(Sb%)=0
��Kd%��Xb(d`%(Sb%))
�
��Wd(Xd%,Yd%,Zd%,ad%)
"1!q%=Ta%:q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
,ș262345,,q%�yc%
6�zc(yc%)
@�
T��Ac(Xd%,Yd%,Zd%,ad%)
^1!q%=Va%:q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
hș262345,,q%�yc%
r�_c(yc%)
|�
���bd(Sb%,Xd%,Yd%,Zd%,ad%)
�6!q%=d`%(Sb%):q%!4=Xd%:q%!8=Yd%:q%!12=Zd%:q%!16=ad%
�ș262345,,q%�yc%
��`c(Sb%,yc%)
��
�
��_c(yc%)
� ȕyc%
��Qa(q%+4):�
�-cd%=�(xc%-vc%+16)�32:dd%=�(wc%-vc%+16)�32
�%�dd%>r`%�dd%=r`%:�cd%>dd%�cd%=dd%
�ș262374,7:�L%=cd%�dd%
.�uc%+4-v`%*(`b%�2-�yb$(L%)*8),vc%-L%*32-16
�yb$(L%):�
ș262346,,q%�yc%
&�
0�
D��`c(Sb%,yc%)
N�L%,y%,cd%,dd%:ȕyc%
X�Qa(q%+4):�
b'cd%=�(xc%-vc%)�32:dd%=�(wc%-vc%)�32
l%�dd%>i`%�dd%=i`%:�cd%>dd%�cd%=dd%
vș262374,7:�L%=cd%�dd%
�y%=(L%+f`%(Sb%))�i`%
��uc%+4,vc%-L%*32-4
�
ȎSb%�
��0:�Pd$(y%)
��1:�Qd$(y%)
��2:�Rd$(y%)
��3:�Sd$(y%)
��4:�Td$(y%)
��5:�Ud$(y%)
��6:�Vd$(y%)
��
��
�ș262346,,q%�yc%
!�
!�
!
��zc(yc%)
!*�L%,y%,cd%,dd%:ȕyc%
!4�Qa(q%+4):�
!>'cd%=�(xc%-vc%)�32:dd%=�(wc%-vc%)�32
!H%�dd%>J_%�dd%=J_%:�cd%>dd%�cd%=dd%
!R�L%=cd%�dd%:y%=(L%+Ad%)�J_%
!\-�uc%,vc%-L%*32:ș262374,Dd%?y%:�Cd$(y%):�
!fș262346,,q%�yc%
!p�
!z�
!���ed(A$)
!��Hd$>""��fd
!�
�gd(A$,7)
!��
!���P_(A$)
!��gd(A$,11)
!��
!���fd
!��Hd$>""�
!� �(n_%�2)<>0�o_%<>0��#o_%,Hd$
"�s`%>0��Bc(Hd$)
"�gd(Hd$,5):Hd$=""
"�
"$�
"8ݤhd:�l_%=0�=-1
"BZ%=�d(1,ua%,0,0)
"L�Z%>0�(n_%�2)>0�s`%>0�
"V�Z%>31�Z%<128�Hd$+=�Z%
"`�Z%=13�Z%=10��Hd$>=I_%��fd
"j�
"t=Z%
"���db(Sb%,id%,jd%)
"��l%
"��l%=0�jd%:C%=id%?l%
"��C%>31�C%<128�c`$(Sb%)+=�C%
"��C%=13�C%=10��c`$(Sb%)>78�
"��kd(Sb%,c`$(Sb%))
"�$�H`%=Sb%�H`$(0)>""��H`(c`$(Sb%))
"�c`$(Sb%)=""
"��
"��
"�$�H`%=Sb%�H`$(0)>""��H`(c`$(Sb%))
"��
#
��kd(Sb%,A$)
#
�t%,B$
#-�(n_%�4)<>0�o_%<>0��#o_%,"TW"+�Sb%+">"+A$
#(ȕA$>""
#2t%=(e`%(Sb%)+f`%(Sb%))�i`%
#<B$=�A$,79):A$=�A$,79)
#F
ȎSb%�
#P�0:Pd$(t%)=B$
#Z�1:Qd$(t%)=B$
#d�2:Rd$(t%)=B$
#n�3:Sd$(t%)=B$
#x�4:Td$(t%)=B$
#��5:Ud$(t%)=B$
#��6:Vd$(t%)=B$
#��
#��e`%(Sb%)<i`%�
#�0!q%=d`%(Sb%):ș262347,,q%:f%=(q%!32)�(1<<16)
#�R�e`%(Sb%)>=�(q%!8-q%!16)�32�q%!24=-(e`%(Sb%)*32-�(q%!8-q%!16))-32:ș262341,,q%
#�2�bd(Sb%,0,-e`%(Sb%)*32-32,1280,-e`%(Sb%)*32+4)
#�e`%(Sb%)+=1
#��
#�f`%(Sb%)=(f`%(Sb%)+1)�i`%
#�4ș262379,d`%(Sb%),0,-32*i`%,1280,0,0,-32*(i`%-1)
#�)�bd(Sb%,0,-32*i`%,1280,-32*(i`%-1)+4)
#��
$�
$�
$"��gd(A$,ld%)
$,�t%:�Ab(da%)
$6ȕA$>""
$@t%=(Bd%+Ad%)�J_%
$J Cd$(t%)=�A$,I_%):A$=�A$,I_%)
$TDd%?t%=ld%:�Bd%<J_%�
$^+!q%=Ta%:ș262347,,q%:f%=(q%!32)�(1<<16)
$hN�f%<>0�Bd%>=�(q%!8-q%!16)�32�q%!24=-(Bd%*32-�(q%!8-q%!16))-32:ș262341,,q%
$r$�Wd(0,-Bd%*32-32,1280,-Bd%*32+4)
$|
Bd%+=1
$��
$�Ad%=(Ad%+1)�J_%
$�/ș262379,Ta%,0,-32*J_%,1280,0,0,-32*(J_%-1)
$�%�Wd(0,-32*J_%,1280,-32*(J_%-1)+4)
$��
$��
$��
$���md
$�Cd$()="":Bd%=0:Ad%=0:Hd$=""
$�!�Wd(0,-J_%*32-Ed%-8,16*I_%,0)
$��
%��Zb(m$)
%
�(n_%�1)�
%�ed(m$)
%&�o_%<>0��#o_%,m$
%0�
%:�
%N��fb(A$)
%XB$=�wb(A$)
%b�B$=""�
%l�fd:�Ma(o_%)
%v�
%�B$=�nd(B$)
%�ș131085,&CF,B$�o_%;F%
%�"�(F%�1)�ș131085,&8F,B$�o_%;F%
%�&�(F%�1)�o_%=0:�rb(�Q_("Etrace")):�
%�ș131080,18,B$,&FFF
%��o_%<>0��#o_%=�#o_%
%��
%��
%���od
%��pd%>-1�
%�2!q%=256:q%!12=0:q%!16=11:q%!20=2:q%!24=pd%+ua%
%�$(q%+28)="SLIPdial"+�0
&ș262375,18,q%,0
&l_%=�:�L%=1�5:�Ab(0):�
&�
& �
&4��Wb
&>�pd%>-1�
&H�q%!20=2�q%!24=pd%+ua%�
&R!q%=256:q%!12=q%!8:q%!16=12
&\$(q%+28)=�Q_("DevMine")+�0
&fș262375,17,q%,q%!4
&p�
&z�
&��
&�ݤqd(A$)
&�A%=�A$," "):�A%>=0�
&�b_$=�A$,A%-1)
&�ua%=�(�A$,A%+1))
&��
&�b_$="internal"
&� ua%=0
&��
&��Za("port",b_$+" "+�ua%)
&�"�Y_(�ab("DevLoad",b_$)," ","")
';ș131080,16,"SerialDev:modules."+b_$+".driver",b_,0�;F%
'#�(F%�1)��rb(�ab("Edev",b_$)):=0
'�Y_("",�Q_("DevOK"),"")
'$pd%=b_!&C8
'.=ua%
'B��rd(B$)
'Lsd%=�B$:�sd%=0�sd%=19200
'V�Za("speed",�sd%)
'`�
't��Rb(A$,t%)
'��Zb(�ab("Qadd",A$))
'�L%=0:ȕk`$(L%)>""�L%<j`%
'�L%+=1:�
'�k`$(L%)=A$:l`%(L%)=t%:�
'�ݤS_
'� �t%,l%,A$,n%:l%=0:A$="":n%=0
'�0��k`$(l%)>""�k`%(l`%(l%))=��A$=k`$(l%):n%=l%
'�"l%+=1:�A$>""�k`$(l%)=""�l%=j`%
'��A$>""�
( 6�l%=n%�j`%-1:k`$(l%)=k`$(l%+1):l`%(l%)=l`%(l%+1):�
(
k`$(j`%)=""
(�
(=A$
(2ݤR_
(<�t%,l%,r%:l%=0:r%=0
(F$��k`$(l%)>""�k`%(l`%(l%))=��r%=�
(P"l%+=1:�r%<>0�k`$(l%)=""�l%=j`%
(Z=r%
(n
ݤV_(td$)
(xȕtd$>""�i_%=0:A$=�ud(td$)
(��Ab(da%)
(��Zb(�O_%+": "+A$)
(� B$=�wb(A$):B$=�rc(B$):vd$=B$
(��B$,1)<>":"�
(� ȎB$�
(��"if":U_%=�wd(A$,td$)
(��"ask":U_%=�oc(A$)
(��"case":U_%=�w_(A$)
(��"when":U_%=�xd(A$,td$)
(��"otherwise":�yd(td$)
(��"endcase":U_%=�zd
(��"claim":U_%=�_d(A$)
(��"debug":n_%=�n_(A$)
)�"driver":U_%=�N_(A$)
)�"source":U_%=�`d(A$)
)�"library":U_%=�Ae(A$)
)"�"chain":�Be(A$)
),�"port":ua%=�qd(A$)
)6�"speed":�rd(A$)
)@�"release":�Cc
)J�"init":U_%=�Ce(A$)
)T�"reinit":�De
)^�"dial":U_%=�Ee(A$)
)h�"wait":U_%=�sc(A$)
)r�"trace":�fb(A$)
)|�"send":�Fe(A$)
)��"ipget":U_%=�Ge(A$)
)��"make":�He(A$)
)��"task":U_%=�Ia(A$)
)��"taskwindow":U_%=�Ie(A$)
)��"sleep","pause":�h_(�(A$))
)��"alarm":�K`(A$)
)��"set":�Je(A$)
)��"unset":�Ke(A$)
)�7�"?eq","?ne","?lt","?le","?gt","?ge":U_%=�Le(B$,A$)
)��"string":U_%=�Me(A$)
)��"eval":U_%=�Ne(A$)
)��"label"
)��"goto":�Oe(A$,O_%)
*�"call":�Pe(A$,O_%)
*�"return":U_%=�U_(A$,O_%)
*�"echo":�Qe(A$)
*&�"?file":U_%=�L_(A$)
*0�"?line":U_%=�Re(A$)
*:�"?free":U_%=�Se(A$)
*D�"retry":�Te(A$)
*N�"open":U_%=�Ue(A$)
*X�"close":U_%=�Ve(A$)
*b�"read":U_%=�We(A$)
*l�"write":U_%=�Xe(A$)
*v�"ptr":U_%=�Fd(A$)
*��"move":U_%=�Ye(A$)
*��"copy":U_%=�Ze(A$)
*��"append":U_%=�ae(A$)
*��"delete":U_%=�be(A$)
*��"newsrate":U_%=�ce(A$)
*��"?task":U_%=�de(A$)
*�#�"dopen","dataopen":U_%=�ee(A$)
*�&�"stamp":�Zb("("+�(��100)+") "+A$)
*��"error":�rb(A$)
*��"message":�ub(A$)
*��"menu":�fe(A$)
*��"list":�ge(A$)
*��"icon":U_%=�he(A$)
+ �"analyse","analyze":�ie(A$)
+�"help":�je(A$)
+�"event":�ke(A$)
+ �"stop":�i_
+*�"quit":�le(�Q_("Quit"))
+4�"exit":�me
+>�"input":�Wa(A$)
+H�"oscli":U_%=�ne(A$)
+R:�Zb(�Q_("BadCom"))
+\�
+f�
+p1�U_%<0��Za("$status",U_$)��Za("$status",�U_%)
+z�
+�=U_%
+���Qe(A$)
+��B$,s%:s%=0
+��
+�B$=�wb(A$)
+��B$,1)="/"�
+�
Ȏ�B$,3)�
+��"/st":s%=�
+��"/lo":s%=0
+��"/da":A$=""""+�$+""" "+A$
+��
+��
,�s%�
,�Y_("",B$,"")
,�
,$�ed(B$)
,.�(n_%�3)<>0�o_%<>0��#o_%,B$
,8�
,B�
,L
�A$=""
,V�
,jݤ_d(A$)
,t�J%,t%,d%,oe%
,~�Y_(�Q_("DevClaim")," ","")
,�t%=��wb(A$):�t%<0�t%=pe%
,�d%=��wb(A$):�d%<2�d%=qe%
,� oe%=1
,��
,��od
,��l_%<>0�
,�J%=�d(17,ua%,0,0)
,�'J%=�d(13,ua%,sd%,0):�J%<>sd%�sd%=J%
,�'J%=�d(14,ua%,sd%,0):�J%<>sd%�sd%=J%
,�J%=�d(15,ua%,0,0)
,�J%=�d(16,ua%,1,0)
,�J%=�d(6,ua%,0,0)
- J%=�d(7,ua%,0,0)
-
�
-�h_(d%):�t%>0�oe%+=1
-�
-(�l_%<>0�oe%>t%�i_%<>0
-2=l_%
-F��Cc
-P�J%
-Z �l_%�
-d(�Y_(�Q_("DevRel"),�Q_("DevDrop"),"")
-nJ%=�d(8,ua%,0,0)
-xJ%=�d(18,ua%,0,0)
-� l_%=�
-��
-��
-�ݤCe(A$)
-��B$,h%:h%=0
-��re<>0�
-��Y_(�Q_("DevInit"),"","")
-��A$=""�A$=�se("$init")
-��
-�B$=�wb(A$)
-� �Y_("",�ab("Sending",B$),"")
-�#�Fe(B$):h%=�te("OK","","","",5)
.�A$=""�h%=0
.�
.=h%
.,��De
.6�J%
.@'J%=�d(13,ua%,sd%,0):�J%<>sd%�sd%=J%
.J'J%=�d(14,ua%,sd%,0):�J%<>sd%�sd%=J%
.TJ%=�d(15,ua%,0,0)
.^J%=�d(16,ua%,1,0)
.hJ%=�d(8,ua%,3,0)
.r�
.���Te(A$)
.��B$
.�B$=�wb(A$)
.��B$>0�pe%=�B$
.��A$>2�qe%=�A$
.��
.���ja(A$)
.��_a(Sa%,11,A$)
.��fc(Sa%,11,(A$=""))
.��
.�
ݤEe(ue$)
/$�ve%,r%,d%,we%,xe%,ye%,ze$,B$,C$
/ve%=0:ze$="ATDT"
/&r%=pe%:d%=qe%:we%=d%:xe%=d%:ye%=d%
/&�ja(�Q_("Redial"))
/0�
/:B$=�wb(ue$)
/D�B$,1)="/"�
/NC$=�xb(B$):Ȏ�B$,3)�
/X�"ret":r%=�C$:�r%<1�r%=1
/b�"del":d%=�C$:�d%<2�d%=2
/lwe%=d%:xe%=d%:ye%=d%
/v�"noc":xe%=�C$
/��"nod":we%=�C$
/��"not","pul":ze$="ATDP"
/��"ton","nop":ze$="ATDT"
/��"bus":ye%=�C$
/��
/��
/�_e%=1:ve%=0:Ba$=B$
/��
/�8�Y_(�ab("Dialling",Ba$),�vb("Dattempt",�_e%,�r%),"")
/��Fe(ze$+Ba$):_e%+=1
/�HU_%=�te(�se("$conn"),�se("$busy"),�se("$nocarr"),�se("$nodial"),120)
/��i_%=0�
/��e_%=��
0+A%=�re:ȕ�d(5,ua%,0,0)>0:J%=�hd:�:e_%=�
0�
0
ȎU_%�
0 '�1:�Y_("",�Q_("Dconnect"),""):ve%=1
0*'�2:�Y_("",�Q_("Dbusy"),""):�h_(ye%)
04%�3:�Y_("",�Q_("Dnc"),""):�h_(xe%)
0>%�4:�Y_("",�Q_("Dnd"),""):�h_(we%)
0H%�2,3,4:ȕ�d(5,ua%,0,0)>0:J%=�hd:�
0R"�Y_("",�Q_("Dnr"),""):�h_(d%)
0\�
0f�
0p�
0z
A%=�re
0��
0��_e%>r%�i_%<>0�ve%>0�l_%=0
0�0�ve%=0�ue$>""��Y_(�Q_("Dnext"),"",""):�h_(1)
0��
0��ue$=""�i_%<>0�ve%>0�l_%=0
0��ja("")
0�=ve%
0�ݤsc(A$)
0��l%,m%,d%,s%,U_%,B$,C$,`e%
0�d%=600:H`%=-1:U_%=0
0��B$=�wb(A$):`e%=�
0��B$,1)="/"�
1C$=�xb(B$):`e%=�
1
Ȏ�B$,2)�
1�"ev":U_%=�Af
1$�"de","del":d%=�C$
1.2�"na","id":�l%=0�W`%:�C$=Y`$(l%)�H`%=l%:l%=W`%
18$�:�H`%<0��rb(�Q_("Ebadtask")):=0
1B:�rb(�Q_("Ebadwait")):=0
1L�
1V�
1`
�`e%=�
1j�U_%=0�
1t#�d%=0��rb(�ab("Ebaddel",A$)):=0
1~G`$()="":l%=0:C$="":�
1�*G`$(l%)=B$:C$+=B$+"/":l%+=1:B$=�wb(A$)
1��B$=""�l%=4:C$=�C$,�C$-1)
1�-�Y_(�ab("Wait",C$),�ab("Timeout",�d%),"")
1��H`%<0�
1�+U_%=�te(G`$(0),G`$(1),G`$(2),G`$(3),d%)
1��
1�+U_%=�Bf(G`$(0),G`$(1),G`$(2),G`$(3),d%)
1��
1�K�U_%>0��Y_("",�ab("Received",G`$(U_%-1)),"")��Y_("",�Q_("TimedOut"),"")
1��
1�=U_%
2 ݤAf
2
�_a(Sa%,7,�Q_("Select"))
2�Y_(�Q_("Waiting")," ","")
2��Ab(50):��R_
2(=1
2<��ke(A$)
2F�a%,B$:a%=�
2P�B$=�wb(A$)
2Z
Ȏ�B$,2)�
2d�"/e":a%=�
2n�"/d":a%=�
2x�"ti":k`%(1)=a%
2��"li":k`%(2)=a%
2��"ta":k`%(3)=a%
2��"tw":k`%(4)=a%
2��"in":k`%(5)=a%
2��"ic":k`%(6)=a%
2��"fi":k`%(7)=a%
2��"me":k`%(8)=a%
2��"eo":k`%(9)=a%
2��"al":k`%()=a%
2��
2��A$="":k`%(0)=�
2��
3)ݤBf(H`$(0),H`$(1),H`$(2),H`$(3),sc%)
3�tc%,r%
3"r%=0:Cf%=0:sc%=sc%*100:tc%=fa%
3"�H`(c`$(H`%))
3,)��Ab(50):�Cf%>0��(fa%-tc%)>sc%�i_%<>0
36�Cf%>0�r%=Cf%
3@=r%
3T��H`(A$)
3^�L%
3h�L%=0�3
3r,�H`$(L%)>""��A$,H`$(L%))>0�Cf%=L%+1:L%=3
3|�
3�
H`%=-1
3��
3�ݤte(Df$,Ef$,Ff$,G`$,sc%)
3��ve%,tc%,J%
3�sc%=sc%*100:tc%=fa%
3�'Gf%=�Df$:Hf%=�Ef$:If%=�Ff$:Jf%=�G`$
3�!Kf%=1:Lf%=1:Mf%=1:Nf%=1:ve%=0
3��
3�
J%=�hd
3��J%>-1�
3�2�J%=Gf%�Kf%+=1:Gf%=�(�Df$,Kf%))�Gf%=�Df$:Kf%=1
3�2�J%=Hf%�Lf%+=1:Hf%=�(�Ef$,Lf%))�Hf%=�Ef$:Lf%=1
42�J%=If%�Mf%+=1:If%=�(�Ff$,Mf%))�If%=�Ff$:Mf%=1
42�J%=Jf%�Nf%+=1:Jf%=�(�G`$,Nf%))�Jf%=�G`$:Nf%=1
4�
4&�Ab(10)
40�
4:�Kf%>�Df$�Df$>"":ve%=1
4D�Lf%>�Ef$�Ef$>"":ve%=2
4N�Mf%>�Ff$�Ff$>"":ve%=3
4X�Nf%>�G`$�G`$>"":ve%=4
4b'�ve%>0��(fa%-tc%)>sc%�i_%<>0�e_%<>0
4l�ve%>0�:=ve%
4v=0
4���Fe(A$)
4�%�A%,J%,R%,t$,Sb%,B$,C$:t$="":R%=0
4��B$=�wb(A$)
4��B$,1)="/"�
4�C$=�xb(B$):Ȏ�B$,2)�
4��"ra":R%=�
4��"no":R%=�
4��"na","id":t$=C$
4��
4��
4��t$=""�
4��l_%=0��rb(�Q_("Enodev")):�
5)�A%=1��B$:J%=�d(0,ua%,��B$,A%,1),0):�
5�R%=0�J%=�d(0,ua%,13,0)
5�
5 )Sb%=0:ȕY`$(Sb%)<>t$�Sb%<W`%:Sb%+=1:�
5*�Sb%<W`%�a`%(Sb%)<>0�
54=!q%=256:q%!12=0:q%!16=&808C0:q%!20=�B$-(R%=0):$(q%+24)=B$
5>ș262375,17,q%,a`%(Sb%)
5H*�Zb(�vb("TaskSend",�B$,100),Y`$(Sb%)))
5R�
5\�
5f�
5p
�A$=""
5z�
5�ݤGe(A$)
5�"�r%,Of$,d%,a%,Pf%,Qf%,B$,C$,J%
5�r%=0:d%=60:a%=0
5��B$=�wb(A$)
5��B$,1)="/"�
5�C$=�xb(B$):Ȏ�B$,2)�
5��"de":d%=�C$:�d%<10�d%=10
5��"au":a%=�
5��
5��
5�
Of$=B$
5��
6
�A$=""
6
�a%=0�
6r%=�te(Of$,"","","",d%)
6$�
6.$Of$="":Pf%=0:r%=0:Qf%=fa%+d%*100
68�
6B
J%=�hd
6L
�J%>0�
6V
ȎPf%�
6`5�0,1,2:�J%>47�J%<57�Of$+=�J%:Pf%+=1:�Of$="":Pf%=0
6j+�3:�J%=46�Of$+=".":Pf%+=1:�Of$="":Pf%=0
6t�
6~�
6��Ab(da%)
6��
6��Pf%=4�fa%>Qf%:�Pf%=4�r%=1
6��
6�
�r%=1�
6�Rf$=Of$
6�
J%=�hd
6�ȕ(J%>32�J%=0)��Rf$<20
6�(�J%>31�Rf$=Rf$+�J%:�Ab(da%):��Ab(10)
6�
J%=�hd
6��
7 C%=�(�Rf$,1))
7
ȕ(C%<48�C%>57)��Rf$>5
7Rf$=�Rf$,�(Rf$)-1)
7C%=�(�Rf$,1))
7(�
72�Za("ipaddress",Rf$)
7<*�Za("route",�Sf("%ip1.%ip2.%ip3.254"))
7FU_$=Rf$:r%=-1:A$=""
7P�
7Z=r%
7n��Tf(A$)
7x
�l%,m%
7�$l%=�A$,"."):�Za("ip1",�A$,l%-1))
7�1m%=�A$,".",l%+1):�Za("ip2",�A$,l%+1,m%-l%-1))
7�1l%=�A$,".",m%+1):�Za("ip3",�A$,m%+1,l%-m%-1))
7��Za("ip4",�A$,l%+1))
7��Y_("","",A$)
7��
7�
��He(ta$)
7�A%=�ta$," ")
7�#�A%<=1��le(�ab("Ebadmake",ta$))
7�!`d$=�ta$,A%-1):Uf$=�ta$,A%+1)
7��Y_(�ab("Make",Uf$),"","")
7��`d$="-"�`d$="null:"
8p_%=�La(`d$)
8&�p_%=0��rb(�ab("Enotfound",`d$)):�
8q_%=�Vf(Uf$)
8"%�q_%=0��rb(�ab("Ebadfile",Uf$)):�
8,"ȕ(�#p_%=����T_(O_%+1),1)="+")
86��#p_%�
8@O_%+=1:A$=��T_(O_%),2)
8J�
8TA$=�#p_%
8^�
8hA$=�Sf(A$)
8r�A$,1)<>"#"��#q_%,A$
8|�Ab(da%)
8��
8��Ma(p_%):�Ma(q_%)
8��
8�ݤLa(f$)
8�=�Wf(f$,&4F)
8�ݤVf(f$)
8�=�Wf(f$,&8F):�Xf(f$,&FFF)
8�ݤ`a(f$)
8��h%
8�h%=�Wf(f$,&CF)
9%�h%=0�h%=�Wf(f$,&8F):�Xf(f$,&FFF)
9=h%
9&ݤWf(f$,r%)
90
�h%,F%
9:ș131085,r%,f$�h%;F%
9D�(F%�1)�h%=0
9N=h%
9bݤVb(f$)
9l�F%:ș131080,6,f$�;F%
9v=(F%�1)
9���Xf(f$,t%)
9�ș131080,18,f$,t%
9��
9�
��h_(sc%)
9��Yf%
9��sc%=0�
9��Z_
9��
9��Zb(�ab("Wait",�sc%+"s"))
9��Ab(0):tc%=fa%:sc%=sc%*100
9��
:�Ab(50)
:��(tc%-fa%)>sc%
:�
: �
:4��Lb
:>
�l%,m%
:H?q%=3:ș7,14,q%
:R2ș193,q%,a_%,256,"%24%MI%SE"�l%,m%:Zf$=�Ub(l%)
:\-�Za("$time",Zf$):�Za("$mtime",�(fa%�100))
:f�
:z��Nb
:�
�l%,m%
:�?q%=3:ș7,14,q%
:�2ș193,q%,a_%,256,"%YR%MN%DY"�l%,m%:Zf$=�Ub(l%)
:��Za("$date",Zf$)
:��
:���K`(A$)
:��af%,a$,bf%,cf%,df%,B$,C$
:�bf%=-1:af%=-1:df%=-1:a$=A$
:��B$=�wb(A$)
:��B$,1)="/"�
:�C$=�xb(B$)
:�
Ȏ�B$,2)�
;�"st":i_$=C$
;�"er":tb$=C$
;%�"dt","cts":y_%(0)=�cc(�C$):af%=0
;$�"ds":y_%(1)=�cc(�C$):af%=1
;.�"rn":y_%(2)=�cc(�C$):af%=2
;8�"dc":y_%(3)=�cc(�C$):af%=3
;B�"ti":cf%=�ef(C$)
;L�"ic":df%=�ff(C$)
;V&�"na","id":bf%=�gf(C$):M`$(bf%)=C$
;`�"ca","de":�hf(C$)
;j�
;t�
;~
�A$=""
;��cf%>0�
;��bf%<0�bf%=�gf("~")
;�,K`$(bf%,0)=B$:K`$(bf%,1)=a$:L`%(bf%)=cf%
;��
;��af%>=0�y_$(af%)=B$
;��df%>=0�O`$(df%)=B$
;��
;��
;�ݤgf(A$)
;��a%:a%=0
;�*�a%+=1:�K`$(a%,0)=""�M`$(a%)=A$�a%=J`%
<