Home » CEEFAX disks » telesoftware14.adl » 24-02-89/SatLoad

24-02-89/SatLoad

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 » CEEFAX disks » telesoftware14.adl
Filename: 24-02-89/SatLoad
Read OK:
File size: 1CCB bytes
Load address: FFFF0E00
Exec address: FFFF802B
File contents
   10REM"�SATload
   20:
   30REM"�(C) Jeremy Brayshaw
   40REM"�September 1988
   50REM"�V.3.40  Feb 89
   60REM"�For use with ATS & ATS+
   70:
   80DIM space 20,name 12,line 15
   90ON ERROR PROCend(ERR)
  100backcol$=CHR$135
  110namecol1$=CHR$132
  120namecol2$=CHR$134
  130commcol1$=CHR$129
  140commcol2$=CHR$135
  150MODE7:H%=HIMEM:HIMEM=&5000
  160A%=&EA:X%=0:Y%=-1:IF(USR(&FFF4)AND&FFFF)DIV&100:PROCtubeon:END
  170VDU23,1,0;0;0;0;
  180*TTXON
  190*BBC2
  200*HON
  210PROCmove_oshwm
  220DIMpage%(40),fname$(40),comment$(40),mag%(40),D(5),flag%(40),available%(40)
  230useable%=0
  240unit$=FNwhich_unit
  250PROCheading(2,"File:�Satellite Image Catalogue"+CHR$10+CHR$13+"      �(�L�for Latest file )")
  260PRINTTAB(2,0);"TSDP"
  270m%=FNgetlink
  280PROCfindcat(m%,p%,4)
  290REM"�Trap incorrect Main Page link:
  300IFM%>7 ORN%>&FE PROCheading(1,"�Error�- No Catalogue defined"):PROCend(-1)
  310PROCfindcat(M%,N%,4)
  320REM"�Trap incorrect Cat Page link:
  330IFM%>7 ORN%>&FE PROCheading(1,"�Error�- No Catalogue"):PROCend(-1)
  340PRINTTAB(2,0);"P";STR$(M%);RIGHT$("00"+STR$~(N%),2)
  350IF(INKEY(0)AND&DF)=ASC"L" PROClatest:ELSEPRINTTAB(1,18)SPC(30)
  360*FX21
  370PROCdownload(M%,N%,"",0,0,FALSE,TRUE)
  380PROCinterpret
  390IFZ%=0 MODE7:PROCheading(1,"�No satellite images available")
  400MODE7:VDU23,1,0;0;0;0;:W%=FNselect
  410MODE7:VDU23,1,0;0;0;0;
  420IFNOTavailable%(W%):PROCheading(1,CHR$127+CHR$151+STRING$(39,",")+CHR$129+CHR$157+CHR$135+"Selected file is unavailable"+CHR$10+CHR$13+CHR$129+CHR$157+CHR$135+"Press SPACE for another selection"+CHR$10+CHR$13+CHR$151+STRING$(39,","))
  430IFNOTavailable%(W%):REPEAT:UNTILGET=32:GOTO400
  440PROCheading(2,"File:�"+fname$(W%)+CHR$10+CHR$13+" "+comment$(W%))
  450PRINTTAB(2,0);"P";mag%(W%);RIGHT$("00"+STR$~(page%(W%)),2)
  460PROCdownload(mag%(W%),page%(W%),fname$(W%),0,0,TRUE,TRUE)
  470REM PROCdownload(mag%,page%,fname$,load%,exec%,file%,reset%)
  480MODE7
  490RUN
  500:
  510DEFPROCmove_oshwm
  520S%=&5000
  530A%=&B4:X%=S%DIV256:Y%=0:CALL&FFF4
  540ENDPROC
  550:
  560DEFPROCdownload(magazine%,page%,filename$,load%,exec%,save%,reset%)
  570PROCoscli("MAGAZINE "+STR$(magazine%))
  580space?0=24
  590space?1=name MOD256:space?2=name DIV256
  600$name=filename$
  610FORf%=name TO name+LEN(filename$)
  620IF?f%>96 AND?f%<123 ?f%=(?f%)AND&DF
  630NEXT
  640space!3=load%
  650space!7=exec%
  660space?11=magazine%
  670space?12=page%
  680IFsave%=TRUE space?13=1 ELSE space?13=0
  690IFreset%=TRUE space?14=0 ELSE space?14=1
  700A%=&7A:X%=space MOD256:Y%=space DIV256
  710CALL&FFF1
  720ENDPROC
  730:
  740DEFPROCoscli(text$)
  750$line=text$:X%=line MOD256:Y%=line DIV256
  760CALL&FFF7
  770ENDPROC
  780:
  790DEFPROCheading(mark%,fname$)
  800CLS:IFmark%=1 GOTO820
  810IFunit$="GIS" PRINT'CHR$151+STRING$(39,",")+CHR$132+CHR$157+CHR$131+"Met. Office Satellite Image Data"'CHR$151+STRING$(39,","):GOTO870
  820PRINT'"��������������������������������������"
  830PRINT"���������������� Met Office and�������"
  840PRINT"����������������BBC Telesoftware������"
  850PRINT"����������������Satellite Images������"
  860PRINT"�����������������������||�������������"
  870PRINTTAB(1,17)fname$
  880ENDPROC
  890:
  900DEFPROCreturn_oshwm
  910A%=&B4:X%=PAGE DIV256:Y%=0:CALL&FFF4
  920ENDPROC
  930:
  940DEFPROCinterpret
  950st%=S%
  960Z%=0:REPEAT
  970REM"�filename:
  980len%=?st%
  990IFlen%=&FF GOTO1200
 1000T%=?(st%+len%+1):?(st%+len%+1)=13:fnam$=$(st%+1):?(st%+len%+1)=T%
 1010st%=st%+len%+1
 1020IFLEFT$(fnam$,1)="*" use%=FALSE:report%=FALSE:ELSE use%=TRUE:report%=TRUE
 1030REM"�comment:
 1040len%=?st%
 1050IFlen%=0 com$="":GOTO1090
 1060FORf%=st%TOst%+len%:?f%=(?f%)OR&80
 1070NEXT
 1080T%=?(st%+len%+1):?(st%+len%+1)=13:com$=$(st%+1):?(st%+len%+1)=T%
 1090st%=st%+len%+1
 1100REM"�Mag:
 1110mag%=?st%
 1120IFmag%<0 ORmag%>7 use%=FALSE
 1130st%=st%+1
 1140REM"�page:
 1150pag%=?st%
 1160st%=st%+1
 1170REM"�TEST FOR DOWNLOADING:
 1180IFreport%:Z%=Z%+1:fname$(Z%)=fnam$:comment$(Z%)=com$:mag%(Z%)=mag%:page%(Z%)=pag%:flag%(Z%)=TRUE:available%(Z%)=use%
 1190IF use%:useable%=useable%+1
 1200UNTILlen%=&FF
 1210ENDPROC
 1220:
 1230DEFFNgetlink
 1240REPEAT
 1250A%=TIME:REPEAT:UNTILTIME>A%+200
 1260space?0=15:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1270UNTIL ((space?1)*100)+space?2<999
 1280p%=space?2
 1290=space?1
 1300:
 1310DEFPROCfindcat(mag%,pag%,link%)
 1320look$=STR$~(mag%)+RIGHT$("00"+STR$~(pag%),2)
 1330PRINTTAB(2,0)"P";look$
 1340PROCoscli("PAGE "+look$)
 1350LOCALa%,pn$,row%
 1360*DATA 5000
 1370REM"�Trap no link due to
 1380REM"�bad reception:
 1390IFFNcheckcrc(&5000)=FALSE PRINTTAB(1,19)"�Bad reception�- re-trying ...":GOTO1330:ELSE PRINTTAB(1,19)SPC(32)
 1400a%=&5000-42
 1410REPEAT
 1420a%=a%+42
 1430UNTIL(a%?1=27 AND FNdeham(a%?2)=0) ORa%>&5800
 1440REM"�Trap no Pkt 27 on p200:
 1450IFa%>&5800 M%=0:PROCheading(1,"�Error�-no catalogue"):PROCend(-1)
 1460FORV%=0TO5
 1470D(V%)=3+(6*link%)+V%
 1480D(V%)=FNdeham(a%?D(V%))
 1490NEXT
 1500M%=(((D(5) AND12)DIV2)OR(D(3) DIV8))EORmag%
 1510N%=(D(1)*16)+(D(0))
 1520ENDPROC
 1530:
 1540DEFFNdeham(byte%)
 1550space?0=25:space?1=byte%:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1560=(space?2)AND&F
 1570:
 1580DEFFNselect
 1590CLS:PRINT'CHR$151+STRING$(39,",")+CHR$132+CHR$157+CHR$131+"Met. Office Satellite Image Data"'CHR$151+STRING$(39,",")
 1600PRINTTAB(0,16)CHR$151+STRING$(39,",")+CHR$132+CHR$157+CHR$131+FNdate'CHR$151+STRING$(39,",")
 1610PRINTTAB(0,20)"�Select file with�up�or�down�arrow,"'"�then press�RETURN�to download.":IFZ%>10 PRINT'"�Total of�";useable%;"�files available.";
 1620VDU28,0,14,39,5,15
 1630FORf%=1TOZ%
 1640PRINTTAB(0,f%-1)backcol$;" ";namecol2$;LEFT$(fname$(f%)+STRING$(7," "),7);commcol2$;LEFT$(comment$(f%)+STRING$(28," "),28);
 1650IFf%=10 f%=Z%
 1660NEXT
 1670PRINTTAB(0,0);backcol$;CHR$157;namecol1$;TAB(10,0);commcol1$;TAB(0,0);
 1680*FX4,1
 1690fn%=1
 1700REPEAT:Q=GET
 1710IFQ=138 ANDfn%<Z%:PROCdown:fn%=fn%+1
 1720IFQ=139 ANDfn%>1:PROCup:fn%=fn%-1
 1730IFVPOS=0 ORVPOS=9 PRINTTAB(0,VPOS)backcol$+CHR$157+namecol1$+LEFT$(fname$(fn%)+STRING$(7," "),7);commcol1$;LEFT$(comment$(fn%)+STRING$(28," "),28);TAB(0,VPOS);
 1740UNTILQ=13
 1750*FX4
 1760=fn%
 1770:
 1780DEFFNdate
 1790LOCALZ%,M%,D%
 1800A%=&7A:X%=line MOD256:Y%=line DIV256:?line=15:CALL&FFF1
 1810BB1$=RIGHT$(STR$~(line?8),1)
 1820BB2$=STR$~(line?9):IF LEN(BB2$)=1 BB2$="0"+BB2$
 1830BB3$=STR$~(line?10):IF LEN(BB3$)=1 BB3$="0"+BB3$
 1840JD=VAL(BB1$+BB2$+BB3$)
 1850IFJD<46796 ="Date not available"
 1860Y1=(100*(JD-15078.2))DIV36525
 1870M1=INT((JD-14956.1-INT(365.25*Y1))/30.6001)
 1880D%=JD-14956-INT(365.25*Y1)-INT(30.6*M1):K=INT(0.7+(1/(17-M1)))
 1890M%=M1-1-12*K
 1900Z%=Y1+K
 1910W%=(JD+3)MOD7:RESTORE1920:FORday=0TOW%:READD$:NEXT:D$=D$+"day"
 1920DATA Sun,Mon,Tues,Wednes,Thurs,Fri,Satur
 1930RESTORE1940:FORday=1TOM%:READmonth$:NEXT
 1940DATA January,February,March,April,May,June,July,August,September,October,November,December
 1950IFD%=1ORD%=21ORD%=31 th$="st" ELSEIFD%=2ORD%=22 th$="nd" ELSEIFD%=3ORD%=23 th$="rd" ELSEth$="th"
 1960line?0=21:A%=&7A:X%=line MOD256:Y%=line DIV256:CALL&FFF1:line?6=&D
 1970dt$=D$+" "+STR$(D%)+th$+" "+month$+" 19"+STR$(Z%)+"�"
 1980=dt$+STRING$(31-LEN(dt$)," ")+$(line+1)
 1990:
 2000DEFFNwhich_unit
 2010A%=&7A:X%=line MOD256:Y%=line DIV256
 2020line?0=17:line?3=&FF:CALL&FFF1
 2030IFline?3=&FF ="ATS" ELSE="GIS"
 2040:
 2050DEFPROCdown
 2060PRINTbackcol$;" ";namecol2$;TAB(10,VPOS);commcol2$;TAB(0,VPOS);
 2070VDU10:PRINTbackcol$;CHR$(157);namecol1$;TAB(10,VPOS);commcol1$;TAB(0,VPOS);
 2080ENDPROC
 2090:
 2100DEFPROCup
 2110PRINTbackcol$;" ";namecol2$;TAB(10,VPOS);commcol2$;TAB(0,VPOS);
 2120VDU11:PRINTbackcol$;CHR$(157);namecol1$;TAB(10,VPOS);commcol1$;TAB(0,VPOS);
 2130ENDPROC
 2140:
 2150DEFPROCtubeon
 2160PROCheading(1,CHR$127+CHR$151+STRING$(39,",")+CHR$129+CHR$157+CHR$135+"The 'Tube' is active. Please disable"+CHR$10+CHR$13+CHR$129+CHR$157+CHR$135+"then CHAIN SatLoad again."+CHR$10+CHR$13+CHR$151+STRING$(39,","))
 2170VDU23,1,0;0;0;0;:PRINT
 2180ENDPROC
 2190:
 2200DEFFNcheckcrc(mem%)
 2210A%=&7A:X%=line MOD256:Y%=line DIV256:line?0=23:line?1=mem%MOD256:line?2=mem%DIV256:CALL&FFF1
 2220IFline?3=1 =TRUE ELSE =FALSE
 2230:
 2240REM"�Error trap
 2250DEFPROCend(err%)
 2260ONERRORGOTO2320
 2270*FX229,1
 2280IFerr%=254:PROCheading(1,"�Unrecognised command found"+CHR$10+CHR$13+" �Is the adaptor turned on?"):GOTO2320
 2290*TTXOFF
 2300VDU26
 2310IFerr%=-1 GOTO2430
 2320PRINTTAB(0,19)SPC(40);CHR$151;STRING$(39,",");SPC(40)
 2330PRINTTAB(0,21)"�Error:";CHR$129;CHR$157;CHR$135;
 2340st%=((?&FE)*256)+(?&FD)
 2350errep%=st%:REPEAT:errep%=errep%+1:VDU?(errep%):UNTIL ?errep%=0 OR errep%=st%+30
 2360PRINT"  ";CHR$156'CHR$151;STRING$(39,",");SPC(40);
 2370PRINT"�Press�ESCAPE�to quit or�SPACE�to rerun";
 2380REPEAT:key%=GET:UNTILkey%=32 OR key%=27
 2390PROCreturn_oshwm
 2400HIMEM=H%
 2410IFkey%=32:PROCoscli("FX229,0"):RUN
 2420PROCheading(1,"")
 2430VDU23,1,1;0;0;0;:PRINTTAB(0,7);
 2440*FX229,0
 2450*FX4
 2460END
 2470:
 2480DEFPROClatest
 2490PRINTTAB(1,17)SPC(75)TAB(1,17)"File:�Latest Image"
 2500LOCALM1%,N1%
 2510M1%=M%:N1%=N%
 2520PROCfindcat(M%,N%,1)
 2530IF((M%*100)+N%)>&800 GOTO2560
 2540PRINTTAB(2,0)"P";STR$(M%);RIGHT$("00"+STR$~(N%),2)
 2550PROCdownload(M%,N%,"",0,0,TRUE,TRUE)
 2560M%=M1%:N%=N1%:VDU26
 2570PROCheading(2,"File:�Satellite Image Catalogue")
 2580PRINTTAB(2,0)"P";STR$(M%);RIGHT$("00"+STR$~(N%),2)
 2590ENDPROC

�"�SATload
:
�"�(C) Jeremy Brayshaw
(�"�September 1988
2�"�V.3.40  Feb 89
<�"�For use with ATS & ATS+
F:
P� space 20,name 12,line 15
Z� � �end(�)
dbackcol$=�135
nnamecol1$=�132
xnamecol2$=�134
�commcol1$=�129
�commcol2$=�135
��7:H%=�:�=&5000
�6A%=&EA:X%=0:Y%=-1:�(�(&FFF4)�&FFFF)�&100:�tubeon:�
��23,1,0;0;0;0;
�
*TTXON
�	*BBC2
�*HON
��move_oshwm
�M�page%(40),fname$(40),comment$(40),mag%(40),D(5),flag%(40),available%(40)
�useable%=0
�unit$=�which_unit
�X�heading(2,"File:�Satellite Image Catalogue"+�10+�13+"      �(�L�for Latest file )")
�2,0);"TSDP"
m%=�getlink
�findcat(m%,p%,4)
"%�"�Trap incorrect Main Page link:
,F�M%>7 �N%>&FE �heading(1,"�Error�- No Catalogue defined"):�end(-1)
6�findcat(M%,N%,4)
@$�"�Trap incorrect Cat Page link:
J>�M%>7 �N%>&FE �heading(1,"�Error�- No Catalogue"):�end(-1)
T$�2,0);"P";�(M%);�"00"+�~(N%),2)
^*�(�(0)�&DF)=�"L" �latest:��1,18)�(30)
h	*FX21
r�download(M%,N%,"",0,0,�,�)
|�interpret
�9�Z%=0 �7:�heading(1,"�No satellite images available")
� �7:�23,1,0;0;0;0;:W%=�select
��7:�23,1,0;0;0;0;
���available%(W%):�heading(1,�127+�151+�39,",")+�129+�157+�135+"Selected file is unavailable"+�10+�13+�129+�157+�135+"Press SPACE for another selection"+�10+�13+�151+�39,","))
�"�available%(W%):�:��=32:�tPA
�<�heading(2,"File:�"+fname$(W%)+�10+�13+" "+comment$(W%))
�.�2,0);"P";mag%(W%);�"00"+�~(page%(W%)),2)
�4�download(mag%(W%),page%(W%),fname$(W%),0,0,�,�)
�>� PROCdownload(mag%,page%,fname$,load%,exec%,file%,reset%)
��7
��
�:
���move_oshwm
S%=&5000
 A%=&B4:X%=S%�256:Y%=0:�&FFF4
�
&:
0B��download(magazine%,page%,filename$,load%,exec%,save%,reset%)
:$�oscli("MAGAZINE "+�(magazine%))
Dspace?0=24
N'space?1=name �256:space?2=name �256
X$name=filename$
b �f%=name � name+�(filename$)
l"�?f%>96 �?f%<123 ?f%=(?f%)�&DF
v�
�space!3=load%
�space!7=exec%
�space?11=magazine%
�space?12=page%
�$�save%=� space?13=1 � space?13=0
�%�reset%=� space?14=0 � space?14=1
�&A%=&7A:X%=space �256:Y%=space �256
�
�&FFF1
��
�:
���oscli(text$)
�)$line=text$:X%=line �256:Y%=line �256
�
�&FFF7
�
:
��heading(mark%,fname$)
 �:�mark%=1 �TtC
*f�unit$="GIS" �'�151+�39,",")+�132+�157+�131+"Met. Office Satellite Image Data"'�151+�39,","):�DfC
4.�'"��������������������������������������"
>-�"�������������� Met Office and�������"
H-�"����������������BBC Telesoftware������"
R-�"��������������Satellite Images������"
\-�"�����������������������||�������������"
f�1,17)fname$
p�
z:
���return_oshwm
� A%=&B4:X%=� �256:Y%=0:�&FFF4
��
�:
���interpret
�
st%=S%
�
Z%=0:�
��"�filename:
�
len%=?st%
��len%=&FF �tpD
�ET%=?(st%+len%+1):?(st%+len%+1)=13:fnam$=$(st%+1):?(st%+len%+1)=T%
�st%=st%+len%+1
�6�fnam$,1)="*" use%=�:report%=�:� use%=�:report%=�
�"�comment:

len%=?st%
�len%=0 com$="":�DBD
$"�f%=st%�st%+len%:?f%=(?f%)�&80
.�
8DT%=?(st%+len%+1):?(st%+len%+1)=13:com$=$(st%+1):?(st%+len%+1)=T%
Bst%=st%+len%+1
L�"�Mag:
V
mag%=?st%
`�mag%<0 �mag%>7 use%=�
j
st%=st%+1
t�"�page:
~
pag%=?st%
�
st%=st%+1
��"�TEST FOR DOWNLOADING:
�t�report%:Z%=Z%+1:fname$(Z%)=fnam$:comment$(Z%)=com$:mag%(Z%)=mag%:page%(Z%)=pag%:flag%(Z%)=�:available%(Z%)=use%
�� use%:useable%=useable%+1
�
�len%=&FF
��
�:
�
ݤgetlink
��
�A%=�:�:��>A%+200
�8space?0=15:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
�!� ((space?1)*100)+space?2<999
p%=space?2

=space?1
:
��findcat(mag%,pag%,link%)
($look$=�~(mag%)+�"00"+�~(pag%),2)
2�2,0)"P";look$
<�oscli("PAGE "+look$)
F�a%,pn$,row%
P*DATA 5000
Z�"�Trap no link due to
d�"�bad reception:
nT�checkcrc(&5000)=� �1,19)"�Bad reception�- re-trying ...":�TrE:� �1,19)�(32)
xa%=&5000-42
��
�a%=a%+42
�)�(a%?1=27 � �deham(a%?2)=0) �a%>&5800
��"�Trap no Pkt 27 on p200:
�>�a%>&5800 M%=0:�heading(1,"�Error�-no catalogue"):�end(-1)
��V%=0�5
�D(V%)=3+(6*link%)+V%
�D(V%)=�deham(a%?D(V%))
��
�&M%=(((D(5) �12)�2)�(D(3) �8))�mag%
�N%=(D(1)*16)+(D(0))
��
�:
ݤdeham(byte%)
Fspace?0=25:space?1=byte%:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
=(space?2)�&F
":
,ݤselect
6U�:�'�151+�39,",")+�132+�157+�131+"Met. Office Satellite Image Data"'�151+�39,",")
@;�0,16)�151+�39,",")+�132+�157+�131+�date'�151+�39,",")
J��0,20)"�Select file with�up�or�down�arrow,"'"�then press�RETURN�to download.":�Z%>10 �'"�Total of�";useable%;"�files available.";
T�28,0,14,39,5,15
^�f%=1�Z%
h`�0,f%-1)backcol$;" ";namecol2$;�fname$(f%)+�7," "),7);commcol2$;�comment$(f%)+�28," "),28);
r�f%=10 f%=Z%
|�
�:�0,0);backcol$;�157;namecol1$;�10,0);commcol1$;�0,0);
�
*FX4,1
�	fn%=1
�	�:Q=�
�"�Q=138 �fn%<Z%:�down:fn%=fn%+1
��Q=139 �fn%>1:�up:fn%=fn%-1
�p�=0 ��=9 �0,�)backcol$+�157+namecol1$+�fname$(fn%)+�7," "),7);commcol1$;�comment$(fn%)+�28," "),28);�0,�);
�	�Q=13
�*FX4
�=fn%
�:
�
ݤdate
�
�Z%,M%,D%
4A%=&7A:X%=line �256:Y%=line �256:?line=15:�&FFF1
BB1$=��~(line?8),1)
-BB2$=�~(line?9):� �(BB2$)=1 BB2$="0"+BB2$
&.BB3$=�~(line?10):� �(BB3$)=1 BB3$="0"+BB3$
0JD=�(BB1$+BB2$+BB3$)
:#�JD<46796 ="Date not available"
DY1=(100*(JD-15078.2))�36525
N+M1=�((JD-14956.1-�(365.25*Y1))/30.6001)
X<D%=JD-14956-�(365.25*Y1)-�(30.6*M1):K=�(0.7+(1/(17-M1)))
bM%=M1-1-12*K
lZ%=Y1+K
v1W%=(JD+3)�7:��t@G:�day=0�W%:�D$:�:D$=D$+"day"
�)� Sun,Mon,Tues,Wednes,Thurs,Fri,Satur
���tTG:�day=1�M%:�month$:�
�[� January,February,March,April,May,June,July,August,September,October,November,December
�T�D%=1�D%=21�D%=31 th$="st" ��D%=2�D%=22 th$="nd" ��D%=3�D%=23 th$="rd" �th$="th"
�?line?0=21:A%=&7A:X%=line �256:Y%=line �256:�&FFF1:line?6=&D
�3dt$=D$+" "+�(D%)+th$+" "+month$+" 19"+�(Z%)+"�"
�"=dt$+�31-�(dt$)," ")+$(line+1)
�:
�ݤwhich_unit
�$A%=&7A:X%=line �256:Y%=line �256
�line?0=17:line?3=&FF:�&FFF1
��line?3=&FF ="ATS" �="GIS"
�:

��down
3�backcol$;" ";namecol2$;�10,�);commcol2$;�0,�);
:�10:�backcol$;�(157);namecol1$;�10,�);commcol1$;�0,�);
 �
*:
4��up
>3�backcol$;" ";namecol2$;�10,�);commcol2$;�0,�);
H:�11:�backcol$;�(157);namecol1$;�10,�);commcol1$;�0,�);
R�
\:
f��tubeon
p��heading(1,�127+�151+�39,",")+�129+�157+�135+"The 'Tube' is active. Please disable"+�10+�13+�129+�157+�135+"then CHAIN SatLoad again."+�10+�13+�151+�39,","))
z�23,1,0;0;0;0;:�
��
�:
�ݤcheckcrc(mem%)
�UA%=&7A:X%=line �256:Y%=line �256:line?0=23:line?1=mem%�256:line?2=mem%�256:�&FFF1
��line?3=1 =� � =�
�:
��"�Error trap
���end(err%)
���TPI
�*FX229,1
�c�err%=254:�heading(1,"�Unrecognised command found"+�10+�13+" �Is the adaptor turned on?"):�TPI
�*TTXOFF
��26
	�err%=-1 �D~I
	$�0,19)�(40);�151;�39,",");�(40)
	$�0,21)"�Error:";�129;�157;�135;
	$st%=((?&FE)*256)+(?&FD)
	.Gerrep%=st%:�:errep%=errep%+1:�?(errep%):� ?errep%=0 � errep%=st%+30
	8#�"  ";�156'�151;�39,",");�(40);
	B/�"�Press�ESCAPE�to quit or�SPACE�to rerun";
	L�:key%=�:�key%=32 � key%=27
	V�return_oshwm
	`�=H%
	j �key%=32:�oscli("FX229,0"):�
	t�heading(1,"")
	~�23,1,1;0;0;0;:�0,7);
	�*FX229,0
	�*FX4
	��
	�:
	���latest
	�*�1,17)�(75)�1,17)"File:�Latest Image"
	��M1%,N1%
	�M1%=M%:N1%=N%
	��findcat(M%,N%,1)
	��((M%*100)+N%)>&800 �T@J
	�#�2,0)"P";�(M%);�"00"+�~(N%),2)
	��download(M%,N%,"",0,0,�,�)
M%=M1%:N%=N1%:�26

1�heading(2,"File:�Satellite Image Catalogue")
#�2,0)"P";�(M%);�"00"+�~(N%),2)
�
�
00000000  0d 00 0a 0e f4 22 83 53  41 54 6c 6f 61 64 0d 00  |.....".SATload..|
00000010  14 05 3a 0d 00 1e 1a f4  22 81 28 43 29 20 4a 65  |..:.....".(C) Je|
00000020  72 65 6d 79 20 42 72 61  79 73 68 61 77 0d 00 28  |remy Brayshaw..(|
00000030  15 f4 22 86 53 65 70 74  65 6d 62 65 72 20 31 39  |..".September 19|
00000040  38 38 0d 00 32 15 f4 22  82 56 2e 33 2e 34 30 20  |88..2..".V.3.40 |
00000050  20 46 65 62 20 38 39 0d  00 3c 1e f4 22 85 46 6f  | Feb 89..<..".Fo|
00000060  72 20 75 73 65 20 77 69  74 68 20 41 54 53 20 26  |r use with ATS &|
00000070  20 41 54 53 2b 0d 00 46  05 3a 0d 00 50 1e de 20  | ATS+..F.:..P.. |
00000080  73 70 61 63 65 20 32 30  2c 6e 61 6d 65 20 31 32  |space 20,name 12|
00000090  2c 6c 69 6e 65 20 31 35  0d 00 5a 0f ee 20 85 20  |,line 15..Z.. . |
000000a0  f2 65 6e 64 28 9f 29 0d  00 64 11 62 61 63 6b 63  |.end(.)..d.backc|
000000b0  6f 6c 24 3d bd 31 33 35  0d 00 6e 12 6e 61 6d 65  |ol$=.135..n.name|
000000c0  63 6f 6c 31 24 3d bd 31  33 32 0d 00 78 12 6e 61  |col1$=.132..x.na|
000000d0  6d 65 63 6f 6c 32 24 3d  bd 31 33 34 0d 00 82 12  |mecol2$=.134....|
000000e0  63 6f 6d 6d 63 6f 6c 31  24 3d bd 31 32 39 0d 00  |commcol1$=.129..|
000000f0  8c 12 63 6f 6d 6d 63 6f  6c 32 24 3d bd 31 33 35  |..commcol2$=.135|
00000100  0d 00 96 13 eb 37 3a 48  25 3d 93 3a d3 3d 26 35  |.....7:H%=.:.=&5|
00000110  30 30 30 0d 00 a0 36 41  25 3d 26 45 41 3a 58 25  |000...6A%=&EA:X%|
00000120  3d 30 3a 59 25 3d 2d 31  3a e7 28 ba 28 26 46 46  |=0:Y%=-1:.(.(&FF|
00000130  46 34 29 80 26 46 46 46  46 29 81 26 31 30 30 3a  |F4).&FFFF).&100:|
00000140  f2 74 75 62 65 6f 6e 3a  e0 0d 00 aa 12 ef 32 33  |.tubeon:......23|
00000150  2c 31 2c 30 3b 30 3b 30  3b 30 3b 0d 00 b4 0a 2a  |,1,0;0;0;0;....*|
00000160  54 54 58 4f 4e 0d 00 be  09 2a 42 42 43 32 0d 00  |TTXON....*BBC2..|
00000170  c8 08 2a 48 4f 4e 0d 00  d2 0f f2 6d 6f 76 65 5f  |..*HON.....move_|
00000180  6f 73 68 77 6d 0d 00 dc  4d de 70 61 67 65 25 28  |oshwm...M.page%(|
00000190  34 30 29 2c 66 6e 61 6d  65 24 28 34 30 29 2c 63  |40),fname$(40),c|
000001a0  6f 6d 6d 65 6e 74 24 28  34 30 29 2c 6d 61 67 25  |omment$(40),mag%|
000001b0  28 34 30 29 2c 44 28 35  29 2c 66 6c 61 67 25 28  |(40),D(5),flag%(|
000001c0  34 30 29 2c 61 76 61 69  6c 61 62 6c 65 25 28 34  |40),available%(4|
000001d0  30 29 0d 00 e6 0e 75 73  65 61 62 6c 65 25 3d 30  |0)....useable%=0|
000001e0  0d 00 f0 15 75 6e 69 74  24 3d a4 77 68 69 63 68  |....unit$=.which|
000001f0  5f 75 6e 69 74 0d 00 fa  58 f2 68 65 61 64 69 6e  |_unit...X.headin|
00000200  67 28 32 2c 22 46 69 6c  65 3a 86 53 61 74 65 6c  |g(2,"File:.Satel|
00000210  6c 69 74 65 20 49 6d 61  67 65 20 43 61 74 61 6c  |lite Image Catal|
00000220  6f 67 75 65 22 2b bd 31  30 2b bd 31 33 2b 22 20  |ogue"+.10+.13+" |
00000230  20 20 20 20 20 86 28 83  4c 86 66 6f 72 20 4c 61  |     .(.L.for La|
00000240  74 65 73 74 20 66 69 6c  65 20 29 22 29 0d 01 04  |test file )")...|
00000250  11 f1 8a 32 2c 30 29 3b  22 54 53 44 50 22 0d 01  |...2,0);"TSDP"..|
00000260  0e 0f 6d 25 3d a4 67 65  74 6c 69 6e 6b 0d 01 18  |..m%=.getlink...|
00000270  15 f2 66 69 6e 64 63 61  74 28 6d 25 2c 70 25 2c  |..findcat(m%,p%,|
00000280  34 29 0d 01 22 25 f4 22  81 54 72 61 70 20 69 6e  |4).."%.".Trap in|
00000290  63 6f 72 72 65 63 74 20  4d 61 69 6e 20 50 61 67  |correct Main Pag|
000002a0  65 20 6c 69 6e 6b 3a 0d  01 2c 46 e7 4d 25 3e 37  |e link:..,F.M%>7|
000002b0  20 84 4e 25 3e 26 46 45  20 f2 68 65 61 64 69 6e  | .N%>&FE .headin|
000002c0  67 28 31 2c 22 81 45 72  72 6f 72 86 2d 20 4e 6f  |g(1,".Error.- No|
000002d0  20 43 61 74 61 6c 6f 67  75 65 20 64 65 66 69 6e  | Catalogue defin|
000002e0  65 64 22 29 3a f2 65 6e  64 28 2d 31 29 0d 01 36  |ed"):.end(-1)..6|
000002f0  15 f2 66 69 6e 64 63 61  74 28 4d 25 2c 4e 25 2c  |..findcat(M%,N%,|
00000300  34 29 0d 01 40 24 f4 22  81 54 72 61 70 20 69 6e  |4)..@$.".Trap in|
00000310  63 6f 72 72 65 63 74 20  43 61 74 20 50 61 67 65  |correct Cat Page|
00000320  20 6c 69 6e 6b 3a 0d 01  4a 3e e7 4d 25 3e 37 20  | link:..J>.M%>7 |
00000330  84 4e 25 3e 26 46 45 20  f2 68 65 61 64 69 6e 67  |.N%>&FE .heading|
00000340  28 31 2c 22 81 45 72 72  6f 72 86 2d 20 4e 6f 20  |(1,".Error.- No |
00000350  43 61 74 61 6c 6f 67 75  65 22 29 3a f2 65 6e 64  |Catalogue"):.end|
00000360  28 2d 31 29 0d 01 54 24  f1 8a 32 2c 30 29 3b 22  |(-1)..T$..2,0);"|
00000370  50 22 3b c3 28 4d 25 29  3b c2 22 30 30 22 2b c3  |P";.(M%);."00"+.|
00000380  7e 28 4e 25 29 2c 32 29  0d 01 5e 2a e7 28 a6 28  |~(N%),2)..^*.(.(|
00000390  30 29 80 26 44 46 29 3d  97 22 4c 22 20 f2 6c 61  |0).&DF)=."L" .la|
000003a0  74 65 73 74 3a 8b f1 8a  31 2c 31 38 29 89 28 33  |test:...1,18).(3|
000003b0  30 29 0d 01 68 09 2a 46  58 32 31 0d 01 72 1f f2  |0)..h.*FX21..r..|
000003c0  64 6f 77 6e 6c 6f 61 64  28 4d 25 2c 4e 25 2c 22  |download(M%,N%,"|
000003d0  22 2c 30 2c 30 2c a3 2c  b9 29 0d 01 7c 0e f2 69  |",0,0,.,.)..|..i|
000003e0  6e 74 65 72 70 72 65 74  0d 01 86 39 e7 5a 25 3d  |nterpret...9.Z%=|
000003f0  30 20 eb 37 3a f2 68 65  61 64 69 6e 67 28 31 2c  |0 .7:.heading(1,|
00000400  22 83 4e 6f 20 73 61 74  65 6c 6c 69 74 65 20 69  |".No satellite i|
00000410  6d 61 67 65 73 20 61 76  61 69 6c 61 62 6c 65 22  |mages available"|
00000420  29 0d 01 90 20 eb 37 3a  ef 32 33 2c 31 2c 30 3b  |)... .7:.23,1,0;|
00000430  30 3b 30 3b 30 3b 3a 57  25 3d a4 73 65 6c 65 63  |0;0;0;:W%=.selec|
00000440  74 0d 01 9a 15 eb 37 3a  ef 32 33 2c 31 2c 30 3b  |t.....7:.23,1,0;|
00000450  30 3b 30 3b 30 3b 0d 01  a4 b2 e7 ac 61 76 61 69  |0;0;0;......avai|
00000460  6c 61 62 6c 65 25 28 57  25 29 3a f2 68 65 61 64  |lable%(W%):.head|
00000470  69 6e 67 28 31 2c bd 31  32 37 2b bd 31 35 31 2b  |ing(1,.127+.151+|
00000480  c4 33 39 2c 22 2c 22 29  2b bd 31 32 39 2b bd 31  |.39,",")+.129+.1|
00000490  35 37 2b bd 31 33 35 2b  22 53 65 6c 65 63 74 65  |57+.135+"Selecte|
000004a0  64 20 66 69 6c 65 20 69  73 20 75 6e 61 76 61 69  |d file is unavai|
000004b0  6c 61 62 6c 65 22 2b bd  31 30 2b bd 31 33 2b bd  |lable"+.10+.13+.|
000004c0  31 32 39 2b bd 31 35 37  2b bd 31 33 35 2b 22 50  |129+.157+.135+"P|
000004d0  72 65 73 73 20 53 50 41  43 45 20 66 6f 72 20 61  |ress SPACE for a|
000004e0  6e 6f 74 68 65 72 20 73  65 6c 65 63 74 69 6f 6e  |nother selection|
000004f0  22 2b bd 31 30 2b bd 31  33 2b bd 31 35 31 2b c4  |"+.10+.13+.151+.|
00000500  33 39 2c 22 2c 22 29 29  0d 01 ae 22 e7 ac 61 76  |39,","))..."..av|
00000510  61 69 6c 61 62 6c 65 25  28 57 25 29 3a f5 3a fd  |ailable%(W%):.:.|
00000520  a5 3d 33 32 3a e5 8d 74  50 41 0d 01 b8 3c f2 68  |.=32:..tPA...<.h|
00000530  65 61 64 69 6e 67 28 32  2c 22 46 69 6c 65 3a 86  |eading(2,"File:.|
00000540  22 2b 66 6e 61 6d 65 24  28 57 25 29 2b bd 31 30  |"+fname$(W%)+.10|
00000550  2b bd 31 33 2b 22 20 22  2b 63 6f 6d 6d 65 6e 74  |+.13+" "+comment|
00000560  24 28 57 25 29 29 0d 01  c2 2e f1 8a 32 2c 30 29  |$(W%))......2,0)|
00000570  3b 22 50 22 3b 6d 61 67  25 28 57 25 29 3b c2 22  |;"P";mag%(W%);."|
00000580  30 30 22 2b c3 7e 28 70  61 67 65 25 28 57 25 29  |00"+.~(page%(W%)|
00000590  29 2c 32 29 0d 01 cc 34  f2 64 6f 77 6e 6c 6f 61  |),2)...4.downloa|
000005a0  64 28 6d 61 67 25 28 57  25 29 2c 70 61 67 65 25  |d(mag%(W%),page%|
000005b0  28 57 25 29 2c 66 6e 61  6d 65 24 28 57 25 29 2c  |(W%),fname$(W%),|
000005c0  30 2c 30 2c b9 2c b9 29  0d 01 d6 3e f4 20 50 52  |0,0,.,.)...>. PR|
000005d0  4f 43 64 6f 77 6e 6c 6f  61 64 28 6d 61 67 25 2c  |OCdownload(mag%,|
000005e0  70 61 67 65 25 2c 66 6e  61 6d 65 24 2c 6c 6f 61  |page%,fname$,loa|
000005f0  64 25 2c 65 78 65 63 25  2c 66 69 6c 65 25 2c 72  |d%,exec%,file%,r|
00000600  65 73 65 74 25 29 0d 01  e0 06 eb 37 0d 01 ea 05  |eset%).....7....|
00000610  f9 0d 01 f4 05 3a 0d 01  fe 10 dd f2 6d 6f 76 65  |.....:......move|
00000620  5f 6f 73 68 77 6d 0d 02  08 0c 53 25 3d 26 35 30  |_oshwm....S%=&50|
00000630  30 30 0d 02 12 20 41 25  3d 26 42 34 3a 58 25 3d  |00... A%=&B4:X%=|
00000640  53 25 81 32 35 36 3a 59  25 3d 30 3a d6 26 46 46  |S%.256:Y%=0:.&FF|
00000650  46 34 0d 02 1c 05 e1 0d  02 26 05 3a 0d 02 30 42  |F4.......&.:..0B|
00000660  dd f2 64 6f 77 6e 6c 6f  61 64 28 6d 61 67 61 7a  |..download(magaz|
00000670  69 6e 65 25 2c 70 61 67  65 25 2c 66 69 6c 65 6e  |ine%,page%,filen|
00000680  61 6d 65 24 2c 6c 6f 61  64 25 2c 65 78 65 63 25  |ame$,load%,exec%|
00000690  2c 73 61 76 65 25 2c 72  65 73 65 74 25 29 0d 02  |,save%,reset%)..|
000006a0  3a 24 f2 6f 73 63 6c 69  28 22 4d 41 47 41 5a 49  |:$.oscli("MAGAZI|
000006b0  4e 45 20 22 2b c3 28 6d  61 67 61 7a 69 6e 65 25  |NE "+.(magazine%|
000006c0  29 29 0d 02 44 0e 73 70  61 63 65 3f 30 3d 32 34  |))..D.space?0=24|
000006d0  0d 02 4e 27 73 70 61 63  65 3f 31 3d 6e 61 6d 65  |..N'space?1=name|
000006e0  20 83 32 35 36 3a 73 70  61 63 65 3f 32 3d 6e 61  | .256:space?2=na|
000006f0  6d 65 20 81 32 35 36 0d  02 58 13 24 6e 61 6d 65  |me .256..X.$name|
00000700  3d 66 69 6c 65 6e 61 6d  65 24 0d 02 62 20 e3 66  |=filename$..b .f|
00000710  25 3d 6e 61 6d 65 20 b8  20 6e 61 6d 65 2b a9 28  |%=name . name+.(|
00000720  66 69 6c 65 6e 61 6d 65  24 29 0d 02 6c 22 e7 3f  |filename$)..l".?|
00000730  66 25 3e 39 36 20 80 3f  66 25 3c 31 32 33 20 3f  |f%>96 .?f%<123 ?|
00000740  66 25 3d 28 3f 66 25 29  80 26 44 46 0d 02 76 05  |f%=(?f%).&DF..v.|
00000750  ed 0d 02 80 11 73 70 61  63 65 21 33 3d 6c 6f 61  |.....space!3=loa|
00000760  64 25 0d 02 8a 11 73 70  61 63 65 21 37 3d 65 78  |d%....space!7=ex|
00000770  65 63 25 0d 02 94 16 73  70 61 63 65 3f 31 31 3d  |ec%....space?11=|
00000780  6d 61 67 61 7a 69 6e 65  25 0d 02 9e 12 73 70 61  |magazine%....spa|
00000790  63 65 3f 31 32 3d 70 61  67 65 25 0d 02 a8 24 e7  |ce?12=page%...$.|
000007a0  73 61 76 65 25 3d b9 20  73 70 61 63 65 3f 31 33  |save%=. space?13|
000007b0  3d 31 20 8b 20 73 70 61  63 65 3f 31 33 3d 30 0d  |=1 . space?13=0.|
000007c0  02 b2 25 e7 72 65 73 65  74 25 3d b9 20 73 70 61  |..%.reset%=. spa|
000007d0  63 65 3f 31 34 3d 30 20  8b 20 73 70 61 63 65 3f  |ce?14=0 . space?|
000007e0  31 34 3d 31 0d 02 bc 26  41 25 3d 26 37 41 3a 58  |14=1...&A%=&7A:X|
000007f0  25 3d 73 70 61 63 65 20  83 32 35 36 3a 59 25 3d  |%=space .256:Y%=|
00000800  73 70 61 63 65 20 81 32  35 36 0d 02 c6 0a d6 26  |space .256.....&|
00000810  46 46 46 31 0d 02 d0 05  e1 0d 02 da 05 3a 0d 02  |FFF1.........:..|
00000820  e4 12 dd f2 6f 73 63 6c  69 28 74 65 78 74 24 29  |....oscli(text$)|
00000830  0d 02 ee 29 24 6c 69 6e  65 3d 74 65 78 74 24 3a  |...)$line=text$:|
00000840  58 25 3d 6c 69 6e 65 20  83 32 35 36 3a 59 25 3d  |X%=line .256:Y%=|
00000850  6c 69 6e 65 20 81 32 35  36 0d 02 f8 0a d6 26 46  |line .256.....&F|
00000860  46 46 37 0d 03 02 05 e1  0d 03 0c 05 3a 0d 03 16  |FF7.........:...|
00000870  1b dd f2 68 65 61 64 69  6e 67 28 6d 61 72 6b 25  |...heading(mark%|
00000880  2c 66 6e 61 6d 65 24 29  0d 03 20 14 db 3a e7 6d  |,fname$).. ..:.m|
00000890  61 72 6b 25 3d 31 20 e5  8d 54 74 43 0d 03 2a 66  |ark%=1 ..TtC..*f|
000008a0  e7 75 6e 69 74 24 3d 22  47 49 53 22 20 f1 27 bd  |.unit$="GIS" .'.|
000008b0  31 35 31 2b c4 33 39 2c  22 2c 22 29 2b bd 31 33  |151+.39,",")+.13|
000008c0  32 2b bd 31 35 37 2b bd  31 33 31 2b 22 4d 65 74  |2+.157+.131+"Met|
000008d0  2e 20 4f 66 66 69 63 65  20 53 61 74 65 6c 6c 69  |. Office Satelli|
000008e0  74 65 20 49 6d 61 67 65  20 44 61 74 61 22 27 bd  |te Image Data"'.|
000008f0  31 35 31 2b c4 33 39 2c  22 2c 22 29 3a e5 8d 44  |151+.39,","):..D|
00000900  66 43 0d 03 34 2e f1 27  22 9a 91 a0 a0 fc fc fc  |fC..4..'".......|
00000910  fc fc fc fc fc fc fc fc  fc fc fc fc fc fc fc fc  |................|
00000920  fc fc fc fc fc fc fc fc  fc fc fc fc fc fc fc 22  |..............."|
00000930  0d 03 3e 2d f1 22 9a 93  a8 af ef ff af af a1 91  |..>-."..........|
00000940  ff ff 9e 81 9d 87 20 4d  65 74 20 4f 66 66 69 63  |...... Met Offic|
00000950  65 20 61 6e 64 a0 91 a3  9c ff ff ff 22 0d 03 48  |e and......."..H|
00000960  2d f1 22 9a 93 a0 a0 fe  a7 91 f8 fc ff ff ff 9e  |-.".............|
00000970  81 9d 87 42 42 43 20 54  65 6c 65 73 6f 66 74 77  |...BBC Telesoftw|
00000980  61 72 65 a0 91 9c ff ff  ff 22 0d 03 52 2d f1 22  |are......"..R-."|
00000990  9a 93 a0 fa b7 91 e8 ff  ff ff ff ff 9e 81 9d 82  |................|
000009a0  53 61 74 65 6c 6c 69 74  65 20 49 6d 61 67 65 73  |Satellite Images|
000009b0  a0 91 9c ff ff ff 22 0d  03 5c 2d f1 22 9a 91 a0  |......"..\-."...|
000009c0  a0 fc fc ff ff ff ff ff  ff ff ff ff fc fc fc fc  |................|
000009d0  fc fc fc fc 7c 7c fc fc  fc fc fc fc fc fc fc fc  |....||..........|
000009e0  ff ff ff 22 0d 03 66 11  f1 8a 31 2c 31 37 29 66  |..."..f...1,17)f|
000009f0  6e 61 6d 65 24 0d 03 70  05 e1 0d 03 7a 05 3a 0d  |name$..p....z.:.|
00000a00  03 84 12 dd f2 72 65 74  75 72 6e 5f 6f 73 68 77  |.....return_oshw|
00000a10  6d 0d 03 8e 20 41 25 3d  26 42 34 3a 58 25 3d 90  |m... A%=&B4:X%=.|
00000a20  20 81 32 35 36 3a 59 25  3d 30 3a d6 26 46 46 46  | .256:Y%=0:.&FFF|
00000a30  34 0d 03 98 05 e1 0d 03  a2 05 3a 0d 03 ac 0f dd  |4.........:.....|
00000a40  f2 69 6e 74 65 72 70 72  65 74 0d 03 b6 0a 73 74  |.interpret....st|
00000a50  25 3d 53 25 0d 03 c0 0a  5a 25 3d 30 3a f5 0d 03  |%=S%....Z%=0:...|
00000a60  ca 10 f4 22 81 66 69 6c  65 6e 61 6d 65 3a 0d 03  |...".filename:..|
00000a70  d4 0d 6c 65 6e 25 3d 3f  73 74 25 0d 03 de 13 e7  |..len%=?st%.....|
00000a80  6c 65 6e 25 3d 26 46 46  20 e5 8d 74 70 44 0d 03  |len%=&FF ..tpD..|
00000a90  e8 45 54 25 3d 3f 28 73  74 25 2b 6c 65 6e 25 2b  |.ET%=?(st%+len%+|
00000aa0  31 29 3a 3f 28 73 74 25  2b 6c 65 6e 25 2b 31 29  |1):?(st%+len%+1)|
00000ab0  3d 31 33 3a 66 6e 61 6d  24 3d 24 28 73 74 25 2b  |=13:fnam$=$(st%+|
00000ac0  31 29 3a 3f 28 73 74 25  2b 6c 65 6e 25 2b 31 29  |1):?(st%+len%+1)|
00000ad0  3d 54 25 0d 03 f2 12 73  74 25 3d 73 74 25 2b 6c  |=T%....st%=st%+l|
00000ae0  65 6e 25 2b 31 0d 03 fc  36 e7 c0 66 6e 61 6d 24  |en%+1...6..fnam$|
00000af0  2c 31 29 3d 22 2a 22 20  75 73 65 25 3d a3 3a 72  |,1)="*" use%=.:r|
00000b00  65 70 6f 72 74 25 3d a3  3a 8b 20 75 73 65 25 3d  |eport%=.:. use%=|
00000b10  b9 3a 72 65 70 6f 72 74  25 3d b9 0d 04 06 0f f4  |.:report%=......|
00000b20  22 81 63 6f 6d 6d 65 6e  74 3a 0d 04 10 0d 6c 65  |".comment:....le|
00000b30  6e 25 3d 3f 73 74 25 0d  04 1a 19 e7 6c 65 6e 25  |n%=?st%.....len%|
00000b40  3d 30 20 63 6f 6d 24 3d  22 22 3a e5 8d 44 42 44  |=0 com$="":..DBD|
00000b50  0d 04 24 22 e3 66 25 3d  73 74 25 b8 73 74 25 2b  |..$".f%=st%.st%+|
00000b60  6c 65 6e 25 3a 3f 66 25  3d 28 3f 66 25 29 84 26  |len%:?f%=(?f%).&|
00000b70  38 30 0d 04 2e 05 ed 0d  04 38 44 54 25 3d 3f 28  |80.......8DT%=?(|
00000b80  73 74 25 2b 6c 65 6e 25  2b 31 29 3a 3f 28 73 74  |st%+len%+1):?(st|
00000b90  25 2b 6c 65 6e 25 2b 31  29 3d 31 33 3a 63 6f 6d  |%+len%+1)=13:com|
00000ba0  24 3d 24 28 73 74 25 2b  31 29 3a 3f 28 73 74 25  |$=$(st%+1):?(st%|
00000bb0  2b 6c 65 6e 25 2b 31 29  3d 54 25 0d 04 42 12 73  |+len%+1)=T%..B.s|
00000bc0  74 25 3d 73 74 25 2b 6c  65 6e 25 2b 31 0d 04 4c  |t%=st%+len%+1..L|
00000bd0  0b f4 22 81 4d 61 67 3a  0d 04 56 0d 6d 61 67 25  |..".Mag:..V.mag%|
00000be0  3d 3f 73 74 25 0d 04 60  1a e7 6d 61 67 25 3c 30  |=?st%..`..mag%<0|
00000bf0  20 84 6d 61 67 25 3e 37  20 75 73 65 25 3d a3 0d  | .mag%>7 use%=..|
00000c00  04 6a 0d 73 74 25 3d 73  74 25 2b 31 0d 04 74 0c  |.j.st%=st%+1..t.|
00000c10  f4 22 81 70 61 67 65 3a  0d 04 7e 0d 70 61 67 25  |.".page:..~.pag%|
00000c20  3d 3f 73 74 25 0d 04 88  0d 73 74 25 3d 73 74 25  |=?st%....st%=st%|
00000c30  2b 31 0d 04 92 1c f4 22  86 54 45 53 54 20 46 4f  |+1.....".TEST FO|
00000c40  52 20 44 4f 57 4e 4c 4f  41 44 49 4e 47 3a 0d 04  |R DOWNLOADING:..|
00000c50  9c 74 e7 72 65 70 6f 72  74 25 3a 5a 25 3d 5a 25  |.t.report%:Z%=Z%|
00000c60  2b 31 3a 66 6e 61 6d 65  24 28 5a 25 29 3d 66 6e  |+1:fname$(Z%)=fn|
00000c70  61 6d 24 3a 63 6f 6d 6d  65 6e 74 24 28 5a 25 29  |am$:comment$(Z%)|
00000c80  3d 63 6f 6d 24 3a 6d 61  67 25 28 5a 25 29 3d 6d  |=com$:mag%(Z%)=m|
00000c90  61 67 25 3a 70 61 67 65  25 28 5a 25 29 3d 70 61  |ag%:page%(Z%)=pa|
00000ca0  67 25 3a 66 6c 61 67 25  28 5a 25 29 3d b9 3a 61  |g%:flag%(Z%)=.:a|
00000cb0  76 61 69 6c 61 62 6c 65  25 28 5a 25 29 3d 75 73  |vailable%(Z%)=us|
00000cc0  65 25 0d 04 a6 1e e7 20  75 73 65 25 3a 75 73 65  |e%..... use%:use|
00000cd0  61 62 6c 65 25 3d 75 73  65 61 62 6c 65 25 2b 31  |able%=useable%+1|
00000ce0  0d 04 b0 0d fd 6c 65 6e  25 3d 26 46 46 0d 04 ba  |.....len%=&FF...|
00000cf0  05 e1 0d 04 c4 05 3a 0d  04 ce 0d dd a4 67 65 74  |......:......get|
00000d00  6c 69 6e 6b 0d 04 d8 05  f5 0d 04 e2 14 41 25 3d  |link.........A%=|
00000d10  91 3a f5 3a fd 91 3e 41  25 2b 32 30 30 0d 04 ec  |.:.:..>A%+200...|
00000d20  38 73 70 61 63 65 3f 30  3d 31 35 3a 41 25 3d 26  |8space?0=15:A%=&|
00000d30  37 41 3a 58 25 3d 73 70  61 63 65 20 83 32 35 36  |7A:X%=space .256|
00000d40  3a 59 25 3d 73 70 61 63  65 20 81 32 35 36 3a d6  |:Y%=space .256:.|
00000d50  26 46 46 46 31 0d 04 f6  21 fd 20 28 28 73 70 61  |&FFF1...!. ((spa|
00000d60  63 65 3f 31 29 2a 31 30  30 29 2b 73 70 61 63 65  |ce?1)*100)+space|
00000d70  3f 32 3c 39 39 39 0d 05  00 0e 70 25 3d 73 70 61  |?2<999....p%=spa|
00000d80  63 65 3f 32 0d 05 0a 0c  3d 73 70 61 63 65 3f 31  |ce?2....=space?1|
00000d90  0d 05 14 05 3a 0d 05 1e  1e dd f2 66 69 6e 64 63  |....:......findc|
00000da0  61 74 28 6d 61 67 25 2c  70 61 67 25 2c 6c 69 6e  |at(mag%,pag%,lin|
00000db0  6b 25 29 0d 05 28 24 6c  6f 6f 6b 24 3d c3 7e 28  |k%)..($look$=.~(|
00000dc0  6d 61 67 25 29 2b c2 22  30 30 22 2b c3 7e 28 70  |mag%)+."00"+.~(p|
00000dd0  61 67 25 29 2c 32 29 0d  05 32 13 f1 8a 32 2c 30  |ag%),2)..2...2,0|
00000de0  29 22 50 22 3b 6c 6f 6f  6b 24 0d 05 3c 19 f2 6f  |)"P";look$..<..o|
00000df0  73 63 6c 69 28 22 50 41  47 45 20 22 2b 6c 6f 6f  |scli("PAGE "+loo|
00000e00  6b 24 29 0d 05 46 10 ea  61 25 2c 70 6e 24 2c 72  |k$)..F..a%,pn$,r|
00000e10  6f 77 25 0d 05 50 0e 2a  44 41 54 41 20 35 30 30  |ow%..P.*DATA 500|
00000e20  30 0d 05 5a 1a f4 22 81  54 72 61 70 20 6e 6f 20  |0..Z..".Trap no |
00000e30  6c 69 6e 6b 20 64 75 65  20 74 6f 0d 05 64 15 f4  |link due to..d..|
00000e40  22 81 62 61 64 20 72 65  63 65 70 74 69 6f 6e 3a  |".bad reception:|
00000e50  0d 05 6e 54 e7 a4 63 68  65 63 6b 63 72 63 28 26  |..nT..checkcrc(&|
00000e60  35 30 30 30 29 3d a3 20  f1 8a 31 2c 31 39 29 22  |5000)=. ..1,19)"|
00000e70  81 42 61 64 20 72 65 63  65 70 74 69 6f 6e 83 2d  |.Bad reception.-|
00000e80  20 72 65 2d 74 72 79 69  6e 67 20 2e 2e 2e 22 3a  | re-trying ...":|
00000e90  e5 8d 54 72 45 3a 8b 20  f1 8a 31 2c 31 39 29 89  |..TrE:. ..1,19).|
00000ea0  28 33 32 29 0d 05 78 0f  61 25 3d 26 35 30 30 30  |(32)..x.a%=&5000|
00000eb0  2d 34 32 0d 05 82 05 f5  0d 05 8c 0c 61 25 3d 61  |-42.........a%=a|
00000ec0  25 2b 34 32 0d 05 96 29  fd 28 61 25 3f 31 3d 32  |%+42...).(a%?1=2|
00000ed0  37 20 80 20 a4 64 65 68  61 6d 28 61 25 3f 32 29  |7 . .deham(a%?2)|
00000ee0  3d 30 29 20 84 61 25 3e  26 35 38 30 30 0d 05 a0  |=0) .a%>&5800...|
00000ef0  1e f4 22 81 54 72 61 70  20 6e 6f 20 50 6b 74 20  |..".Trap no Pkt |
00000f00  32 37 20 6f 6e 20 70 32  30 30 3a 0d 05 aa 3e e7  |27 on p200:...>.|
00000f10  61 25 3e 26 35 38 30 30  20 4d 25 3d 30 3a f2 68  |a%>&5800 M%=0:.h|
00000f20  65 61 64 69 6e 67 28 31  2c 22 81 45 72 72 6f 72  |eading(1,".Error|
00000f30  86 2d 6e 6f 20 63 61 74  61 6c 6f 67 75 65 22 29  |.-no catalogue")|
00000f40  3a f2 65 6e 64 28 2d 31  29 0d 05 b4 0b e3 56 25  |:.end(-1).....V%|
00000f50  3d 30 b8 35 0d 05 be 18  44 28 56 25 29 3d 33 2b  |=0.5....D(V%)=3+|
00000f60  28 36 2a 6c 69 6e 6b 25  29 2b 56 25 0d 05 c8 1a  |(6*link%)+V%....|
00000f70  44 28 56 25 29 3d a4 64  65 68 61 6d 28 61 25 3f  |D(V%)=.deham(a%?|
00000f80  44 28 56 25 29 29 0d 05  d2 05 ed 0d 05 dc 26 4d  |D(V%))........&M|
00000f90  25 3d 28 28 28 44 28 35  29 20 80 31 32 29 81 32  |%=(((D(5) .12).2|
00000fa0  29 84 28 44 28 33 29 20  81 38 29 29 82 6d 61 67  |).(D(3) .8)).mag|
00000fb0  25 0d 05 e6 17 4e 25 3d  28 44 28 31 29 2a 31 36  |%....N%=(D(1)*16|
00000fc0  29 2b 28 44 28 30 29 29  0d 05 f0 05 e1 0d 05 fa  |)+(D(0))........|
00000fd0  05 3a 0d 06 04 12 dd a4  64 65 68 61 6d 28 62 79  |.:......deham(by|
00000fe0  74 65 25 29 0d 06 0e 46  73 70 61 63 65 3f 30 3d  |te%)...Fspace?0=|
00000ff0  32 35 3a 73 70 61 63 65  3f 31 3d 62 79 74 65 25  |25:space?1=byte%|
00001000  3a 41 25 3d 26 37 41 3a  58 25 3d 73 70 61 63 65  |:A%=&7A:X%=space|
00001010  20 83 32 35 36 3a 59 25  3d 73 70 61 63 65 20 81  | .256:Y%=space .|
00001020  32 35 36 3a d6 26 46 46  46 31 0d 06 18 11 3d 28  |256:.&FFF1....=(|
00001030  73 70 61 63 65 3f 32 29  80 26 46 0d 06 22 05 3a  |space?2).&F..".:|
00001040  0d 06 2c 0c dd a4 73 65  6c 65 63 74 0d 06 36 55  |..,...select..6U|
00001050  db 3a f1 27 bd 31 35 31  2b c4 33 39 2c 22 2c 22  |.:.'.151+.39,","|
00001060  29 2b bd 31 33 32 2b bd  31 35 37 2b bd 31 33 31  |)+.132+.157+.131|
00001070  2b 22 4d 65 74 2e 20 4f  66 66 69 63 65 20 53 61  |+"Met. Office Sa|
00001080  74 65 6c 6c 69 74 65 20  49 6d 61 67 65 20 44 61  |tellite Image Da|
00001090  74 61 22 27 bd 31 35 31  2b c4 33 39 2c 22 2c 22  |ta"'.151+.39,","|
000010a0  29 0d 06 40 3b f1 8a 30  2c 31 36 29 bd 31 35 31  |)..@;..0,16).151|
000010b0  2b c4 33 39 2c 22 2c 22  29 2b bd 31 33 32 2b bd  |+.39,",")+.132+.|
000010c0  31 35 37 2b bd 31 33 31  2b a4 64 61 74 65 27 bd  |157+.131+.date'.|
000010d0  31 35 31 2b c4 33 39 2c  22 2c 22 29 0d 06 4a 86  |151+.39,",")..J.|
000010e0  f1 8a 30 2c 32 30 29 22  83 53 65 6c 65 63 74 20  |..0,20)".Select |
000010f0  66 69 6c 65 20 77 69 74  68 86 75 70 83 6f 72 86  |file with.up.or.|
00001100  64 6f 77 6e 83 61 72 72  6f 77 2c 22 27 22 83 74  |down.arrow,"'".t|
00001110  68 65 6e 20 70 72 65 73  73 86 52 45 54 55 52 4e  |hen press.RETURN|
00001120  83 74 6f 20 64 6f 77 6e  6c 6f 61 64 2e 22 3a e7  |.to download.":.|
00001130  5a 25 3e 31 30 20 f1 27  22 83 54 6f 74 61 6c 20  |Z%>10 .'".Total |
00001140  6f 66 86 22 3b 75 73 65  61 62 6c 65 25 3b 22 83  |of.";useable%;".|
00001150  66 69 6c 65 73 20 61 76  61 69 6c 61 62 6c 65 2e  |files available.|
00001160  22 3b 0d 06 54 14 ef 32  38 2c 30 2c 31 34 2c 33  |";..T..28,0,14,3|
00001170  39 2c 35 2c 31 35 0d 06  5e 0c e3 66 25 3d 31 b8  |9,5,15..^..f%=1.|
00001180  5a 25 0d 06 68 60 f1 8a  30 2c 66 25 2d 31 29 62  |Z%..h`..0,f%-1)b|
00001190  61 63 6b 63 6f 6c 24 3b  22 20 22 3b 6e 61 6d 65  |ackcol$;" ";name|
000011a0  63 6f 6c 32 24 3b c0 66  6e 61 6d 65 24 28 66 25  |col2$;.fname$(f%|
000011b0  29 2b c4 37 2c 22 20 22  29 2c 37 29 3b 63 6f 6d  |)+.7," "),7);com|
000011c0  6d 63 6f 6c 32 24 3b c0  63 6f 6d 6d 65 6e 74 24  |mcol2$;.comment$|
000011d0  28 66 25 29 2b c4 32 38  2c 22 20 22 29 2c 32 38  |(f%)+.28," "),28|
000011e0  29 3b 0d 06 72 10 e7 66  25 3d 31 30 20 66 25 3d  |);..r..f%=10 f%=|
000011f0  5a 25 0d 06 7c 05 ed 0d  06 86 3a f1 8a 30 2c 30  |Z%..|.....:..0,0|
00001200  29 3b 62 61 63 6b 63 6f  6c 24 3b bd 31 35 37 3b  |);backcol$;.157;|
00001210  6e 61 6d 65 63 6f 6c 31  24 3b 8a 31 30 2c 30 29  |namecol1$;.10,0)|
00001220  3b 63 6f 6d 6d 63 6f 6c  31 24 3b 8a 30 2c 30 29  |;commcol1$;.0,0)|
00001230  3b 0d 06 90 0a 2a 46 58  34 2c 31 0d 06 9a 09 66  |;....*FX4,1....f|
00001240  6e 25 3d 31 0d 06 a4 09  f5 3a 51 3d a5 0d 06 ae  |n%=1.....:Q=....|
00001250  22 e7 51 3d 31 33 38 20  80 66 6e 25 3c 5a 25 3a  |".Q=138 .fn%<Z%:|
00001260  f2 64 6f 77 6e 3a 66 6e  25 3d 66 6e 25 2b 31 0d  |.down:fn%=fn%+1.|
00001270  06 b8 1f e7 51 3d 31 33  39 20 80 66 6e 25 3e 31  |....Q=139 .fn%>1|
00001280  3a f2 75 70 3a 66 6e 25  3d 66 6e 25 2d 31 0d 06  |:.up:fn%=fn%-1..|
00001290  c2 70 e7 bc 3d 30 20 84  bc 3d 39 20 f1 8a 30 2c  |.p..=0 ..=9 ..0,|
000012a0  bc 29 62 61 63 6b 63 6f  6c 24 2b bd 31 35 37 2b  |.)backcol$+.157+|
000012b0  6e 61 6d 65 63 6f 6c 31  24 2b c0 66 6e 61 6d 65  |namecol1$+.fname|
000012c0  24 28 66 6e 25 29 2b c4  37 2c 22 20 22 29 2c 37  |$(fn%)+.7," "),7|
000012d0  29 3b 63 6f 6d 6d 63 6f  6c 31 24 3b c0 63 6f 6d  |);commcol1$;.com|
000012e0  6d 65 6e 74 24 28 66 6e  25 29 2b c4 32 38 2c 22  |ment$(fn%)+.28,"|
000012f0  20 22 29 2c 32 38 29 3b  8a 30 2c bc 29 3b 0d 06  | "),28);.0,.);..|
00001300  cc 09 fd 51 3d 31 33 0d  06 d6 08 2a 46 58 34 0d  |...Q=13....*FX4.|
00001310  06 e0 08 3d 66 6e 25 0d  06 ea 05 3a 0d 06 f4 0a  |...=fn%....:....|
00001320  dd a4 64 61 74 65 0d 06  fe 0d ea 5a 25 2c 4d 25  |..date.....Z%,M%|
00001330  2c 44 25 0d 07 08 34 41  25 3d 26 37 41 3a 58 25  |,D%...4A%=&7A:X%|
00001340  3d 6c 69 6e 65 20 83 32  35 36 3a 59 25 3d 6c 69  |=line .256:Y%=li|
00001350  6e 65 20 81 32 35 36 3a  3f 6c 69 6e 65 3d 31 35  |ne .256:?line=15|
00001360  3a d6 26 46 46 46 31 0d  07 12 17 42 42 31 24 3d  |:.&FFF1....BB1$=|
00001370  c2 c3 7e 28 6c 69 6e 65  3f 38 29 2c 31 29 0d 07  |..~(line?8),1)..|
00001380  1c 2d 42 42 32 24 3d c3  7e 28 6c 69 6e 65 3f 39  |.-BB2$=.~(line?9|
00001390  29 3a e7 20 a9 28 42 42  32 24 29 3d 31 20 42 42  |):. .(BB2$)=1 BB|
000013a0  32 24 3d 22 30 22 2b 42  42 32 24 0d 07 26 2e 42  |2$="0"+BB2$..&.B|
000013b0  42 33 24 3d c3 7e 28 6c  69 6e 65 3f 31 30 29 3a  |B3$=.~(line?10):|
000013c0  e7 20 a9 28 42 42 33 24  29 3d 31 20 42 42 33 24  |. .(BB3$)=1 BB3$|
000013d0  3d 22 30 22 2b 42 42 33  24 0d 07 30 18 4a 44 3d  |="0"+BB3$..0.JD=|
000013e0  bb 28 42 42 31 24 2b 42  42 32 24 2b 42 42 33 24  |.(BB1$+BB2$+BB3$|
000013f0  29 0d 07 3a 23 e7 4a 44  3c 34 36 37 39 36 20 3d  |)..:#.JD<46796 =|
00001400  22 44 61 74 65 20 6e 6f  74 20 61 76 61 69 6c 61  |"Date not availa|
00001410  62 6c 65 22 0d 07 44 1f  59 31 3d 28 31 30 30 2a  |ble"..D.Y1=(100*|
00001420  28 4a 44 2d 31 35 30 37  38 2e 32 29 29 81 33 36  |(JD-15078.2)).36|
00001430  35 32 35 0d 07 4e 2b 4d  31 3d a8 28 28 4a 44 2d  |525..N+M1=.((JD-|
00001440  31 34 39 35 36 2e 31 2d  a8 28 33 36 35 2e 32 35  |14956.1-.(365.25|
00001450  2a 59 31 29 29 2f 33 30  2e 36 30 30 31 29 0d 07  |*Y1))/30.6001)..|
00001460  58 3c 44 25 3d 4a 44 2d  31 34 39 35 36 2d a8 28  |X<D%=JD-14956-.(|
00001470  33 36 35 2e 32 35 2a 59  31 29 2d a8 28 33 30 2e  |365.25*Y1)-.(30.|
00001480  36 2a 4d 31 29 3a 4b 3d  a8 28 30 2e 37 2b 28 31  |6*M1):K=.(0.7+(1|
00001490  2f 28 31 37 2d 4d 31 29  29 29 0d 07 62 10 4d 25  |/(17-M1)))..b.M%|
000014a0  3d 4d 31 2d 31 2d 31 32  2a 4b 0d 07 6c 0b 5a 25  |=M1-1-12*K..l.Z%|
000014b0  3d 59 31 2b 4b 0d 07 76  31 57 25 3d 28 4a 44 2b  |=Y1+K..v1W%=(JD+|
000014c0  33 29 83 37 3a f7 8d 74  40 47 3a e3 64 61 79 3d  |3).7:..t@G:.day=|
000014d0  30 b8 57 25 3a f3 44 24  3a ed 3a 44 24 3d 44 24  |0.W%:.D$:.:D$=D$|
000014e0  2b 22 64 61 79 22 0d 07  80 29 dc 20 53 75 6e 2c  |+"day"...). Sun,|
000014f0  4d 6f 6e 2c 54 75 65 73  2c 57 65 64 6e 65 73 2c  |Mon,Tues,Wednes,|
00001500  54 68 75 72 73 2c 46 72  69 2c 53 61 74 75 72 0d  |Thurs,Fri,Satur.|
00001510  07 8a 1d f7 8d 74 54 47  3a e3 64 61 79 3d 31 b8  |.....tTG:.day=1.|
00001520  4d 25 3a f3 6d 6f 6e 74  68 24 3a ed 0d 07 94 5b  |M%:.month$:....[|
00001530  dc 20 4a 61 6e 75 61 72  79 2c 46 65 62 72 75 61  |. January,Februa|
00001540  72 79 2c 4d 61 72 63 68  2c 41 70 72 69 6c 2c 4d  |ry,March,April,M|
00001550  61 79 2c 4a 75 6e 65 2c  4a 75 6c 79 2c 41 75 67  |ay,June,July,Aug|
00001560  75 73 74 2c 53 65 70 74  65 6d 62 65 72 2c 4f 63  |ust,September,Oc|
00001570  74 6f 62 65 72 2c 4e 6f  76 65 6d 62 65 72 2c 44  |tober,November,D|
00001580  65 63 65 6d 62 65 72 0d  07 9e 54 e7 44 25 3d 31  |ecember...T.D%=1|
00001590  84 44 25 3d 32 31 84 44  25 3d 33 31 20 74 68 24  |.D%=21.D%=31 th$|
000015a0  3d 22 73 74 22 20 8b e7  44 25 3d 32 84 44 25 3d  |="st" ..D%=2.D%=|
000015b0  32 32 20 74 68 24 3d 22  6e 64 22 20 8b e7 44 25  |22 th$="nd" ..D%|
000015c0  3d 33 84 44 25 3d 32 33  20 74 68 24 3d 22 72 64  |=3.D%=23 th$="rd|
000015d0  22 20 8b 74 68 24 3d 22  74 68 22 0d 07 a8 3f 6c  |" .th$="th"...?l|
000015e0  69 6e 65 3f 30 3d 32 31  3a 41 25 3d 26 37 41 3a  |ine?0=21:A%=&7A:|
000015f0  58 25 3d 6c 69 6e 65 20  83 32 35 36 3a 59 25 3d  |X%=line .256:Y%=|
00001600  6c 69 6e 65 20 81 32 35  36 3a d6 26 46 46 46 31  |line .256:.&FFF1|
00001610  3a 6c 69 6e 65 3f 36 3d  26 44 0d 07 b2 33 64 74  |:line?6=&D...3dt|
00001620  24 3d 44 24 2b 22 20 22  2b c3 28 44 25 29 2b 74  |$=D$+" "+.(D%)+t|
00001630  68 24 2b 22 20 22 2b 6d  6f 6e 74 68 24 2b 22 20  |h$+" "+month$+" |
00001640  31 39 22 2b c3 28 5a 25  29 2b 22 86 22 0d 07 bc  |19"+.(Z%)+"."...|
00001650  22 3d 64 74 24 2b c4 33  31 2d a9 28 64 74 24 29  |"=dt$+.31-.(dt$)|
00001660  2c 22 20 22 29 2b 24 28  6c 69 6e 65 2b 31 29 0d  |," ")+$(line+1).|
00001670  07 c6 05 3a 0d 07 d0 10  dd a4 77 68 69 63 68 5f  |...:......which_|
00001680  75 6e 69 74 0d 07 da 24  41 25 3d 26 37 41 3a 58  |unit...$A%=&7A:X|
00001690  25 3d 6c 69 6e 65 20 83  32 35 36 3a 59 25 3d 6c  |%=line .256:Y%=l|
000016a0  69 6e 65 20 81 32 35 36  0d 07 e4 1f 6c 69 6e 65  |ine .256....line|
000016b0  3f 30 3d 31 37 3a 6c 69  6e 65 3f 33 3d 26 46 46  |?0=17:line?3=&FF|
000016c0  3a d6 26 46 46 46 31 0d  07 ee 1e e7 6c 69 6e 65  |:.&FFF1.....line|
000016d0  3f 33 3d 26 46 46 20 3d  22 41 54 53 22 20 8b 3d  |?3=&FF ="ATS" .=|
000016e0  22 47 49 53 22 0d 07 f8  05 3a 0d 08 02 0a dd f2  |"GIS"....:......|
000016f0  64 6f 77 6e 0d 08 0c 33  f1 62 61 63 6b 63 6f 6c  |down...3.backcol|
00001700  24 3b 22 20 22 3b 6e 61  6d 65 63 6f 6c 32 24 3b  |$;" ";namecol2$;|
00001710  8a 31 30 2c bc 29 3b 63  6f 6d 6d 63 6f 6c 32 24  |.10,.);commcol2$|
00001720  3b 8a 30 2c bc 29 3b 0d  08 16 3a ef 31 30 3a f1  |;.0,.);...:.10:.|
00001730  62 61 63 6b 63 6f 6c 24  3b bd 28 31 35 37 29 3b  |backcol$;.(157);|
00001740  6e 61 6d 65 63 6f 6c 31  24 3b 8a 31 30 2c bc 29  |namecol1$;.10,.)|
00001750  3b 63 6f 6d 6d 63 6f 6c  31 24 3b 8a 30 2c bc 29  |;commcol1$;.0,.)|
00001760  3b 0d 08 20 05 e1 0d 08  2a 05 3a 0d 08 34 08 dd  |;.. ....*.:..4..|
00001770  f2 75 70 0d 08 3e 33 f1  62 61 63 6b 63 6f 6c 24  |.up..>3.backcol$|
00001780  3b 22 20 22 3b 6e 61 6d  65 63 6f 6c 32 24 3b 8a  |;" ";namecol2$;.|
00001790  31 30 2c bc 29 3b 63 6f  6d 6d 63 6f 6c 32 24 3b  |10,.);commcol2$;|
000017a0  8a 30 2c bc 29 3b 0d 08  48 3a ef 31 31 3a f1 62  |.0,.);..H:.11:.b|
000017b0  61 63 6b 63 6f 6c 24 3b  bd 28 31 35 37 29 3b 6e  |ackcol$;.(157);n|
000017c0  61 6d 65 63 6f 6c 31 24  3b 8a 31 30 2c bc 29 3b  |amecol1$;.10,.);|
000017d0  63 6f 6d 6d 63 6f 6c 31  24 3b 8a 30 2c bc 29 3b  |commcol1$;.0,.);|
000017e0  0d 08 52 05 e1 0d 08 5c  05 3a 0d 08 66 0c dd f2  |..R....\.:..f...|
000017f0  74 75 62 65 6f 6e 0d 08  70 a1 f2 68 65 61 64 69  |tubeon..p..headi|
00001800  6e 67 28 31 2c bd 31 32  37 2b bd 31 35 31 2b c4  |ng(1,.127+.151+.|
00001810  33 39 2c 22 2c 22 29 2b  bd 31 32 39 2b bd 31 35  |39,",")+.129+.15|
00001820  37 2b bd 31 33 35 2b 22  54 68 65 20 27 54 75 62  |7+.135+"The 'Tub|
00001830  65 27 20 69 73 20 61 63  74 69 76 65 2e 20 50 6c  |e' is active. Pl|
00001840  65 61 73 65 20 64 69 73  61 62 6c 65 22 2b bd 31  |ease disable"+.1|
00001850  30 2b bd 31 33 2b bd 31  32 39 2b bd 31 35 37 2b  |0+.13+.129+.157+|
00001860  bd 31 33 35 2b 22 74 68  65 6e 20 43 48 41 49 4e  |.135+"then CHAIN|
00001870  20 53 61 74 4c 6f 61 64  20 61 67 61 69 6e 2e 22  | SatLoad again."|
00001880  2b bd 31 30 2b bd 31 33  2b bd 31 35 31 2b c4 33  |+.10+.13+.151+.3|
00001890  39 2c 22 2c 22 29 29 0d  08 7a 14 ef 32 33 2c 31  |9,","))..z..23,1|
000018a0  2c 30 3b 30 3b 30 3b 30  3b 3a f1 0d 08 84 05 e1  |,0;0;0;0;:......|
000018b0  0d 08 8e 05 3a 0d 08 98  14 dd a4 63 68 65 63 6b  |....:......check|
000018c0  63 72 63 28 6d 65 6d 25  29 0d 08 a2 55 41 25 3d  |crc(mem%)...UA%=|
000018d0  26 37 41 3a 58 25 3d 6c  69 6e 65 20 83 32 35 36  |&7A:X%=line .256|
000018e0  3a 59 25 3d 6c 69 6e 65  20 81 32 35 36 3a 6c 69  |:Y%=line .256:li|
000018f0  6e 65 3f 30 3d 32 33 3a  6c 69 6e 65 3f 31 3d 6d  |ne?0=23:line?1=m|
00001900  65 6d 25 83 32 35 36 3a  6c 69 6e 65 3f 32 3d 6d  |em%.256:line?2=m|
00001910  65 6d 25 81 32 35 36 3a  d6 26 46 46 46 31 0d 08  |em%.256:.&FFF1..|
00001920  ac 15 e7 6c 69 6e 65 3f  33 3d 31 20 3d b9 20 8b  |...line?3=1 =. .|
00001930  20 3d a3 0d 08 b6 05 3a  0d 08 c0 11 f4 22 81 45  | =.....:.....".E|
00001940  72 72 6f 72 20 74 72 61  70 0d 08 ca 0f dd f2 65  |rror trap......e|
00001950  6e 64 28 65 72 72 25 29  0d 08 d4 0b ee 85 e5 8d  |nd(err%)........|
00001960  54 50 49 0d 08 de 0c 2a  46 58 32 32 39 2c 31 0d  |TPI....*FX229,1.|
00001970  08 e8 63 e7 65 72 72 25  3d 32 35 34 3a f2 68 65  |..c.err%=254:.he|
00001980  61 64 69 6e 67 28 31 2c  22 83 55 6e 72 65 63 6f  |ading(1,".Unreco|
00001990  67 6e 69 73 65 64 20 63  6f 6d 6d 61 6e 64 20 66  |gnised command f|
000019a0  6f 75 6e 64 22 2b bd 31  30 2b bd 31 33 2b 22 20  |ound"+.10+.13+" |
000019b0  83 49 73 20 74 68 65 20  61 64 61 70 74 6f 72 20  |.Is the adaptor |
000019c0  74 75 72 6e 65 64 20 6f  6e 3f 22 29 3a e5 8d 54  |turned on?"):..T|
000019d0  50 49 0d 08 f2 0b 2a 54  54 58 4f 46 46 0d 08 fc  |PI....*TTXOFF...|
000019e0  07 ef 32 36 0d 09 06 12  e7 65 72 72 25 3d 2d 31  |..26.....err%=-1|
000019f0  20 e5 8d 44 7e 49 0d 09  10 24 f1 8a 30 2c 31 39  | ..D~I...$..0,19|
00001a00  29 89 28 34 30 29 3b bd  31 35 31 3b c4 33 39 2c  |).(40);.151;.39,|
00001a10  22 2c 22 29 3b 89 28 34  30 29 0d 09 1a 24 f1 8a  |",");.(40)...$..|
00001a20  30 2c 32 31 29 22 83 45  72 72 6f 72 3a 22 3b bd  |0,21)".Error:";.|
00001a30  31 32 39 3b bd 31 35 37  3b bd 31 33 35 3b 0d 09  |129;.157;.135;..|
00001a40  24 1b 73 74 25 3d 28 28  3f 26 46 45 29 2a 32 35  |$.st%=((?&FE)*25|
00001a50  36 29 2b 28 3f 26 46 44  29 0d 09 2e 47 65 72 72  |6)+(?&FD)...Gerr|
00001a60  65 70 25 3d 73 74 25 3a  f5 3a 65 72 72 65 70 25  |ep%=st%:.:errep%|
00001a70  3d 65 72 72 65 70 25 2b  31 3a ef 3f 28 65 72 72  |=errep%+1:.?(err|
00001a80  65 70 25 29 3a fd 20 3f  65 72 72 65 70 25 3d 30  |ep%):. ?errep%=0|
00001a90  20 84 20 65 72 72 65 70  25 3d 73 74 25 2b 33 30  | . errep%=st%+30|
00001aa0  0d 09 38 23 f1 22 20 20  22 3b bd 31 35 36 27 bd  |..8#."  ";.156'.|
00001ab0  31 35 31 3b c4 33 39 2c  22 2c 22 29 3b 89 28 34  |151;.39,",");.(4|
00001ac0  30 29 3b 0d 09 42 2f f1  22 83 50 72 65 73 73 87  |0);..B/.".Press.|
00001ad0  45 53 43 41 50 45 83 74  6f 20 71 75 69 74 20 6f  |ESCAPE.to quit o|
00001ae0  72 87 53 50 41 43 45 83  74 6f 20 72 65 72 75 6e  |r.SPACE.to rerun|
00001af0  22 3b 0d 09 4c 1f f5 3a  6b 65 79 25 3d a5 3a fd  |";..L..:key%=.:.|
00001b00  6b 65 79 25 3d 33 32 20  84 20 6b 65 79 25 3d 32  |key%=32 . key%=2|
00001b10  37 0d 09 56 11 f2 72 65  74 75 72 6e 5f 6f 73 68  |7..V..return_osh|
00001b20  77 6d 0d 09 60 08 d3 3d  48 25 0d 09 6a 20 e7 6b  |wm..`..=H%..j .k|
00001b30  65 79 25 3d 33 32 3a f2  6f 73 63 6c 69 28 22 46  |ey%=32:.oscli("F|
00001b40  58 32 32 39 2c 30 22 29  3a f9 0d 09 74 12 f2 68  |X229,0"):...t..h|
00001b50  65 61 64 69 6e 67 28 31  2c 22 22 29 0d 09 7e 1a  |eading(1,"")..~.|
00001b60  ef 32 33 2c 31 2c 31 3b  30 3b 30 3b 30 3b 3a f1  |.23,1,1;0;0;0;:.|
00001b70  8a 30 2c 37 29 3b 0d 09  88 0c 2a 46 58 32 32 39  |.0,7);....*FX229|
00001b80  2c 30 0d 09 92 08 2a 46  58 34 0d 09 9c 05 e0 0d  |,0....*FX4......|
00001b90  09 a6 05 3a 0d 09 b0 0c  dd f2 6c 61 74 65 73 74  |...:......latest|
00001ba0  0d 09 ba 2a f1 8a 31 2c  31 37 29 89 28 37 35 29  |...*..1,17).(75)|
00001bb0  8a 31 2c 31 37 29 22 46  69 6c 65 3a 86 4c 61 74  |.1,17)"File:.Lat|
00001bc0  65 73 74 20 49 6d 61 67  65 22 0d 09 c4 0c ea 4d  |est Image".....M|
00001bd0  31 25 2c 4e 31 25 0d 09  ce 11 4d 31 25 3d 4d 25  |1%,N1%....M1%=M%|
00001be0  3a 4e 31 25 3d 4e 25 0d  09 d8 15 f2 66 69 6e 64  |:N1%=N%.....find|
00001bf0  63 61 74 28 4d 25 2c 4e  25 2c 31 29 0d 09 e2 1d  |cat(M%,N%,1)....|
00001c00  e7 28 28 4d 25 2a 31 30  30 29 2b 4e 25 29 3e 26  |.((M%*100)+N%)>&|
00001c10  38 30 30 20 e5 8d 54 40  4a 0d 09 ec 23 f1 8a 32  |800 ..T@J...#..2|
00001c20  2c 30 29 22 50 22 3b c3  28 4d 25 29 3b c2 22 30  |,0)"P";.(M%);."0|
00001c30  30 22 2b c3 7e 28 4e 25  29 2c 32 29 0d 09 f6 1f  |0"+.~(N%),2)....|
00001c40  f2 64 6f 77 6e 6c 6f 61  64 28 4d 25 2c 4e 25 2c  |.download(M%,N%,|
00001c50  22 22 2c 30 2c 30 2c b9  2c b9 29 0d 0a 00 15 4d  |"",0,0,.,.)....M|
00001c60  25 3d 4d 31 25 3a 4e 25  3d 4e 31 25 3a ef 32 36  |%=M1%:N%=N1%:.26|
00001c70  0d 0a 0a 31 f2 68 65 61  64 69 6e 67 28 32 2c 22  |...1.heading(2,"|
00001c80  46 69 6c 65 3a 86 53 61  74 65 6c 6c 69 74 65 20  |File:.Satellite |
00001c90  49 6d 61 67 65 20 43 61  74 61 6c 6f 67 75 65 22  |Image Catalogue"|
00001ca0  29 0d 0a 14 23 f1 8a 32  2c 30 29 22 50 22 3b c3  |)...#..2,0)"P";.|
00001cb0  28 4d 25 29 3b c2 22 30  30 22 2b c3 7e 28 4e 25  |(M%);."00"+.~(N%|
00001cc0  29 2c 32 29 0d 0a 1e 05  e1 0d ff                 |),2).......|
00001ccb
24-02-89/SatLoad.m0
24-02-89/SatLoad.m1
24-02-89/SatLoad.m2
24-02-89/SatLoad.m4
24-02-89/SatLoad.m5