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

StarInfo/Collins/!InstallKT/!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/!InstallKT/!RunImage
Read OK:
File size: 0537 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM InstallKT
   20REM By The Mad Hamster
   30REM Version 2.00
   40REM 12 March 1997
   50
   60DIM taskid%4 ,q% 100
   70DIM buffer 256
   80$taskid%="TASK"
   90
  100REM ON ERROR PROCend
  110ON ERROR PROCerr
  120
  130SYS "Wimp_Initialise",200,!taskid%,"InstalKT" TO version%
  140
  150PROCsetvars
  160PROCinstall
  170PROCend
  180END
  190DEFPROCsetvars
  200SYS"OS_ReadVarVal","Boot$ToBeTasks",q%+256,256,0,3TO,,e%:?(q%+256+e%)=13
  210bootpath$=$(q%+256)
  220SYS"OS_ReadVarVal","Track$Dir",q%+256,256,0,3TO,,e%:?(q%+256+e%)=13
  230trackpath$=$(q%+256)
  240action$="Copy "+trackpath$+" "+bootpath$+".!KeepTrack A ~C ~D F ~L ~N ~P ~Q R ~S ~T ~V"
  250SYS"OS_ReadVarVal","Boot$Dir",q%+256,256,0,3TO,,e%:?(q%+256+e%)=13
  260bootroot$=$(q%+256)
  270bootboot$=bootroot$+".!Boot"
  280exists=1
  290mine=1
  300ENDPROC
  310
  320DEFPROCinstall
  330SYS "Wimp_StartTask",action$
  340SYS "Wimp_StartTask","Filer_OpenDir "+bootpath$
  350SYS "OS_File", 17, bootboot$  TO type%, , load%, exec%, length%, attributes%
  360IF type%=1 AND (attributes% AND (1<<3))=(1<<3) THEN SYS "OS_File",4,file$,,,,19
  370IF type%=0 THEN exists=0
  380IF type%>1 THEN mine=0
  390IF exists=0 OR mine=0 THEN dummy%=1 ELSE PROCmodboot
  400ENDPROC
  410
  420DEFPROCmodboot
  430modify%=OPENUP bootboot$
  440REPEAT
  450 not$=GET$#modify%
  460UNTIL EOF#modify%
  470BPUT#modify%,"IF ""<Track$Dir>"" ="""" THEN Run "+bootpath$+".!KeepTrack"
  480CLOSE#modify%
  490ENDPROC
  500
  510DEFPROCend
  520SYS "Wimp_CloseDown"
  530END
  540ENDPROC
  550
  560DEFPROCerr
  570REPORT
  580PRINT " at line ";ERL
  590END
  600ENDPROC

� InstallKT
� By The Mad Hamster
� Version 2.00
(� 12 March 1997
2
<� taskid%4 ,q% 100
F� buffer 256
P$taskid%="TASK"
Z
d� ON ERROR PROCend
n� � �err
x
�;ș "Wimp_Initialise",200,!taskid%,"InstalKT" � version%
�
��setvars
��install
��end
��
�
��setvars
�Jș"OS_ReadVarVal","Boot$ToBeTasks",q%+256,256,0,3�,,e%:?(q%+256+e%)=13
�bootpath$=$(q%+256)
�Eș"OS_ReadVarVal","Track$Dir",q%+256,256,0,3�,,e%:?(q%+256+e%)=13
�trackpath$=$(q%+256)
�[action$="Copy "+trackpath$+" "+bootpath$+".!KeepTrack A ~C ~D F ~L ~N ~P ~Q R ~S ~T ~V"
�Dș"OS_ReadVarVal","Boot$Dir",q%+256,256,0,3�,,e%:?(q%+256+e%)=13
bootroot$=$(q%+256)
 bootboot$=bootroot$+".!Boot"
exists=1
"
mine=1
,�
6
@
��install
Jș "Wimp_StartTask",action$
T2ș "Wimp_StartTask","Filer_OpenDir "+bootpath$
^Nș "OS_File", 17, bootboot$  � type%, , load%, exec%, length%, attributes%
hJ� type%=1 � (attributes% � (1<<3))=(1<<3) � ș "OS_File",4,file$,,,,19
r� type%=0 � exists=0
|� type%>1 � mine=0
�-� exists=0 � mine=0 � dummy%=1 � �modboot
��
�
�
��modboot
�modify%=� bootboot$
��
� not$=�#modify%
�� �#modify%
�J�#modify%,"IF ""<Track$Dir>"" ="""" THEN Run "+bootpath$+".!KeepTrack"
�
�#modify%
��
�
�	��end
ș "Wimp_CloseDown"
�
�
&
0	��err
:�
D� " at line ";�
N�
X�
�
00000000  0d 00 0a 0f f4 20 49 6e  73 74 61 6c 6c 4b 54 0d  |..... InstallKT.|
00000010  00 14 18 f4 20 42 79 20  54 68 65 20 4d 61 64 20  |.... By The Mad |
00000020  48 61 6d 73 74 65 72 0d  00 1e 12 f4 20 56 65 72  |Hamster..... Ver|
00000030  73 69 6f 6e 20 32 2e 30  30 0d 00 28 13 f4 20 31  |sion 2.00..(.. 1|
00000040  32 20 4d 61 72 63 68 20  31 39 39 37 0d 00 32 04  |2 March 1997..2.|
00000050  0d 00 3c 16 de 20 74 61  73 6b 69 64 25 34 20 2c  |..<.. taskid%4 ,|
00000060  71 25 20 31 30 30 0d 00  46 10 de 20 62 75 66 66  |q% 100..F.. buff|
00000070  65 72 20 32 35 36 0d 00  50 13 24 74 61 73 6b 69  |er 256..P.$taski|
00000080  64 25 3d 22 54 41 53 4b  22 0d 00 5a 04 0d 00 64  |d%="TASK"..Z...d|
00000090  16 f4 20 4f 4e 20 45 52  52 4f 52 20 50 52 4f 43  |.. ON ERROR PROC|
000000a0  65 6e 64 0d 00 6e 0c ee  20 85 20 f2 65 72 72 0d  |end..n.. . .err.|
000000b0  00 78 04 0d 00 82 3b c8  99 20 22 57 69 6d 70 5f  |.x....;.. "Wimp_|
000000c0  49 6e 69 74 69 61 6c 69  73 65 22 2c 32 30 30 2c  |Initialise",200,|
000000d0  21 74 61 73 6b 69 64 25  2c 22 49 6e 73 74 61 6c  |!taskid%,"Instal|
000000e0  4b 54 22 20 b8 20 76 65  72 73 69 6f 6e 25 0d 00  |KT" . version%..|
000000f0  8c 04 0d 00 96 0c f2 73  65 74 76 61 72 73 0d 00  |.......setvars..|
00000100  a0 0c f2 69 6e 73 74 61  6c 6c 0d 00 aa 08 f2 65  |...install.....e|
00000110  6e 64 0d 00 b4 05 e0 0d  00 be 0d dd f2 73 65 74  |nd...........set|
00000120  76 61 72 73 0d 00 c8 4a  c8 99 22 4f 53 5f 52 65  |vars...J.."OS_Re|
00000130  61 64 56 61 72 56 61 6c  22 2c 22 42 6f 6f 74 24  |adVarVal","Boot$|
00000140  54 6f 42 65 54 61 73 6b  73 22 2c 71 25 2b 32 35  |ToBeTasks",q%+25|
00000150  36 2c 32 35 36 2c 30 2c  33 b8 2c 2c 65 25 3a 3f  |6,256,0,3.,,e%:?|
00000160  28 71 25 2b 32 35 36 2b  65 25 29 3d 31 33 0d 00  |(q%+256+e%)=13..|
00000170  d2 17 62 6f 6f 74 70 61  74 68 24 3d 24 28 71 25  |..bootpath$=$(q%|
00000180  2b 32 35 36 29 0d 00 dc  45 c8 99 22 4f 53 5f 52  |+256)...E.."OS_R|
00000190  65 61 64 56 61 72 56 61  6c 22 2c 22 54 72 61 63  |eadVarVal","Trac|
000001a0  6b 24 44 69 72 22 2c 71  25 2b 32 35 36 2c 32 35  |k$Dir",q%+256,25|
000001b0  36 2c 30 2c 33 b8 2c 2c  65 25 3a 3f 28 71 25 2b  |6,0,3.,,e%:?(q%+|
000001c0  32 35 36 2b 65 25 29 3d  31 33 0d 00 e6 18 74 72  |256+e%)=13....tr|
000001d0  61 63 6b 70 61 74 68 24  3d 24 28 71 25 2b 32 35  |ackpath$=$(q%+25|
000001e0  36 29 0d 00 f0 5b 61 63  74 69 6f 6e 24 3d 22 43  |6)...[action$="C|
000001f0  6f 70 79 20 22 2b 74 72  61 63 6b 70 61 74 68 24  |opy "+trackpath$|
00000200  2b 22 20 22 2b 62 6f 6f  74 70 61 74 68 24 2b 22  |+" "+bootpath$+"|
00000210  2e 21 4b 65 65 70 54 72  61 63 6b 20 41 20 7e 43  |.!KeepTrack A ~C|
00000220  20 7e 44 20 46 20 7e 4c  20 7e 4e 20 7e 50 20 7e  | ~D F ~L ~N ~P ~|
00000230  51 20 52 20 7e 53 20 7e  54 20 7e 56 22 0d 00 fa  |Q R ~S ~T ~V"...|
00000240  44 c8 99 22 4f 53 5f 52  65 61 64 56 61 72 56 61  |D.."OS_ReadVarVa|
00000250  6c 22 2c 22 42 6f 6f 74  24 44 69 72 22 2c 71 25  |l","Boot$Dir",q%|
00000260  2b 32 35 36 2c 32 35 36  2c 30 2c 33 b8 2c 2c 65  |+256,256,0,3.,,e|
00000270  25 3a 3f 28 71 25 2b 32  35 36 2b 65 25 29 3d 31  |%:?(q%+256+e%)=1|
00000280  33 0d 01 04 17 62 6f 6f  74 72 6f 6f 74 24 3d 24  |3....bootroot$=$|
00000290  28 71 25 2b 32 35 36 29  0d 01 0e 20 62 6f 6f 74  |(q%+256)... boot|
000002a0  62 6f 6f 74 24 3d 62 6f  6f 74 72 6f 6f 74 24 2b  |boot$=bootroot$+|
000002b0  22 2e 21 42 6f 6f 74 22  0d 01 18 0c 65 78 69 73  |".!Boot"....exis|
000002c0  74 73 3d 31 0d 01 22 0a  6d 69 6e 65 3d 31 0d 01  |ts=1..".mine=1..|
000002d0  2c 05 e1 0d 01 36 04 0d  01 40 0d dd f2 69 6e 73  |,....6...@...ins|
000002e0  74 61 6c 6c 0d 01 4a 1f  c8 99 20 22 57 69 6d 70  |tall..J... "Wimp|
000002f0  5f 53 74 61 72 74 54 61  73 6b 22 2c 61 63 74 69  |_StartTask",acti|
00000300  6f 6e 24 0d 01 54 32 c8  99 20 22 57 69 6d 70 5f  |on$..T2.. "Wimp_|
00000310  53 74 61 72 74 54 61 73  6b 22 2c 22 46 69 6c 65  |StartTask","File|
00000320  72 5f 4f 70 65 6e 44 69  72 20 22 2b 62 6f 6f 74  |r_OpenDir "+boot|
00000330  70 61 74 68 24 0d 01 5e  4e c8 99 20 22 4f 53 5f  |path$..^N.. "OS_|
00000340  46 69 6c 65 22 2c 20 31  37 2c 20 62 6f 6f 74 62  |File", 17, bootb|
00000350  6f 6f 74 24 20 20 b8 20  74 79 70 65 25 2c 20 2c  |oot$  . type%, ,|
00000360  20 6c 6f 61 64 25 2c 20  65 78 65 63 25 2c 20 6c  | load%, exec%, l|
00000370  65 6e 67 74 68 25 2c 20  61 74 74 72 69 62 75 74  |ength%, attribut|
00000380  65 73 25 0d 01 68 4a e7  20 74 79 70 65 25 3d 31  |es%..hJ. type%=1|
00000390  20 80 20 28 61 74 74 72  69 62 75 74 65 73 25 20  | . (attributes% |
000003a0  80 20 28 31 3c 3c 33 29  29 3d 28 31 3c 3c 33 29  |. (1<<3))=(1<<3)|
000003b0  20 8c 20 c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  | . .. "OS_File",|
000003c0  34 2c 66 69 6c 65 24 2c  2c 2c 2c 31 39 0d 01 72  |4,file$,,,,19..r|
000003d0  18 e7 20 74 79 70 65 25  3d 30 20 8c 20 65 78 69  |.. type%=0 . exi|
000003e0  73 74 73 3d 30 0d 01 7c  16 e7 20 74 79 70 65 25  |sts=0..|.. type%|
000003f0  3e 31 20 8c 20 6d 69 6e  65 3d 30 0d 01 86 2d e7  |>1 . mine=0...-.|
00000400  20 65 78 69 73 74 73 3d  30 20 84 20 6d 69 6e 65  | exists=0 . mine|
00000410  3d 30 20 8c 20 64 75 6d  6d 79 25 3d 31 20 8b 20  |=0 . dummy%=1 . |
00000420  f2 6d 6f 64 62 6f 6f 74  0d 01 90 05 e1 0d 01 9a  |.modboot........|
00000430  04 0d 01 a4 0d dd f2 6d  6f 64 62 6f 6f 74 0d 01  |.......modboot..|
00000440  ae 17 6d 6f 64 69 66 79  25 3d ad 20 62 6f 6f 74  |..modify%=. boot|
00000450  62 6f 6f 74 24 0d 01 b8  05 f5 0d 01 c2 13 20 6e  |boot$......... n|
00000460  6f 74 24 3d be 23 6d 6f  64 69 66 79 25 0d 01 cc  |ot$=.#modify%...|
00000470  0f fd 20 c5 23 6d 6f 64  69 66 79 25 0d 01 d6 4a  |.. .#modify%...J|
00000480  d5 23 6d 6f 64 69 66 79  25 2c 22 49 46 20 22 22  |.#modify%,"IF ""|
00000490  3c 54 72 61 63 6b 24 44  69 72 3e 22 22 20 3d 22  |<Track$Dir>"" ="|
000004a0  22 22 22 20 54 48 45 4e  20 52 75 6e 20 22 2b 62  |""" THEN Run "+b|
000004b0  6f 6f 74 70 61 74 68 24  2b 22 2e 21 4b 65 65 70  |ootpath$+".!Keep|
000004c0  54 72 61 63 6b 22 0d 01  e0 0d d9 23 6d 6f 64 69  |Track".....#modi|
000004d0  66 79 25 0d 01 ea 05 e1  0d 01 f4 04 0d 01 fe 09  |fy%.............|
000004e0  dd f2 65 6e 64 0d 02 08  17 c8 99 20 22 57 69 6d  |..end...... "Wim|
000004f0  70 5f 43 6c 6f 73 65 44  6f 77 6e 22 0d 02 12 05  |p_CloseDown"....|
00000500  e0 0d 02 1c 05 e1 0d 02  26 04 0d 02 30 09 dd f2  |........&...0...|
00000510  65 72 72 0d 02 3a 05 f6  0d 02 44 13 f1 20 22 20  |err..:....D.. " |
00000520  61 74 20 6c 69 6e 65 20  22 3b 9e 0d 02 4e 05 e0  |at line ";...N..|
00000530  0d 02 58 05 e1 0d ff                              |..X....|
00000537