Home » Archimedes archive » Acorn User » AU 1998-09.adf » Regulars » StarInfo/Collins/!KeepTrack/!RunImage

StarInfo/Collins/!KeepTrack/!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 1998-09.adf » Regulars
Filename: StarInfo/Collins/!KeepTrack/!RunImage
Read OK:
File size: 18F3 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM KeepTrack
   20REM Pre-release version 6.13
   30REM Release Version 1:00
   40REM By The Mad Hamster
   50
   60ON ERROR PROCerr
   70
   80DIM taskid%4 ,q% 100:$taskid%="TASK"
   90DIM buffer 256
  100
  110PROCcheck("KeepTrack")
  120IF count = 1 THEN END
  130
  140old%=MODE
  150prequit%=FALSE
  160quit%=FALSE
  170
  180SYS"OS_ReadVarVal","Track$Dir",q%+256,256,0,3TO,,e%:?(q%+256+e%)=13
  190mypath$=$(q%+256)
  200log$=mypath$+".LogFile"
  210
  220SYS "Wimp_Initialise",200,!taskid%,"KeepTrack" TO version%,taskhand%
  230version$=LEFT$(STR$(version%),1)+"."+MID$(STR$(version%),2,2)
  240
  250PROCStillNoCo
  260PROCGenTaskList
  270PROCbantask
  280
  290PROCchecklog(log$,0)
  300IF exists=0 THEN PROCgenlog
  310IF mine=0 THEN PROCmove
  320
  330PROCon
  340PROCCheckSum(log$)
  350Old_Sum%=File_Sum%
  360
  370REPEAT
  380 SYS"Wimp_Poll",0,q% TO action%
  390 CASE action% OF
  400  WHEN 17,18,19:
  410   CASE q%!16 OF
  420    WHEN &400C2: PROCTaskLog(FNget_string(q%+28),q%!4)
  430    WHEN &400C1: PROCmode
  440    WHEN 10: PROCdesksave
  450    WHEN 5: PROCTypeCheck
  460    WHEN 8: IF version%>299 THEN PROCDeskEnd ELSE prequit%=TRUE
  470    WHEN 0: IF prequit%=TRUE THEN quit%=TRUE ELSE quit%=FALSE
  480   ENDCASE
  490 ENDCASE
  500UNTIL quit%=TRUE
  510
  520PROCoff
  530PROCend
  540
  550END
  560
  570DEFPROCDeskEnd
  580IF q%!20=0 THEN prequit%=TRUE ELSE prequit%=FALSE
  590ENDPROC
  600
  610DEFPROCGenTaskList
  620exists=0
  630Task_List$=mypath$+".Configs.BanTask"
  640PROCchecklog(Task_List$,0)
  650IF exists=1 THEN PROCFillList ELSE Banned_List%=0
  660ENDPROC
  670
  680DEFPROCFillList
  690Banned_List%=1
  700list_file=OPENIN Task_List$
  710line_count=0
  720REPEAT
  730  temp$=GET$#list_file
  740  line_count=line_count+1
  750UNTIL EOF#list_file
  760PTR#list_file=0 : REM Go back to file start
  770DIM Task_Names$(line_count)
  780No_Of_Tasks=0
  790REPEAT
  800  Task_Names$(No_Of_Tasks)=GET$#list_file
  810  No_Of_Tasks=No_Of_Tasks+1
  820UNTIL EOF#list_file
  830CLOSE#list_file
  840ENDPROC
  850
  860DEFPROCcheck(task$)
  870r0 = 0
  880count = 0
  890REPEAT
  900  SYS "TaskManager_EnumerateTasks", r0, buffer, 16 TO r0
  910  IF FNget_string(buffer!4) = task$ THEN count += 1
  920UNTIL r0 <= 0 OR count=1
  930ENDPROC
  940
  950DEFPROCchecklog(file$,calc_sum)
  960exists=1
  970mine=1
  980SYS "OS_File", 17, file$ TO type%, , load%, exec%, length%, attributes%
  990IF type%=1 AND (attributes% AND (1<<3))=(1<<3) THEN SYS "OS_File",4,file$,,,,19
 1000IF type%=0 THEN exists=0
 1010IF type%>1 THEN mine=0
 1020IF exists=1 AND mine=1 AND calc_sum=1 THEN PROCCheckSum(file$)
 1030ENDPROC
 1040
 1050DEFPROCCheckSum(file$)
 1060SYS "OS_File",17,file$ TO Obj_Type%, ,File_Load%,File_Exec%,File_Length%,File_Attrib%
 1070File_Sum%=File_Load%+File_Exec%+File_Length%+File_Attrib%
 1080ENDPROC
 1090
 1100DEFPROCon
 1110PROCtime
 1120start$=when$
 1130log%=OPENUP log$
 1140PROCreadfile
 1150BPUT#log%,""
 1160BPUT#log%,"Switched on at "+when$
 1170BPUT#log%,"Machine fitted with RISC OS "+version$
 1180CLOSE#log%
 1190ENDPROC
 1200
 1210DEFPROCoff
 1220PROCtime
 1230PROCchecklog(log$,1)
 1240IF exists=0 THEN PROCremoved
 1250IF mine=0 THEN REM Erm I don't know,any sugestions?
 1260IF File_Sum%<>Old_Sum% THEN PROCDoctored
 1270log%=OPENUP log$
 1280PROCreadfile
 1290BPUT#log%,"Switched off at "+when$
 1300CLOSE#log%
 1310PROCCheckSum(log$)
 1320Old_Sum%=File_Sum%
 1330ENDPROC
 1340
 1350DEFPROCDoctored
 1360log%=OPENUP log$
 1370PROCreadfile
 1380BPUT#log%,"Unofficial log file modification detected at "+when$
 1390CLOSE#log%
 1400ENDPROC
 1410
 1420DEFPROCgenlog
 1430PROCtime
 1440log%=OPENOUT log$
 1450BPUT#log%,"Log file started at "+when$
 1460BPUT#log%,"Log file started on a machine fitted with  RISC OS "+version$
 1470CLOSE#log%
 1480SYS "OS_File",18,log$,&fff
 1490ENDPROC
 1500
 1510DEFPROCmove
 1520SYS "OS_File",4,log$,,,,19
 1530SYS "Wimp_StartTask","ReName "+log$+" <Track$Dir>.Found"
 1540PROCgenlog(log$)
 1550ENDPROC
 1560
 1570DEFPROCremoved
 1580PROCtime
 1590log%=OPENOUT log$
 1600BPUT#log%,"The origianal log file was deleted, renamed or moved"
 1610BPUT#log%,"during the first operation listed below.  This new log"
 1620BPUT#log%,"file does not contain details of any operations that"
 1630BPUT#log%,"occured before that time."
 1640BPUT#log%,""
 1650BPUT#log%,"Switched on at "+start$
 1660BPUT#log%,"Machine fitted with RISC OS "+version$
 1670CLOSE#log%
 1680SYS "OS_File",18,log$,&fff
 1690PROCCheckSum(log$)
 1700Old_Sum%=File_Sum%
 1710ENDPROC
 1720
 1730DEFPROCTaskLog(tname$,handle%)
 1740PROCtime
 1750logit=1
 1760IF tname$="KeepTrack" THEN logit=0
 1770IF tname$="Desktop" THEN logit=0
 1780IF tname$="Filer Action Window" THEN logit=0
 1790IF tname$="ShellCLI" THEN PROCStillNoCo
 1800IF Banned_List%=1 THEN PROCStartKill(tname$,handle%)
 1810IF tname$="Configure" THEN PROCKillTask(handle%)
 1820IF logit=1 THEN PROClogit(tname$,when$)
 1830ENDPROC
 1840
 1850DEFPROCStartKill(passed_name$,passed_handle%)
 1860FOR loop=0 TO No_Of_Tasks
 1870  IF passed_name$=Task_Names$(loop) THEN PROCKillTask(passed_handle%)
 1880NEXT
 1890ENDPROC
 1900
 1910DEFPROClogit(tname$,when$)
 1920PROCchecklog(log$,1)
 1930IF exists=0 THEN PROCremoved
 1940IF mine=0 THEN REM Erm I don't know,any sugestions?
 1950IF File_Sum%<>Old_Sum% THEN PROCDoctored
 1960log%=OPENUP log$
 1970PROCreadfile
 1980BPUT#log%,tname$+" was started at "+when$
 1990CLOSE#log%
 2000PROCCheckSum(log$)
 2010Old_Sum%=File_Sum%
 2020ENDPROC
 2030
 2040DEFPROCmode
 2050new%=MODE
 2060IF old%=new% THEN change%=0 ELSE PROClogchange
 2070ENDPROC
 2080
 2090DEFPROClogchange
 2100PROCchecklog(log$,1)
 2110IF exists=0 THEN PROCremoved
 2120IF mine=0 THEN REM Erm I don't know,any sugestions?
 2130PROCtime
 2140IF File_Sum%<>Old_Sum% THEN PROCDoctored
 2150log%=OPENUP log$
 2160PROCreadfile
 2170BPUT#log%,"Attempted mode change to "+STR$(new%)+" at "+when$
 2180CLOSE#log%
 2190SYS "Wimp_SetMode",old%
 2200PROCCheckSum(log$)
 2210Old_Sum%=File_Sum%
 2220ENDPROC
 2230
 2240DEFPROCreadfile
 2250PTR#log%=EXT#log%
 2260ENDPROC
 2270
 2280DEFPROCtime
 2290month$=MID$(TIME$,8,3)
 2300date$=MID$(TIME$,5,2)
 2310day$=LEFT$(TIME$,3)
 2320year$=MID$(TIME$,12,4)
 2330heur$=RIGHT$(TIME$,8) : REM Well I couldn't use TIME$ could I?
 2340when$=heur$+" on "+day$+" "+month$+" "+date$+" "+year$
 2350ENDPROC
 2360
 2370DEFPROCdesksave
 2380BPUT#q%!20,"Run "+mypath$
 2390ENDPROC
 2400
 2410DEFPROCDirClick
 2420PROCPathCheck(mypath$)
 2430IF matched=1 THEN PROCNoLoad
 2440ENDPROC
 2450
 2460DEFPROCPathCheck(checker$)
 2470matched=0
 2480n%=44
 2490name$=""
 2500WHILE q%?n% <>0:name$=name$ + CHR$(q%?n%):n%+=1:ENDWHILE
 2510location=INSTR(name$,checker$)
 2520IF location=0 THEN matched=0 ELSE matched=1
 2530ENDPROC
 2540
 2550DEFPROCModule
 2560PROCPathCheck("HideTask")
 2570IF matched=1 THEN PROCNoLoad
 2580ENDPROC
 2590
 2600DEFPROCAppClick
 2610PROCPathCheck("Resources:$.Apps.!Configure")
 2620IF matched=1 THEN PROCNoLoad
 2630ENDPROC
 2640
 2650DEFPROCNoLoad
 2660quit%=FALSE
 2670REM !q%=44
 2680q%!12=q%!8
 2690q%!16=4
 2700SYS"Wimp_SendMessage",17,q%,0
 2710ENDPROC
 2720
 2730DEFPROCerr
 2740PRINTTAB(10,10)"KeepTrack: "
 2750REPORT
 2760PRINT " at line ";ERL
 2770VDU 7
 2780END
 2790ENDPROC
 2800
 2810DEFPROCbantask
 2820bantask$="Configure"
 2830PROCcheck(bantask$)
 2840IF count=1 THEN PROCKillTask(buffer!0)
 2850ENDPROC
 2860
 2870DEFPROCKillTask(than%)
 2880  quit%=FALSE
 2890  !q%=20
 2900  q%!16=0
 2910  SYS"Wimp_SendMessage",17,q%,than%
 2920ENDPROC
 2930
 2940DEFPROCTypeCheck
 2950CASE q%!40 OF
 2960  WHEN &1000: PROCDirClick
 2970  WHEN &2000: PROCAppClick
 2980  WHEN &FFA : PROCModule
 2990ENDCASE
 3000ENDPROC
 3010
 3020DEFPROCStillNoCo
 3030logit=0
 3040IF version%>299 AND version%<350 THEN SYS "Wimp_StartTask","RMEnsure NoCoMod 1.00 RMLoad "+mypath$+".NoCoMod"
 3050ENDPROC
 3060
 3070PROCKillDesk
 3080IF version%>299 THEN SYS "Wimp_StartTask","RMKill NoCoMod"
 3090ENDPROC
 3100
 3110DEF FNget_string(p%)
 3120LOCAL a$
 3130WHILE ?p% > 31
 3140  a$ = a$ + CHR$ ?p%
 3150  p% += 1
 3160ENDWHILE
 3170= a$
 3180
 3190DEFPROCend
 3200SYS "Wimp_CloseDown",taskhand%,!taskid%
 3210END
 3220ENDPROC

� KeepTrack
� Pre-release version 6.13
� Release Version 1:00
(� By The Mad Hamster
2
<� � �err
F
P&� taskid%4 ,q% 100:$taskid%="TASK"
Z� buffer 256
d
n�check("KeepTrack")
x� count = 1 � �
�
�
old%=�
�prequit%=�
�quit%=�
�
�Eș"OS_ReadVarVal","Track$Dir",q%+256,256,0,3�,,e%:?(q%+256+e%)=13
�mypath$=$(q%+256)
�log$=mypath$+".LogFile"
�
�Fș "Wimp_Initialise",200,!taskid%,"KeepTrack" � version%,taskhand%
�2version$=��(version%),1)+"."+��(version%),2,2)
�
��StillNoCo
�GenTaskList
�bantask

"�checklog(log$,0)
,� exists=0 � �genlog
6� mine=0 � �move
@
J�on
T�CheckSum(log$)
^Old_Sum%=File_Sum%
h
r�
|! ș"Wimp_Poll",0,q% � action%
� Ȏ action% �
�  � 17,18,19:
�   Ȏ q%!16 �
�3    � &400C2: �TaskLog(�get_string(q%+28),q%!4)
�    � &400C1: �mode
�    � 10: �desksave
�    � 5: �TypeCheck
�3    � 8: � version%>299 � �DeskEnd � prequit%=�
�-    � 0: � prequit%=� � quit%=� � quit%=�
�   �
� �
�
� quit%=�
�
�off
�end

&�
0
:
��DeskEnd
D'� q%!20=0 � prequit%=� � prequit%=�
N�
X
b��GenTaskList
lexists=0
v)Task_List$=mypath$+".Configs.BanTask"
��checklog(Task_List$,0)
�+� exists=1 � �FillList � Banned_List%=0
��
�
���FillList
�Banned_List%=1
�list_file=� Task_List$
�line_count=0
��
�  temp$=�#list_file
�  line_count=line_count+1
�� �#list_file
�+�#list_file=0 : � Go back to file start
� Task_Names$(line_count)
No_Of_Tasks=0
�
 *  Task_Names$(No_Of_Tasks)=�#list_file
*  No_Of_Tasks=No_Of_Tasks+1
4� �#list_file
>�#list_file
H�
R
\��check(task$)
f
r0 = 0
p
count = 0
z�
�:  ș "TaskManager_EnumerateTasks", r0, buffer, 16 � r0
�2  � �get_string(buffer!4) = task$ � count += 1
�� r0 <= 0 � count=1
��
�
���checklog(file$,calc_sum)
�exists=1
�
mine=1
�Iș "OS_File", 17, file$ � type%, , load%, exec%, length%, attributes%
�J� type%=1 � (attributes% � (1<<3))=(1<<3) � ș "OS_File",4,file$,,,,19
�� type%=0 � exists=0
�� type%>1 � mine=0
�7� exists=1 � mine=1 � calc_sum=1 � �CheckSum(file$)
�

��CheckSum(file$)
$Wș "OS_File",17,file$ � Obj_Type%, ,File_Load%,File_Exec%,File_Length%,File_Attrib%
.=File_Sum%=File_Load%+File_Exec%+File_Length%+File_Attrib%
8�
B
L��on
V	�time
`start$=when$
jlog%=� log$
t
�readfile
~
�#log%,""
�"�#log%,"Switched on at "+when$
�2�#log%,"Machine fitted with RISC OS "+version$
�
�#log%
��
�
�	��off
�	�time
��checklog(log$,1)
�� exists=0 � �removed
�1� mine=0 � � Erm I don't know,any sugestions?
�%� File_Sum%<>Old_Sum% � �Doctored
�log%=� log$

�readfile

#�#log%,"Switched off at "+when$

�#log%
�CheckSum(log$)
(Old_Sum%=File_Sum%
2�
<
F��Doctored
Plog%=� log$
Z
�readfile
d@�#log%,"Unofficial log file modification detected at "+when$
n
�#log%
x�
�
���genlog
�	�time
�log%=� log$
�'�#log%,"Log file started at "+when$
�I�#log%,"Log file started on a machine fitted with  RISC OS "+version$
�
�#log%
�ș "OS_File",18,log$,&fff
��
�
�
��move
�ș "OS_File",4,log$,,,,19
�;ș "Wimp_StartTask","ReName "+log$+" <Track$Dir>.Found"
�genlog(log$)
�

"
��removed
,	�time
6log%=� log$
@A�#log%,"The origianal log file was deleted, renamed or moved"
JC�#log%,"during the first operation listed below.  This new log"
TA�#log%,"file does not contain details of any operations that"
^&�#log%,"occured before that time."
h
�#log%,""
r#�#log%,"Switched on at "+start$
|2�#log%,"Machine fitted with RISC OS "+version$
�
�#log%
�ș "OS_File",18,log$,&fff
��CheckSum(log$)
�Old_Sum%=File_Sum%
��
�
���TaskLog(tname$,handle%)
�	�time
�logit=1
�"� tname$="KeepTrack" � logit=0
� � tname$="Desktop" � logit=0
�,� tname$="Filer Action Window" � logit=0
�$� tname$="ShellCLI" � �StillNoCo
1� Banned_List%=1 � �StartKill(tname$,handle%)
-� tname$="Configure" � �KillTask(handle%)
$� logit=1 � �logit(tname$,when$)
&�
0
:,��StartKill(passed_name$,passed_handle%)
D� loop=0 � No_Of_Tasks
NB  � passed_name$=Task_Names$(loop) � �KillTask(passed_handle%)
X�
b�
l
v��logit(tname$,when$)
��checklog(log$,1)
�� exists=0 � �removed
�1� mine=0 � � Erm I don't know,any sugestions?
�%� File_Sum%<>Old_Sum% � �Doctored
�log%=� log$
�
�readfile
�*�#log%,tname$+" was started at "+when$
�
�#log%
��CheckSum(log$)
�Old_Sum%=File_Sum%
��
�
�
��mode

new%=�
(� old%=new% � change%=0 � �logchange
�
 
*��logchange
4�checklog(log$,1)
>� exists=0 � �removed
H1� mine=0 � � Erm I don't know,any sugestions?
R	�time
\%� File_Sum%<>Old_Sum% � �Doctored
flog%=� log$
p
�readfile
z;�#log%,"Attempted mode change to "+�(new%)+" at "+when$
�
�#log%
�ș "Wimp_SetMode",old%
��CheckSum(log$)
�Old_Sum%=File_Sum%
��
�
���readfile
��#log%=�#log%
��
�
�
��time
�month$=��$,8,3)
�date$=��$,5,2)
	day$=��$,3)
	year$=��$,12,4)
	7heur$=‘$,8) : � Well I couldn't use TIME$ could I?
	$:when$=heur$+" on "+day$+" "+month$+" "+date$+" "+year$
	.�
	8
	B��desksave
	L�#q%!20,"Run "+mypath$
	V�
	`
	j��DirClick
	t�PathCheck(mypath$)
	~� matched=1 � �NoLoad
	��
	�
	���PathCheck(checker$)
	�
matched=0
	�	n%=44
	�name$=""
	�/ȕ q%?n% <>0:name$=name$ + �(q%?n%):n%+=1:�
	�location=�name$,checker$)
	�(� location=0 � matched=0 � matched=1
	��
	�
	���Module
�PathCheck("HideTask")

� matched=1 � �NoLoad
�

(��AppClick
2-�PathCheck("Resources:$.Apps.!Configure")
<� matched=1 � �NoLoad
F�
P
Z��NoLoad
dquit%=�
n� !q%=44
xq%!12=q%!8
�q%!16=4
� ș"Wimp_SendMessage",17,q%,0
��
�
�	��err
��10,10)"KeepTrack: "
��
�� " at line ";�
�� 7
��
��
�
�
��bantask
bantask$="Configure"
�check(bantask$)
#� count=1 � �KillTask(buffer!0)
"�
,
6��KillTask(than%)
@
  quit%=�
J  !q%=20
T
  q%!16=0
^&  ș"Wimp_SendMessage",17,q%,than%
h�
r
|��TypeCheck
�Ȏ q%!40 �
�  � &1000: �DirClick
�  � &2000: �AppClick
�  � &FFA : �Module
��
��
�
���StillNoCo
�logit=0
�j� version%>299 � version%<350 � ș "Wimp_StartTask","RMEnsure NoCoMod 1.00 RMLoad "+mypath$+".NoCoMod"
��
�
�
�KillDesk
9� version%>299 � ș "Wimp_StartTask","RMKill NoCoMod"
�

&� �get_string(p%)
0� a$
:ȕ ?p% > 31
D  a$ = a$ + � ?p%
N
  p% += 1
X�
b= a$
l
v	��end
�*ș "Wimp_CloseDown",taskhand%,!taskid%
��
��
�
00000000  0d 00 0a 0f f4 20 4b 65  65 70 54 72 61 63 6b 0d  |..... KeepTrack.|
00000010  00 14 1e f4 20 50 72 65  2d 72 65 6c 65 61 73 65  |.... Pre-release|
00000020  20 76 65 72 73 69 6f 6e  20 36 2e 31 33 0d 00 1e  | version 6.13...|
00000030  1a f4 20 52 65 6c 65 61  73 65 20 56 65 72 73 69  |.. Release Versi|
00000040  6f 6e 20 31 3a 30 30 0d  00 28 18 f4 20 42 79 20  |on 1:00..(.. By |
00000050  54 68 65 20 4d 61 64 20  48 61 6d 73 74 65 72 0d  |The Mad Hamster.|
00000060  00 32 04 0d 00 3c 0c ee  20 85 20 f2 65 72 72 0d  |.2...<.. . .err.|
00000070  00 46 04 0d 00 50 26 de  20 74 61 73 6b 69 64 25  |.F...P&. taskid%|
00000080  34 20 2c 71 25 20 31 30  30 3a 24 74 61 73 6b 69  |4 ,q% 100:$taski|
00000090  64 25 3d 22 54 41 53 4b  22 0d 00 5a 10 de 20 62  |d%="TASK"..Z.. b|
000000a0  75 66 66 65 72 20 32 35  36 0d 00 64 04 0d 00 6e  |uffer 256..d...n|
000000b0  17 f2 63 68 65 63 6b 28  22 4b 65 65 70 54 72 61  |..check("KeepTra|
000000c0  63 6b 22 29 0d 00 78 13  e7 20 63 6f 75 6e 74 20  |ck")..x.. count |
000000d0  3d 20 31 20 8c 20 e0 0d  00 82 04 0d 00 8c 0a 6f  |= 1 . .........o|
000000e0  6c 64 25 3d eb 0d 00 96  0e 70 72 65 71 75 69 74  |ld%=.....prequit|
000000f0  25 3d a3 0d 00 a0 0b 71  75 69 74 25 3d a3 0d 00  |%=.....quit%=...|
00000100  aa 04 0d 00 b4 45 c8 99  22 4f 53 5f 52 65 61 64  |.....E.."OS_Read|
00000110  56 61 72 56 61 6c 22 2c  22 54 72 61 63 6b 24 44  |VarVal","Track$D|
00000120  69 72 22 2c 71 25 2b 32  35 36 2c 32 35 36 2c 30  |ir",q%+256,256,0|
00000130  2c 33 b8 2c 2c 65 25 3a  3f 28 71 25 2b 32 35 36  |,3.,,e%:?(q%+256|
00000140  2b 65 25 29 3d 31 33 0d  00 be 15 6d 79 70 61 74  |+e%)=13....mypat|
00000150  68 24 3d 24 28 71 25 2b  32 35 36 29 0d 00 c8 1b  |h$=$(q%+256)....|
00000160  6c 6f 67 24 3d 6d 79 70  61 74 68 24 2b 22 2e 4c  |log$=mypath$+".L|
00000170  6f 67 46 69 6c 65 22 0d  00 d2 04 0d 00 dc 46 c8  |ogFile".......F.|
00000180  99 20 22 57 69 6d 70 5f  49 6e 69 74 69 61 6c 69  |. "Wimp_Initiali|
00000190  73 65 22 2c 32 30 30 2c  21 74 61 73 6b 69 64 25  |se",200,!taskid%|
000001a0  2c 22 4b 65 65 70 54 72  61 63 6b 22 20 b8 20 76  |,"KeepTrack" . v|
000001b0  65 72 73 69 6f 6e 25 2c  74 61 73 6b 68 61 6e 64  |ersion%,taskhand|
000001c0  25 0d 00 e6 32 76 65 72  73 69 6f 6e 24 3d c0 c3  |%...2version$=..|
000001d0  28 76 65 72 73 69 6f 6e  25 29 2c 31 29 2b 22 2e  |(version%),1)+".|
000001e0  22 2b c1 c3 28 76 65 72  73 69 6f 6e 25 29 2c 32  |"+..(version%),2|
000001f0  2c 32 29 0d 00 f0 04 0d  00 fa 0e f2 53 74 69 6c  |,2).........Stil|
00000200  6c 4e 6f 43 6f 0d 01 04  10 f2 47 65 6e 54 61 73  |lNoCo.....GenTas|
00000210  6b 4c 69 73 74 0d 01 0e  0c f2 62 61 6e 74 61 73  |kList.....bantas|
00000220  6b 0d 01 18 04 0d 01 22  15 f2 63 68 65 63 6b 6c  |k......"..checkl|
00000230  6f 67 28 6c 6f 67 24 2c  30 29 0d 01 2c 18 e7 20  |og(log$,0)..,.. |
00000240  65 78 69 73 74 73 3d 30  20 8c 20 f2 67 65 6e 6c  |exists=0 . .genl|
00000250  6f 67 0d 01 36 14 e7 20  6d 69 6e 65 3d 30 20 8c  |og..6.. mine=0 .|
00000260  20 f2 6d 6f 76 65 0d 01  40 04 0d 01 4a 07 f2 6f  | .move..@...J..o|
00000270  6e 0d 01 54 13 f2 43 68  65 63 6b 53 75 6d 28 6c  |n..T..CheckSum(l|
00000280  6f 67 24 29 0d 01 5e 16  4f 6c 64 5f 53 75 6d 25  |og$)..^.Old_Sum%|
00000290  3d 46 69 6c 65 5f 53 75  6d 25 0d 01 68 04 0d 01  |=File_Sum%..h...|
000002a0  72 05 f5 0d 01 7c 21 20  c8 99 22 57 69 6d 70 5f  |r....|! .."Wimp_|
000002b0  50 6f 6c 6c 22 2c 30 2c  71 25 20 b8 20 61 63 74  |Poll",0,q% . act|
000002c0  69 6f 6e 25 0d 01 86 11  20 c8 8e 20 61 63 74 69  |ion%.... .. acti|
000002d0  6f 6e 25 20 ca 0d 01 90  11 20 20 c9 20 31 37 2c  |on% .....  . 17,|
000002e0  31 38 2c 31 39 3a 0d 01  9a 11 20 20 20 c8 8e 20  |18,19:....   .. |
000002f0  71 25 21 31 36 20 ca 0d  01 a4 33 20 20 20 20 c9  |q%!16 ....3    .|
00000300  20 26 34 30 30 43 32 3a  20 f2 54 61 73 6b 4c 6f  | &400C2: .TaskLo|
00000310  67 28 a4 67 65 74 5f 73  74 72 69 6e 67 28 71 25  |g(.get_string(q%|
00000320  2b 32 38 29 2c 71 25 21  34 29 0d 01 ae 17 20 20  |+28),q%!4)....  |
00000330  20 20 c9 20 26 34 30 30  43 31 3a 20 f2 6d 6f 64  |  . &400C1: .mod|
00000340  65 0d 01 b8 17 20 20 20  20 c9 20 31 30 3a 20 f2  |e....    . 10: .|
00000350  64 65 73 6b 73 61 76 65  0d 01 c2 17 20 20 20 20  |desksave....    |
00000360  c9 20 35 3a 20 f2 54 79  70 65 43 68 65 63 6b 0d  |. 5: .TypeCheck.|
00000370  01 cc 33 20 20 20 20 c9  20 38 3a 20 e7 20 76 65  |..3    . 8: . ve|
00000380  72 73 69 6f 6e 25 3e 32  39 39 20 8c 20 f2 44 65  |rsion%>299 . .De|
00000390  73 6b 45 6e 64 20 8b 20  70 72 65 71 75 69 74 25  |skEnd . prequit%|
000003a0  3d b9 0d 01 d6 2d 20 20  20 20 c9 20 30 3a 20 e7  |=....-    . 0: .|
000003b0  20 70 72 65 71 75 69 74  25 3d b9 20 8c 20 71 75  | prequit%=. . qu|
000003c0  69 74 25 3d b9 20 8b 20  71 75 69 74 25 3d a3 0d  |it%=. . quit%=..|
000003d0  01 e0 08 20 20 20 cb 0d  01 ea 06 20 cb 0d 01 f4  |...   ..... ....|
000003e0  0d fd 20 71 75 69 74 25  3d b9 0d 01 fe 04 0d 02  |.. quit%=.......|
000003f0  08 08 f2 6f 66 66 0d 02  12 08 f2 65 6e 64 0d 02  |...off.....end..|
00000400  1c 04 0d 02 26 05 e0 0d  02 30 04 0d 02 3a 0d dd  |....&....0...:..|
00000410  f2 44 65 73 6b 45 6e 64  0d 02 44 27 e7 20 71 25  |.DeskEnd..D'. q%|
00000420  21 32 30 3d 30 20 8c 20  70 72 65 71 75 69 74 25  |!20=0 . prequit%|
00000430  3d b9 20 8b 20 70 72 65  71 75 69 74 25 3d a3 0d  |=. . prequit%=..|
00000440  02 4e 05 e1 0d 02 58 04  0d 02 62 11 dd f2 47 65  |.N....X...b...Ge|
00000450  6e 54 61 73 6b 4c 69 73  74 0d 02 6c 0c 65 78 69  |nTaskList..l.exi|
00000460  73 74 73 3d 30 0d 02 76  29 54 61 73 6b 5f 4c 69  |sts=0..v)Task_Li|
00000470  73 74 24 3d 6d 79 70 61  74 68 24 2b 22 2e 43 6f  |st$=mypath$+".Co|
00000480  6e 66 69 67 73 2e 42 61  6e 54 61 73 6b 22 0d 02  |nfigs.BanTask"..|
00000490  80 1b f2 63 68 65 63 6b  6c 6f 67 28 54 61 73 6b  |...checklog(Task|
000004a0  5f 4c 69 73 74 24 2c 30  29 0d 02 8a 2b e7 20 65  |_List$,0)...+. e|
000004b0  78 69 73 74 73 3d 31 20  8c 20 f2 46 69 6c 6c 4c  |xists=1 . .FillL|
000004c0  69 73 74 20 8b 20 42 61  6e 6e 65 64 5f 4c 69 73  |ist . Banned_Lis|
000004d0  74 25 3d 30 0d 02 94 05  e1 0d 02 9e 04 0d 02 a8  |t%=0............|
000004e0  0e dd f2 46 69 6c 6c 4c  69 73 74 0d 02 b2 12 42  |...FillList....B|
000004f0  61 6e 6e 65 64 5f 4c 69  73 74 25 3d 31 0d 02 bc  |anned_List%=1...|
00000500  1a 6c 69 73 74 5f 66 69  6c 65 3d 8e 20 54 61 73  |.list_file=. Tas|
00000510  6b 5f 4c 69 73 74 24 0d  02 c6 10 6c 69 6e 65 5f  |k_List$....line_|
00000520  63 6f 75 6e 74 3d 30 0d  02 d0 05 f5 0d 02 da 17  |count=0.........|
00000530  20 20 74 65 6d 70 24 3d  be 23 6c 69 73 74 5f 66  |  temp$=.#list_f|
00000540  69 6c 65 0d 02 e4 1d 20  20 6c 69 6e 65 5f 63 6f  |ile....  line_co|
00000550  75 6e 74 3d 6c 69 6e 65  5f 63 6f 75 6e 74 2b 31  |unt=line_count+1|
00000560  0d 02 ee 11 fd 20 c5 23  6c 69 73 74 5f 66 69 6c  |..... .#list_fil|
00000570  65 0d 02 f8 2b cf 23 6c  69 73 74 5f 66 69 6c 65  |e...+.#list_file|
00000580  3d 30 20 3a 20 f4 20 47  6f 20 62 61 63 6b 20 74  |=0 : . Go back t|
00000590  6f 20 66 69 6c 65 20 73  74 61 72 74 0d 03 02 1d  |o file start....|
000005a0  de 20 54 61 73 6b 5f 4e  61 6d 65 73 24 28 6c 69  |. Task_Names$(li|
000005b0  6e 65 5f 63 6f 75 6e 74  29 0d 03 0c 11 4e 6f 5f  |ne_count)....No_|
000005c0  4f 66 5f 54 61 73 6b 73  3d 30 0d 03 16 05 f5 0d  |Of_Tasks=0......|
000005d0  03 20 2a 20 20 54 61 73  6b 5f 4e 61 6d 65 73 24  |. *  Task_Names$|
000005e0  28 4e 6f 5f 4f 66 5f 54  61 73 6b 73 29 3d be 23  |(No_Of_Tasks)=.#|
000005f0  6c 69 73 74 5f 66 69 6c  65 0d 03 2a 1f 20 20 4e  |list_file..*.  N|
00000600  6f 5f 4f 66 5f 54 61 73  6b 73 3d 4e 6f 5f 4f 66  |o_Of_Tasks=No_Of|
00000610  5f 54 61 73 6b 73 2b 31  0d 03 34 11 fd 20 c5 23  |_Tasks+1..4.. .#|
00000620  6c 69 73 74 5f 66 69 6c  65 0d 03 3e 0f d9 23 6c  |list_file..>..#l|
00000630  69 73 74 5f 66 69 6c 65  0d 03 48 05 e1 0d 03 52  |ist_file..H....R|
00000640  04 0d 03 5c 12 dd f2 63  68 65 63 6b 28 74 61 73  |...\...check(tas|
00000650  6b 24 29 0d 03 66 0a 72  30 20 3d 20 30 0d 03 70  |k$)..f.r0 = 0..p|
00000660  0d 63 6f 75 6e 74 20 3d  20 30 0d 03 7a 05 f5 0d  |.count = 0..z...|
00000670  03 84 3a 20 20 c8 99 20  22 54 61 73 6b 4d 61 6e  |..:  .. "TaskMan|
00000680  61 67 65 72 5f 45 6e 75  6d 65 72 61 74 65 54 61  |ager_EnumerateTa|
00000690  73 6b 73 22 2c 20 72 30  2c 20 62 75 66 66 65 72  |sks", r0, buffer|
000006a0  2c 20 31 36 20 b8 20 72  30 0d 03 8e 32 20 20 e7  |, 16 . r0...2  .|
000006b0  20 a4 67 65 74 5f 73 74  72 69 6e 67 28 62 75 66  | .get_string(buf|
000006c0  66 65 72 21 34 29 20 3d  20 74 61 73 6b 24 20 8c  |fer!4) = task$ .|
000006d0  20 63 6f 75 6e 74 20 2b  3d 20 31 0d 03 98 17 fd  | count += 1.....|
000006e0  20 72 30 20 3c 3d 20 30  20 84 20 63 6f 75 6e 74  | r0 <= 0 . count|
000006f0  3d 31 0d 03 a2 05 e1 0d  03 ac 04 0d 03 b6 1e dd  |=1..............|
00000700  f2 63 68 65 63 6b 6c 6f  67 28 66 69 6c 65 24 2c  |.checklog(file$,|
00000710  63 61 6c 63 5f 73 75 6d  29 0d 03 c0 0c 65 78 69  |calc_sum)....exi|
00000720  73 74 73 3d 31 0d 03 ca  0a 6d 69 6e 65 3d 31 0d  |sts=1....mine=1.|
00000730  03 d4 49 c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  |..I.. "OS_File",|
00000740  20 31 37 2c 20 66 69 6c  65 24 20 b8 20 74 79 70  | 17, file$ . typ|
00000750  65 25 2c 20 2c 20 6c 6f  61 64 25 2c 20 65 78 65  |e%, , load%, exe|
00000760  63 25 2c 20 6c 65 6e 67  74 68 25 2c 20 61 74 74  |c%, length%, att|
00000770  72 69 62 75 74 65 73 25  0d 03 de 4a e7 20 74 79  |ributes%...J. ty|
00000780  70 65 25 3d 31 20 80 20  28 61 74 74 72 69 62 75  |pe%=1 . (attribu|
00000790  74 65 73 25 20 80 20 28  31 3c 3c 33 29 29 3d 28  |tes% . (1<<3))=(|
000007a0  31 3c 3c 33 29 20 8c 20  c8 99 20 22 4f 53 5f 46  |1<<3) . .. "OS_F|
000007b0  69 6c 65 22 2c 34 2c 66  69 6c 65 24 2c 2c 2c 2c  |ile",4,file$,,,,|
000007c0  31 39 0d 03 e8 18 e7 20  74 79 70 65 25 3d 30 20  |19..... type%=0 |
000007d0  8c 20 65 78 69 73 74 73  3d 30 0d 03 f2 16 e7 20  |. exists=0..... |
000007e0  74 79 70 65 25 3e 31 20  8c 20 6d 69 6e 65 3d 30  |type%>1 . mine=0|
000007f0  0d 03 fc 37 e7 20 65 78  69 73 74 73 3d 31 20 80  |...7. exists=1 .|
00000800  20 6d 69 6e 65 3d 31 20  80 20 63 61 6c 63 5f 73  | mine=1 . calc_s|
00000810  75 6d 3d 31 20 8c 20 f2  43 68 65 63 6b 53 75 6d  |um=1 . .CheckSum|
00000820  28 66 69 6c 65 24 29 0d  04 06 05 e1 0d 04 10 04  |(file$).........|
00000830  0d 04 1a 15 dd f2 43 68  65 63 6b 53 75 6d 28 66  |......CheckSum(f|
00000840  69 6c 65 24 29 0d 04 24  57 c8 99 20 22 4f 53 5f  |ile$)..$W.. "OS_|
00000850  46 69 6c 65 22 2c 31 37  2c 66 69 6c 65 24 20 b8  |File",17,file$ .|
00000860  20 4f 62 6a 5f 54 79 70  65 25 2c 20 2c 46 69 6c  | Obj_Type%, ,Fil|
00000870  65 5f 4c 6f 61 64 25 2c  46 69 6c 65 5f 45 78 65  |e_Load%,File_Exe|
00000880  63 25 2c 46 69 6c 65 5f  4c 65 6e 67 74 68 25 2c  |c%,File_Length%,|
00000890  46 69 6c 65 5f 41 74 74  72 69 62 25 0d 04 2e 3d  |File_Attrib%...=|
000008a0  46 69 6c 65 5f 53 75 6d  25 3d 46 69 6c 65 5f 4c  |File_Sum%=File_L|
000008b0  6f 61 64 25 2b 46 69 6c  65 5f 45 78 65 63 25 2b  |oad%+File_Exec%+|
000008c0  46 69 6c 65 5f 4c 65 6e  67 74 68 25 2b 46 69 6c  |File_Length%+Fil|
000008d0  65 5f 41 74 74 72 69 62  25 0d 04 38 05 e1 0d 04  |e_Attrib%..8....|
000008e0  42 04 0d 04 4c 08 dd f2  6f 6e 0d 04 56 09 f2 74  |B...L...on..V..t|
000008f0  69 6d 65 0d 04 60 10 73  74 61 72 74 24 3d 77 68  |ime..`.start$=wh|
00000900  65 6e 24 0d 04 6a 0f 6c  6f 67 25 3d ad 20 6c 6f  |en$..j.log%=. lo|
00000910  67 24 0d 04 74 0d f2 72  65 61 64 66 69 6c 65 0d  |g$..t..readfile.|
00000920  04 7e 0d d5 23 6c 6f 67  25 2c 22 22 0d 04 88 22  |.~..#log%,""..."|
00000930  d5 23 6c 6f 67 25 2c 22  53 77 69 74 63 68 65 64  |.#log%,"Switched|
00000940  20 6f 6e 20 61 74 20 22  2b 77 68 65 6e 24 0d 04  | on at "+when$..|
00000950  92 32 d5 23 6c 6f 67 25  2c 22 4d 61 63 68 69 6e  |.2.#log%,"Machin|
00000960  65 20 66 69 74 74 65 64  20 77 69 74 68 20 52 49  |e fitted with RI|
00000970  53 43 20 4f 53 20 22 2b  76 65 72 73 69 6f 6e 24  |SC OS "+version$|
00000980  0d 04 9c 0a d9 23 6c 6f  67 25 0d 04 a6 05 e1 0d  |.....#log%......|
00000990  04 b0 04 0d 04 ba 09 dd  f2 6f 66 66 0d 04 c4 09  |.........off....|
000009a0  f2 74 69 6d 65 0d 04 ce  15 f2 63 68 65 63 6b 6c  |.time.....checkl|
000009b0  6f 67 28 6c 6f 67 24 2c  31 29 0d 04 d8 19 e7 20  |og(log$,1)..... |
000009c0  65 78 69 73 74 73 3d 30  20 8c 20 f2 72 65 6d 6f  |exists=0 . .remo|
000009d0  76 65 64 0d 04 e2 31 e7  20 6d 69 6e 65 3d 30 20  |ved...1. mine=0 |
000009e0  8c 20 f4 20 45 72 6d 20  49 20 64 6f 6e 27 74 20  |. . Erm I don't |
000009f0  6b 6e 6f 77 2c 61 6e 79  20 73 75 67 65 73 74 69  |know,any sugesti|
00000a00  6f 6e 73 3f 0d 04 ec 25  e7 20 46 69 6c 65 5f 53  |ons?...%. File_S|
00000a10  75 6d 25 3c 3e 4f 6c 64  5f 53 75 6d 25 20 8c 20  |um%<>Old_Sum% . |
00000a20  f2 44 6f 63 74 6f 72 65  64 0d 04 f6 0f 6c 6f 67  |.Doctored....log|
00000a30  25 3d ad 20 6c 6f 67 24  0d 05 00 0d f2 72 65 61  |%=. log$.....rea|
00000a40  64 66 69 6c 65 0d 05 0a  23 d5 23 6c 6f 67 25 2c  |dfile...#.#log%,|
00000a50  22 53 77 69 74 63 68 65  64 20 6f 66 66 20 61 74  |"Switched off at|
00000a60  20 22 2b 77 68 65 6e 24  0d 05 14 0a d9 23 6c 6f  | "+when$.....#lo|
00000a70  67 25 0d 05 1e 13 f2 43  68 65 63 6b 53 75 6d 28  |g%.....CheckSum(|
00000a80  6c 6f 67 24 29 0d 05 28  16 4f 6c 64 5f 53 75 6d  |log$)..(.Old_Sum|
00000a90  25 3d 46 69 6c 65 5f 53  75 6d 25 0d 05 32 05 e1  |%=File_Sum%..2..|
00000aa0  0d 05 3c 04 0d 05 46 0e  dd f2 44 6f 63 74 6f 72  |..<...F...Doctor|
00000ab0  65 64 0d 05 50 0f 6c 6f  67 25 3d ad 20 6c 6f 67  |ed..P.log%=. log|
00000ac0  24 0d 05 5a 0d f2 72 65  61 64 66 69 6c 65 0d 05  |$..Z..readfile..|
00000ad0  64 40 d5 23 6c 6f 67 25  2c 22 55 6e 6f 66 66 69  |d@.#log%,"Unoffi|
00000ae0  63 69 61 6c 20 6c 6f 67  20 66 69 6c 65 20 6d 6f  |cial log file mo|
00000af0  64 69 66 69 63 61 74 69  6f 6e 20 64 65 74 65 63  |dification detec|
00000b00  74 65 64 20 61 74 20 22  2b 77 68 65 6e 24 0d 05  |ted at "+when$..|
00000b10  6e 0a d9 23 6c 6f 67 25  0d 05 78 05 e1 0d 05 82  |n..#log%..x.....|
00000b20  04 0d 05 8c 0c dd f2 67  65 6e 6c 6f 67 0d 05 96  |.......genlog...|
00000b30  09 f2 74 69 6d 65 0d 05  a0 0f 6c 6f 67 25 3d ae  |..time....log%=.|
00000b40  20 6c 6f 67 24 0d 05 aa  27 d5 23 6c 6f 67 25 2c  | log$...'.#log%,|
00000b50  22 4c 6f 67 20 66 69 6c  65 20 73 74 61 72 74 65  |"Log file starte|
00000b60  64 20 61 74 20 22 2b 77  68 65 6e 24 0d 05 b4 49  |d at "+when$...I|
00000b70  d5 23 6c 6f 67 25 2c 22  4c 6f 67 20 66 69 6c 65  |.#log%,"Log file|
00000b80  20 73 74 61 72 74 65 64  20 6f 6e 20 61 20 6d 61  | started on a ma|
00000b90  63 68 69 6e 65 20 66 69  74 74 65 64 20 77 69 74  |chine fitted wit|
00000ba0  68 20 20 52 49 53 43 20  4f 53 20 22 2b 76 65 72  |h  RISC OS "+ver|
00000bb0  73 69 6f 6e 24 0d 05 be  0a d9 23 6c 6f 67 25 0d  |sion$.....#log%.|
00000bc0  05 c8 1d c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  |..... "OS_File",|
00000bd0  31 38 2c 6c 6f 67 24 2c  26 66 66 66 0d 05 d2 05  |18,log$,&fff....|
00000be0  e1 0d 05 dc 04 0d 05 e6  0a dd f2 6d 6f 76 65 0d  |...........move.|
00000bf0  05 f0 1d c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  |..... "OS_File",|
00000c00  34 2c 6c 6f 67 24 2c 2c  2c 2c 31 39 0d 05 fa 3b  |4,log$,,,,19...;|
00000c10  c8 99 20 22 57 69 6d 70  5f 53 74 61 72 74 54 61  |.. "Wimp_StartTa|
00000c20  73 6b 22 2c 22 52 65 4e  61 6d 65 20 22 2b 6c 6f  |sk","ReName "+lo|
00000c30  67 24 2b 22 20 3c 54 72  61 63 6b 24 44 69 72 3e  |g$+" <Track$Dir>|
00000c40  2e 46 6f 75 6e 64 22 0d  06 04 11 f2 67 65 6e 6c  |.Found".....genl|
00000c50  6f 67 28 6c 6f 67 24 29  0d 06 0e 05 e1 0d 06 18  |og(log$)........|
00000c60  04 0d 06 22 0d dd f2 72  65 6d 6f 76 65 64 0d 06  |..."...removed..|
00000c70  2c 09 f2 74 69 6d 65 0d  06 36 0f 6c 6f 67 25 3d  |,..time..6.log%=|
00000c80  ae 20 6c 6f 67 24 0d 06  40 41 d5 23 6c 6f 67 25  |. log$..@A.#log%|
00000c90  2c 22 54 68 65 20 6f 72  69 67 69 61 6e 61 6c 20  |,"The origianal |
00000ca0  6c 6f 67 20 66 69 6c 65  20 77 61 73 20 64 65 6c  |log file was del|
00000cb0  65 74 65 64 2c 20 72 65  6e 61 6d 65 64 20 6f 72  |eted, renamed or|
00000cc0  20 6d 6f 76 65 64 22 0d  06 4a 43 d5 23 6c 6f 67  | moved"..JC.#log|
00000cd0  25 2c 22 64 75 72 69 6e  67 20 74 68 65 20 66 69  |%,"during the fi|
00000ce0  72 73 74 20 6f 70 65 72  61 74 69 6f 6e 20 6c 69  |rst operation li|
00000cf0  73 74 65 64 20 62 65 6c  6f 77 2e 20 20 54 68 69  |sted below.  Thi|
00000d00  73 20 6e 65 77 20 6c 6f  67 22 0d 06 54 41 d5 23  |s new log"..TA.#|
00000d10  6c 6f 67 25 2c 22 66 69  6c 65 20 64 6f 65 73 20  |log%,"file does |
00000d20  6e 6f 74 20 63 6f 6e 74  61 69 6e 20 64 65 74 61  |not contain deta|
00000d30  69 6c 73 20 6f 66 20 61  6e 79 20 6f 70 65 72 61  |ils of any opera|
00000d40  74 69 6f 6e 73 20 74 68  61 74 22 0d 06 5e 26 d5  |tions that"..^&.|
00000d50  23 6c 6f 67 25 2c 22 6f  63 63 75 72 65 64 20 62  |#log%,"occured b|
00000d60  65 66 6f 72 65 20 74 68  61 74 20 74 69 6d 65 2e  |efore that time.|
00000d70  22 0d 06 68 0d d5 23 6c  6f 67 25 2c 22 22 0d 06  |"..h..#log%,""..|
00000d80  72 23 d5 23 6c 6f 67 25  2c 22 53 77 69 74 63 68  |r#.#log%,"Switch|
00000d90  65 64 20 6f 6e 20 61 74  20 22 2b 73 74 61 72 74  |ed on at "+start|
00000da0  24 0d 06 7c 32 d5 23 6c  6f 67 25 2c 22 4d 61 63  |$..|2.#log%,"Mac|
00000db0  68 69 6e 65 20 66 69 74  74 65 64 20 77 69 74 68  |hine fitted with|
00000dc0  20 52 49 53 43 20 4f 53  20 22 2b 76 65 72 73 69  | RISC OS "+versi|
00000dd0  6f 6e 24 0d 06 86 0a d9  23 6c 6f 67 25 0d 06 90  |on$.....#log%...|
00000de0  1d c8 99 20 22 4f 53 5f  46 69 6c 65 22 2c 31 38  |... "OS_File",18|
00000df0  2c 6c 6f 67 24 2c 26 66  66 66 0d 06 9a 13 f2 43  |,log$,&fff.....C|
00000e00  68 65 63 6b 53 75 6d 28  6c 6f 67 24 29 0d 06 a4  |heckSum(log$)...|
00000e10  16 4f 6c 64 5f 53 75 6d  25 3d 46 69 6c 65 5f 53  |.Old_Sum%=File_S|
00000e20  75 6d 25 0d 06 ae 05 e1  0d 06 b8 04 0d 06 c2 1d  |um%.............|
00000e30  dd f2 54 61 73 6b 4c 6f  67 28 74 6e 61 6d 65 24  |..TaskLog(tname$|
00000e40  2c 68 61 6e 64 6c 65 25  29 0d 06 cc 09 f2 74 69  |,handle%).....ti|
00000e50  6d 65 0d 06 d6 0b 6c 6f  67 69 74 3d 31 0d 06 e0  |me....logit=1...|
00000e60  22 e7 20 74 6e 61 6d 65  24 3d 22 4b 65 65 70 54  |". tname$="KeepT|
00000e70  72 61 63 6b 22 20 8c 20  6c 6f 67 69 74 3d 30 0d  |rack" . logit=0.|
00000e80  06 ea 20 e7 20 74 6e 61  6d 65 24 3d 22 44 65 73  |.. . tname$="Des|
00000e90  6b 74 6f 70 22 20 8c 20  6c 6f 67 69 74 3d 30 0d  |ktop" . logit=0.|
00000ea0  06 f4 2c e7 20 74 6e 61  6d 65 24 3d 22 46 69 6c  |..,. tname$="Fil|
00000eb0  65 72 20 41 63 74 69 6f  6e 20 57 69 6e 64 6f 77  |er Action Window|
00000ec0  22 20 8c 20 6c 6f 67 69  74 3d 30 0d 06 fe 24 e7  |" . logit=0...$.|
00000ed0  20 74 6e 61 6d 65 24 3d  22 53 68 65 6c 6c 43 4c  | tname$="ShellCL|
00000ee0  49 22 20 8c 20 f2 53 74  69 6c 6c 4e 6f 43 6f 0d  |I" . .StillNoCo.|
00000ef0  07 08 31 e7 20 42 61 6e  6e 65 64 5f 4c 69 73 74  |..1. Banned_List|
00000f00  25 3d 31 20 8c 20 f2 53  74 61 72 74 4b 69 6c 6c  |%=1 . .StartKill|
00000f10  28 74 6e 61 6d 65 24 2c  68 61 6e 64 6c 65 25 29  |(tname$,handle%)|
00000f20  0d 07 12 2d e7 20 74 6e  61 6d 65 24 3d 22 43 6f  |...-. tname$="Co|
00000f30  6e 66 69 67 75 72 65 22  20 8c 20 f2 4b 69 6c 6c  |nfigure" . .Kill|
00000f40  54 61 73 6b 28 68 61 6e  64 6c 65 25 29 0d 07 1c  |Task(handle%)...|
00000f50  24 e7 20 6c 6f 67 69 74  3d 31 20 8c 20 f2 6c 6f  |$. logit=1 . .lo|
00000f60  67 69 74 28 74 6e 61 6d  65 24 2c 77 68 65 6e 24  |git(tname$,when$|
00000f70  29 0d 07 26 05 e1 0d 07  30 04 0d 07 3a 2c dd f2  |)..&....0...:,..|
00000f80  53 74 61 72 74 4b 69 6c  6c 28 70 61 73 73 65 64  |StartKill(passed|
00000f90  5f 6e 61 6d 65 24 2c 70  61 73 73 65 64 5f 68 61  |_name$,passed_ha|
00000fa0  6e 64 6c 65 25 29 0d 07  44 1a e3 20 6c 6f 6f 70  |ndle%)..D.. loop|
00000fb0  3d 30 20 b8 20 4e 6f 5f  4f 66 5f 54 61 73 6b 73  |=0 . No_Of_Tasks|
00000fc0  0d 07 4e 42 20 20 e7 20  70 61 73 73 65 64 5f 6e  |..NB  . passed_n|
00000fd0  61 6d 65 24 3d 54 61 73  6b 5f 4e 61 6d 65 73 24  |ame$=Task_Names$|
00000fe0  28 6c 6f 6f 70 29 20 8c  20 f2 4b 69 6c 6c 54 61  |(loop) . .KillTa|
00000ff0  73 6b 28 70 61 73 73 65  64 5f 68 61 6e 64 6c 65  |sk(passed_handle|
00001000  25 29 0d 07 58 05 ed 0d  07 62 05 e1 0d 07 6c 04  |%)..X....b....l.|
00001010  0d 07 76 19 dd f2 6c 6f  67 69 74 28 74 6e 61 6d  |..v...logit(tnam|
00001020  65 24 2c 77 68 65 6e 24  29 0d 07 80 15 f2 63 68  |e$,when$).....ch|
00001030  65 63 6b 6c 6f 67 28 6c  6f 67 24 2c 31 29 0d 07  |ecklog(log$,1)..|
00001040  8a 19 e7 20 65 78 69 73  74 73 3d 30 20 8c 20 f2  |... exists=0 . .|
00001050  72 65 6d 6f 76 65 64 0d  07 94 31 e7 20 6d 69 6e  |removed...1. min|
00001060  65 3d 30 20 8c 20 f4 20  45 72 6d 20 49 20 64 6f  |e=0 . . Erm I do|
00001070  6e 27 74 20 6b 6e 6f 77  2c 61 6e 79 20 73 75 67  |n't know,any sug|
00001080  65 73 74 69 6f 6e 73 3f  0d 07 9e 25 e7 20 46 69  |estions?...%. Fi|
00001090  6c 65 5f 53 75 6d 25 3c  3e 4f 6c 64 5f 53 75 6d  |le_Sum%<>Old_Sum|
000010a0  25 20 8c 20 f2 44 6f 63  74 6f 72 65 64 0d 07 a8  |% . .Doctored...|
000010b0  0f 6c 6f 67 25 3d ad 20  6c 6f 67 24 0d 07 b2 0d  |.log%=. log$....|
000010c0  f2 72 65 61 64 66 69 6c  65 0d 07 bc 2a d5 23 6c  |.readfile...*.#l|
000010d0  6f 67 25 2c 74 6e 61 6d  65 24 2b 22 20 77 61 73  |og%,tname$+" was|
000010e0  20 73 74 61 72 74 65 64  20 61 74 20 22 2b 77 68  | started at "+wh|
000010f0  65 6e 24 0d 07 c6 0a d9  23 6c 6f 67 25 0d 07 d0  |en$.....#log%...|
00001100  13 f2 43 68 65 63 6b 53  75 6d 28 6c 6f 67 24 29  |..CheckSum(log$)|
00001110  0d 07 da 16 4f 6c 64 5f  53 75 6d 25 3d 46 69 6c  |....Old_Sum%=Fil|
00001120  65 5f 53 75 6d 25 0d 07  e4 05 e1 0d 07 ee 04 0d  |e_Sum%..........|
00001130  07 f8 0a dd f2 6d 6f 64  65 0d 08 02 0a 6e 65 77  |.....mode....new|
00001140  25 3d eb 0d 08 0c 28 e7  20 6f 6c 64 25 3d 6e 65  |%=....(. old%=ne|
00001150  77 25 20 8c 20 63 68 61  6e 67 65 25 3d 30 20 8b  |w% . change%=0 .|
00001160  20 f2 6c 6f 67 63 68 61  6e 67 65 0d 08 16 05 e1  | .logchange.....|
00001170  0d 08 20 04 0d 08 2a 0f  dd f2 6c 6f 67 63 68 61  |.. ...*...logcha|
00001180  6e 67 65 0d 08 34 15 f2  63 68 65 63 6b 6c 6f 67  |nge..4..checklog|
00001190  28 6c 6f 67 24 2c 31 29  0d 08 3e 19 e7 20 65 78  |(log$,1)..>.. ex|
000011a0  69 73 74 73 3d 30 20 8c  20 f2 72 65 6d 6f 76 65  |ists=0 . .remove|
000011b0  64 0d 08 48 31 e7 20 6d  69 6e 65 3d 30 20 8c 20  |d..H1. mine=0 . |
000011c0  f4 20 45 72 6d 20 49 20  64 6f 6e 27 74 20 6b 6e  |. Erm I don't kn|
000011d0  6f 77 2c 61 6e 79 20 73  75 67 65 73 74 69 6f 6e  |ow,any sugestion|
000011e0  73 3f 0d 08 52 09 f2 74  69 6d 65 0d 08 5c 25 e7  |s?..R..time..\%.|
000011f0  20 46 69 6c 65 5f 53 75  6d 25 3c 3e 4f 6c 64 5f  | File_Sum%<>Old_|
00001200  53 75 6d 25 20 8c 20 f2  44 6f 63 74 6f 72 65 64  |Sum% . .Doctored|
00001210  0d 08 66 0f 6c 6f 67 25  3d ad 20 6c 6f 67 24 0d  |..f.log%=. log$.|
00001220  08 70 0d f2 72 65 61 64  66 69 6c 65 0d 08 7a 3b  |.p..readfile..z;|
00001230  d5 23 6c 6f 67 25 2c 22  41 74 74 65 6d 70 74 65  |.#log%,"Attempte|
00001240  64 20 6d 6f 64 65 20 63  68 61 6e 67 65 20 74 6f  |d mode change to|
00001250  20 22 2b c3 28 6e 65 77  25 29 2b 22 20 61 74 20  | "+.(new%)+" at |
00001260  22 2b 77 68 65 6e 24 0d  08 84 0a d9 23 6c 6f 67  |"+when$.....#log|
00001270  25 0d 08 8e 1a c8 99 20  22 57 69 6d 70 5f 53 65  |%...... "Wimp_Se|
00001280  74 4d 6f 64 65 22 2c 6f  6c 64 25 0d 08 98 13 f2  |tMode",old%.....|
00001290  43 68 65 63 6b 53 75 6d  28 6c 6f 67 24 29 0d 08  |CheckSum(log$)..|
000012a0  a2 16 4f 6c 64 5f 53 75  6d 25 3d 46 69 6c 65 5f  |..Old_Sum%=File_|
000012b0  53 75 6d 25 0d 08 ac 05  e1 0d 08 b6 04 0d 08 c0  |Sum%............|
000012c0  0e dd f2 72 65 61 64 66  69 6c 65 0d 08 ca 11 cf  |...readfile.....|
000012d0  23 6c 6f 67 25 3d a2 23  6c 6f 67 25 0d 08 d4 05  |#log%=.#log%....|
000012e0  e1 0d 08 de 04 0d 08 e8  0a dd f2 74 69 6d 65 0d  |...........time.|
000012f0  08 f2 13 6d 6f 6e 74 68  24 3d c1 91 24 2c 38 2c  |...month$=..$,8,|
00001300  33 29 0d 08 fc 12 64 61  74 65 24 3d c1 91 24 2c  |3)....date$=..$,|
00001310  35 2c 32 29 0d 09 06 0f  64 61 79 24 3d c0 91 24  |5,2)....day$=..$|
00001320  2c 33 29 0d 09 10 13 79  65 61 72 24 3d c1 91 24  |,3)....year$=..$|
00001330  2c 31 32 2c 34 29 0d 09  1a 37 68 65 75 72 24 3d  |,12,4)...7heur$=|
00001340  c2 91 24 2c 38 29 20 3a  20 f4 20 57 65 6c 6c 20  |..$,8) : . Well |
00001350  49 20 63 6f 75 6c 64 6e  27 74 20 75 73 65 20 54  |I couldn't use T|
00001360  49 4d 45 24 20 63 6f 75  6c 64 20 49 3f 0d 09 24  |IME$ could I?..$|
00001370  3a 77 68 65 6e 24 3d 68  65 75 72 24 2b 22 20 6f  |:when$=heur$+" o|
00001380  6e 20 22 2b 64 61 79 24  2b 22 20 22 2b 6d 6f 6e  |n "+day$+" "+mon|
00001390  74 68 24 2b 22 20 22 2b  64 61 74 65 24 2b 22 20  |th$+" "+date$+" |
000013a0  22 2b 79 65 61 72 24 0d  09 2e 05 e1 0d 09 38 04  |"+year$.......8.|
000013b0  0d 09 42 0e dd f2 64 65  73 6b 73 61 76 65 0d 09  |..B...desksave..|
000013c0  4c 1a d5 23 71 25 21 32  30 2c 22 52 75 6e 20 22  |L..#q%!20,"Run "|
000013d0  2b 6d 79 70 61 74 68 24  0d 09 56 05 e1 0d 09 60  |+mypath$..V....`|
000013e0  04 0d 09 6a 0e dd f2 44  69 72 43 6c 69 63 6b 0d  |...j...DirClick.|
000013f0  09 74 17 f2 50 61 74 68  43 68 65 63 6b 28 6d 79  |.t..PathCheck(my|
00001400  70 61 74 68 24 29 0d 09  7e 19 e7 20 6d 61 74 63  |path$)..~.. matc|
00001410  68 65 64 3d 31 20 8c 20  f2 4e 6f 4c 6f 61 64 0d  |hed=1 . .NoLoad.|
00001420  09 88 05 e1 0d 09 92 04  0d 09 9c 19 dd f2 50 61  |..............Pa|
00001430  74 68 43 68 65 63 6b 28  63 68 65 63 6b 65 72 24  |thCheck(checker$|
00001440  29 0d 09 a6 0d 6d 61 74  63 68 65 64 3d 30 0d 09  |)....matched=0..|
00001450  b0 09 6e 25 3d 34 34 0d  09 ba 0c 6e 61 6d 65 24  |..n%=44....name$|
00001460  3d 22 22 0d 09 c4 2f c8  95 20 71 25 3f 6e 25 20  |="".../.. q%?n% |
00001470  3c 3e 30 3a 6e 61 6d 65  24 3d 6e 61 6d 65 24 20  |<>0:name$=name$ |
00001480  2b 20 bd 28 71 25 3f 6e  25 29 3a 6e 25 2b 3d 31  |+ .(q%?n%):n%+=1|
00001490  3a ce 0d 09 ce 1d 6c 6f  63 61 74 69 6f 6e 3d a7  |:.....location=.|
000014a0  6e 61 6d 65 24 2c 63 68  65 63 6b 65 72 24 29 0d  |name$,checker$).|
000014b0  09 d8 28 e7 20 6c 6f 63  61 74 69 6f 6e 3d 30 20  |..(. location=0 |
000014c0  8c 20 6d 61 74 63 68 65  64 3d 30 20 8b 20 6d 61  |. matched=0 . ma|
000014d0  74 63 68 65 64 3d 31 0d  09 e2 05 e1 0d 09 ec 04  |tched=1.........|
000014e0  0d 09 f6 0c dd f2 4d 6f  64 75 6c 65 0d 0a 00 1a  |......Module....|
000014f0  f2 50 61 74 68 43 68 65  63 6b 28 22 48 69 64 65  |.PathCheck("Hide|
00001500  54 61 73 6b 22 29 0d 0a  0a 19 e7 20 6d 61 74 63  |Task")..... matc|
00001510  68 65 64 3d 31 20 8c 20  f2 4e 6f 4c 6f 61 64 0d  |hed=1 . .NoLoad.|
00001520  0a 14 05 e1 0d 0a 1e 04  0d 0a 28 0e dd f2 41 70  |..........(...Ap|
00001530  70 43 6c 69 63 6b 0d 0a  32 2d f2 50 61 74 68 43  |pClick..2-.PathC|
00001540  68 65 63 6b 28 22 52 65  73 6f 75 72 63 65 73 3a  |heck("Resources:|
00001550  24 2e 41 70 70 73 2e 21  43 6f 6e 66 69 67 75 72  |$.Apps.!Configur|
00001560  65 22 29 0d 0a 3c 19 e7  20 6d 61 74 63 68 65 64  |e")..<.. matched|
00001570  3d 31 20 8c 20 f2 4e 6f  4c 6f 61 64 0d 0a 46 05  |=1 . .NoLoad..F.|
00001580  e1 0d 0a 50 04 0d 0a 5a  0c dd f2 4e 6f 4c 6f 61  |...P...Z...NoLoa|
00001590  64 0d 0a 64 0b 71 75 69  74 25 3d a3 0d 0a 6e 0c  |d..d.quit%=...n.|
000015a0  f4 20 21 71 25 3d 34 34  0d 0a 78 0e 71 25 21 31  |. !q%=44..x.q%!1|
000015b0  32 3d 71 25 21 38 0d 0a  82 0b 71 25 21 31 36 3d  |2=q%!8....q%!16=|
000015c0  34 0d 0a 8c 20 c8 99 22  57 69 6d 70 5f 53 65 6e  |4... .."Wimp_Sen|
000015d0  64 4d 65 73 73 61 67 65  22 2c 31 37 2c 71 25 2c  |dMessage",17,q%,|
000015e0  30 0d 0a 96 05 e1 0d 0a  a0 04 0d 0a aa 09 dd f2  |0...............|
000015f0  65 72 72 0d 0a b4 19 f1  8a 31 30 2c 31 30 29 22  |err......10,10)"|
00001600  4b 65 65 70 54 72 61 63  6b 3a 20 22 0d 0a be 05  |KeepTrack: "....|
00001610  f6 0d 0a c8 13 f1 20 22  20 61 74 20 6c 69 6e 65  |...... " at line|
00001620  20 22 3b 9e 0d 0a d2 07  ef 20 37 0d 0a dc 05 e0  | ";...... 7.....|
00001630  0d 0a e6 05 e1 0d 0a f0  04 0d 0a fa 0d dd f2 62  |...............b|
00001640  61 6e 74 61 73 6b 0d 0b  04 18 62 61 6e 74 61 73  |antask....bantas|
00001650  6b 24 3d 22 43 6f 6e 66  69 67 75 72 65 22 0d 0b  |k$="Configure"..|
00001660  0e 14 f2 63 68 65 63 6b  28 62 61 6e 74 61 73 6b  |...check(bantask|
00001670  24 29 0d 0b 18 23 e7 20  63 6f 75 6e 74 3d 31 20  |$)...#. count=1 |
00001680  8c 20 f2 4b 69 6c 6c 54  61 73 6b 28 62 75 66 66  |. .KillTask(buff|
00001690  65 72 21 30 29 0d 0b 22  05 e1 0d 0b 2c 04 0d 0b  |er!0).."....,...|
000016a0  36 15 dd f2 4b 69 6c 6c  54 61 73 6b 28 74 68 61  |6...KillTask(tha|
000016b0  6e 25 29 0d 0b 40 0d 20  20 71 75 69 74 25 3d a3  |n%)..@.  quit%=.|
000016c0  0d 0b 4a 0c 20 20 21 71  25 3d 32 30 0d 0b 54 0d  |..J.  !q%=20..T.|
000016d0  20 20 71 25 21 31 36 3d  30 0d 0b 5e 26 20 20 c8  |  q%!16=0..^&  .|
000016e0  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
000016f0  67 65 22 2c 31 37 2c 71  25 2c 74 68 61 6e 25 0d  |ge",17,q%,than%.|
00001700  0b 68 05 e1 0d 0b 72 04  0d 0b 7c 0f dd f2 54 79  |.h....r...|...Ty|
00001710  70 65 43 68 65 63 6b 0d  0b 86 0e c8 8e 20 71 25  |peCheck...... q%|
00001720  21 34 30 20 ca 0d 0b 90  18 20 20 c9 20 26 31 30  |!40 .....  . &10|
00001730  30 30 3a 20 f2 44 69 72  43 6c 69 63 6b 0d 0b 9a  |00: .DirClick...|
00001740  18 20 20 c9 20 26 32 30  30 30 3a 20 f2 41 70 70  |.  . &2000: .App|
00001750  43 6c 69 63 6b 0d 0b a4  16 20 20 c9 20 26 46 46  |Click....  . &FF|
00001760  41 20 3a 20 f2 4d 6f 64  75 6c 65 0d 0b ae 05 cb  |A : .Module.....|
00001770  0d 0b b8 05 e1 0d 0b c2  04 0d 0b cc 0f dd f2 53  |...............S|
00001780  74 69 6c 6c 4e 6f 43 6f  0d 0b d6 0b 6c 6f 67 69  |tillNoCo....logi|
00001790  74 3d 30 0d 0b e0 6a e7  20 76 65 72 73 69 6f 6e  |t=0...j. version|
000017a0  25 3e 32 39 39 20 80 20  76 65 72 73 69 6f 6e 25  |%>299 . version%|
000017b0  3c 33 35 30 20 8c 20 c8  99 20 22 57 69 6d 70 5f  |<350 . .. "Wimp_|
000017c0  53 74 61 72 74 54 61 73  6b 22 2c 22 52 4d 45 6e  |StartTask","RMEn|
000017d0  73 75 72 65 20 4e 6f 43  6f 4d 6f 64 20 31 2e 30  |sure NoCoMod 1.0|
000017e0  30 20 52 4d 4c 6f 61 64  20 22 2b 6d 79 70 61 74  |0 RMLoad "+mypat|
000017f0  68 24 2b 22 2e 4e 6f 43  6f 4d 6f 64 22 0d 0b ea  |h$+".NoCoMod"...|
00001800  05 e1 0d 0b f4 04 0d 0b  fe 0d f2 4b 69 6c 6c 44  |...........KillD|
00001810  65 73 6b 0d 0c 08 39 e7  20 76 65 72 73 69 6f 6e  |esk...9. version|
00001820  25 3e 32 39 39 20 8c 20  c8 99 20 22 57 69 6d 70  |%>299 . .. "Wimp|
00001830  5f 53 74 61 72 74 54 61  73 6b 22 2c 22 52 4d 4b  |_StartTask","RMK|
00001840  69 6c 6c 20 4e 6f 43 6f  4d 6f 64 22 0d 0c 12 05  |ill NoCoMod"....|
00001850  e1 0d 0c 1c 04 0d 0c 26  15 dd 20 a4 67 65 74 5f  |.......&.. .get_|
00001860  73 74 72 69 6e 67 28 70  25 29 0d 0c 30 08 ea 20  |string(p%)..0.. |
00001870  61 24 0d 0c 3a 0f c8 95  20 3f 70 25 20 3e 20 33  |a$..:... ?p% > 3|
00001880  31 0d 0c 44 15 20 20 61  24 20 3d 20 61 24 20 2b  |1..D.  a$ = a$ +|
00001890  20 bd 20 3f 70 25 0d 0c  4e 0d 20 20 70 25 20 2b  | . ?p%..N.  p% +|
000018a0  3d 20 31 0d 0c 58 05 ce  0d 0c 62 08 3d 20 61 24  |= 1..X....b.= a$|
000018b0  0d 0c 6c 04 0d 0c 76 09  dd f2 65 6e 64 0d 0c 80  |..l...v...end...|
000018c0  2a c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 44  |*.. "Wimp_CloseD|
000018d0  6f 77 6e 22 2c 74 61 73  6b 68 61 6e 64 25 2c 21  |own",taskhand%,!|
000018e0  74 61 73 6b 69 64 25 0d  0c 8a 05 e0 0d 0c 94 05  |taskid%.........|
000018f0  e1 0d ff                                          |...|
000018f3