Home » Archimedes archive » Acorn User » AU 1997-06 B.adf » Extras » RiscUtils/!RuInstall/Install/Non_User/If_Task

RiscUtils/!RuInstall/Install/Non_User/If_Task

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 1997-06 B.adf » Extras
Filename: RiscUtils/!RuInstall/Install/Non_User/If_Task
Read OK:
File size: 0346 bytes
Load address: 0000
Exec address: 0000
File contents
   10SYS"OS_GetEnv"TOA$:A$=MID$(A$,INSTR(A$,".!RISCutils.Non_User.If_Task")+30):p=INSTR(A$," =present ")+INSTR(A$," =PRESENT ")+INSTR(A$," =Present "):ON ERROR IF INSTR(REPORT$,"&038D3A50")>0 END ELSE IF INSTR(REPORT$,"BBC BASIC")>0 OSCLIr$+"1 "+REPORT$+" at line "+STR$(ERL)+" |M "+U$:END ELSE OSCLIr$+"1 "+REPORT$+" at line "+STR$(ERL):END
   20r$="<RISCutils$Path>.!Help.!Run ":k=0:DIMb 256:n=INSTR(A$," =notpresent ")+INSTR(A$," =NOTPRESENT ")+INSTR(A$," =NotPresent ")+INSTR(A$," =Notpresent ")+INSTR(A$," =notPresent "):
   30IFA$=""OSCLIr$+"2":END ELSE w=p+n:e=INSTR(A$," =")-1:IFw=0 OR e>21 OSCLIr$+"3":END ELSE IF p>0ANDp<n p$=MID$(A$,p+10,n-p-10)ELSE IFp>0 p$=MID$(A$,p+10)
   40IF n>0 AND n<p n$=MID$(A$,n+13,p-n-13) ELSE IF n>0 n$=MID$(A$,n+13)
   50k$=MID$(A$,0,e):SYS"TaskManager_EnumerateTasks",k,b,256TOk,end:ptr=b:REPEAT:a=ptr!4:t$="":WHILE ?a>=32:t$+=CHR$?a:a+=1:ENDWHILE:ptr+=16:UNTIL ptr=end OR t$=k$:IF t$=k$ AND p>0 C$=p$ ELSE IF n>0 AND k$<>t$ C$=n$ ELSE END
   60E=INSTR(C$,"|M"):IF E>0 U$=MID$(C$,0,E-1):OSCLI ""+U$:U$=MID$(C$,E+2):OSCLI ""+U$:END ELSE U$=C$:OSCLI ""+U$:END

�ș"OS_GetEnv"�A$:A$=�A$,�A$,".!RISCutils.Non_User.If_Task")+30):p=�A$," =present ")+�A$," =PRESENT ")+�A$," =Present "):� � � ��$,"&038D3A50")>0 � � � ��$,"BBC BASIC")>0 �r$+"1 "+�$+" at line "+�(�)+" |M "+U$:� � �r$+"1 "+�$+" at line "+�(�):�
�r$="<RISCutils$Path>.!Help.!Run ":k=0:�b 256:n=�A$," =notpresent ")+�A$," =NOTPRESENT ")+�A$," =NotPresent ")+�A$," =Notpresent ")+�A$," =notPresent "):
r�A$=""�r$+"2":� � w=p+n:e=�A$," =")-1:�w=0 � e>21 �r$+"3":� � � p>0�p<n p$=�A$,p+10,n-p-10)� �p>0 p$=�A$,p+10)
(8� n>0 � n<p n$=�A$,n+13,p-n-13) � � n>0 n$=�A$,n+13)
2�k$=�A$,0,e):ș"TaskManager_EnumerateTasks",k,b,256�k,end:ptr=b:�:a=ptr!4:t$="":ȕ ?a>=32:t$+=�?a:a+=1:�:ptr+=16:� ptr=end � t$=k$:� t$=k$ � p>0 C$=p$ � � n>0 � k$<>t$ C$=n$ � �
<SE=�C$,"|M"):� E>0 U$=�C$,0,E-1):� ""+U$:U$=�C$,E+2):� ""+U$:� � U$=C$:� ""+U$:�
�
00000000  0d 00 0a f7 c8 99 22 4f  53 5f 47 65 74 45 6e 76  |......"OS_GetEnv|
00000010  22 b8 41 24 3a 41 24 3d  c1 41 24 2c a7 41 24 2c  |".A$:A$=.A$,.A$,|
00000020  22 2e 21 52 49 53 43 75  74 69 6c 73 2e 4e 6f 6e  |".!RISCutils.Non|
00000030  5f 55 73 65 72 2e 49 66  5f 54 61 73 6b 22 29 2b  |_User.If_Task")+|
00000040  33 30 29 3a 70 3d a7 41  24 2c 22 20 3d 70 72 65  |30):p=.A$," =pre|
00000050  73 65 6e 74 20 22 29 2b  a7 41 24 2c 22 20 3d 50  |sent ")+.A$," =P|
00000060  52 45 53 45 4e 54 20 22  29 2b a7 41 24 2c 22 20  |RESENT ")+.A$," |
00000070  3d 50 72 65 73 65 6e 74  20 22 29 3a ee 20 85 20  |=Present "):. . |
00000080  e7 20 a7 f6 24 2c 22 26  30 33 38 44 33 41 35 30  |. ..$,"&038D3A50|
00000090  22 29 3e 30 20 e0 20 8b  20 e7 20 a7 f6 24 2c 22  |")>0 . . . ..$,"|
000000a0  42 42 43 20 42 41 53 49  43 22 29 3e 30 20 ff 72  |BBC BASIC")>0 .r|
000000b0  24 2b 22 31 20 22 2b f6  24 2b 22 20 61 74 20 6c  |$+"1 "+.$+" at l|
000000c0  69 6e 65 20 22 2b c3 28  9e 29 2b 22 20 7c 4d 20  |ine "+.(.)+" |M |
000000d0  22 2b 55 24 3a e0 20 8b  20 ff 72 24 2b 22 31 20  |"+U$:. . .r$+"1 |
000000e0  22 2b f6 24 2b 22 20 61  74 20 6c 69 6e 65 20 22  |"+.$+" at line "|
000000f0  2b c3 28 9e 29 3a e0 0d  00 14 9c 72 24 3d 22 3c  |+.(.):.....r$="<|
00000100  52 49 53 43 75 74 69 6c  73 24 50 61 74 68 3e 2e  |RISCutils$Path>.|
00000110  21 48 65 6c 70 2e 21 52  75 6e 20 22 3a 6b 3d 30  |!Help.!Run ":k=0|
00000120  3a de 62 20 32 35 36 3a  6e 3d a7 41 24 2c 22 20  |:.b 256:n=.A$," |
00000130  3d 6e 6f 74 70 72 65 73  65 6e 74 20 22 29 2b a7  |=notpresent ")+.|
00000140  41 24 2c 22 20 3d 4e 4f  54 50 52 45 53 45 4e 54  |A$," =NOTPRESENT|
00000150  20 22 29 2b a7 41 24 2c  22 20 3d 4e 6f 74 50 72  | ")+.A$," =NotPr|
00000160  65 73 65 6e 74 20 22 29  2b a7 41 24 2c 22 20 3d  |esent ")+.A$," =|
00000170  4e 6f 74 70 72 65 73 65  6e 74 20 22 29 2b a7 41  |Notpresent ")+.A|
00000180  24 2c 22 20 3d 6e 6f 74  50 72 65 73 65 6e 74 20  |$," =notPresent |
00000190  22 29 3a 0d 00 1e 72 e7  41 24 3d 22 22 ff 72 24  |"):...r.A$="".r$|
000001a0  2b 22 32 22 3a e0 20 8b  20 77 3d 70 2b 6e 3a 65  |+"2":. . w=p+n:e|
000001b0  3d a7 41 24 2c 22 20 3d  22 29 2d 31 3a e7 77 3d  |=.A$," =")-1:.w=|
000001c0  30 20 84 20 65 3e 32 31  20 ff 72 24 2b 22 33 22  |0 . e>21 .r$+"3"|
000001d0  3a e0 20 8b 20 e7 20 70  3e 30 80 70 3c 6e 20 70  |:. . . p>0.p<n p|
000001e0  24 3d c1 41 24 2c 70 2b  31 30 2c 6e 2d 70 2d 31  |$=.A$,p+10,n-p-1|
000001f0  30 29 8b 20 e7 70 3e 30  20 70 24 3d c1 41 24 2c  |0). .p>0 p$=.A$,|
00000200  70 2b 31 30 29 0d 00 28  38 e7 20 6e 3e 30 20 80  |p+10)..(8. n>0 .|
00000210  20 6e 3c 70 20 6e 24 3d  c1 41 24 2c 6e 2b 31 33  | n<p n$=.A$,n+13|
00000220  2c 70 2d 6e 2d 31 33 29  20 8b 20 e7 20 6e 3e 30  |,p-n-13) . . n>0|
00000230  20 6e 24 3d c1 41 24 2c  6e 2b 31 33 29 0d 00 32  | n$=.A$,n+13)..2|
00000240  b4 6b 24 3d c1 41 24 2c  30 2c 65 29 3a c8 99 22  |.k$=.A$,0,e):.."|
00000250  54 61 73 6b 4d 61 6e 61  67 65 72 5f 45 6e 75 6d  |TaskManager_Enum|
00000260  65 72 61 74 65 54 61 73  6b 73 22 2c 6b 2c 62 2c  |erateTasks",k,b,|
00000270  32 35 36 b8 6b 2c 65 6e  64 3a 70 74 72 3d 62 3a  |256.k,end:ptr=b:|
00000280  f5 3a 61 3d 70 74 72 21  34 3a 74 24 3d 22 22 3a  |.:a=ptr!4:t$="":|
00000290  c8 95 20 3f 61 3e 3d 33  32 3a 74 24 2b 3d bd 3f  |.. ?a>=32:t$+=.?|
000002a0  61 3a 61 2b 3d 31 3a ce  3a 70 74 72 2b 3d 31 36  |a:a+=1:.:ptr+=16|
000002b0  3a fd 20 70 74 72 3d 65  6e 64 20 84 20 74 24 3d  |:. ptr=end . t$=|
000002c0  6b 24 3a e7 20 74 24 3d  6b 24 20 80 20 70 3e 30  |k$:. t$=k$ . p>0|
000002d0  20 43 24 3d 70 24 20 8b  20 e7 20 6e 3e 30 20 80  | C$=p$ . . n>0 .|
000002e0  20 6b 24 3c 3e 74 24 20  43 24 3d 6e 24 20 8b 20  | k$<>t$ C$=n$ . |
000002f0  e0 0d 00 3c 53 45 3d a7  43 24 2c 22 7c 4d 22 29  |...<SE=.C$,"|M")|
00000300  3a e7 20 45 3e 30 20 55  24 3d c1 43 24 2c 30 2c  |:. E>0 U$=.C$,0,|
00000310  45 2d 31 29 3a ff 20 22  22 2b 55 24 3a 55 24 3d  |E-1):. ""+U$:U$=|
00000320  c1 43 24 2c 45 2b 32 29  3a ff 20 22 22 2b 55 24  |.C$,E+2):. ""+U$|
00000330  3a e0 20 8b 20 55 24 3d  43 24 3a ff 20 22 22 2b  |:. . U$=C$:. ""+|
00000340  55 24 3a e0 0d ff                                 |U$:...|
00000346