Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Dominic_4.adf » !BEEBARC/UN\INF

!BEEBARC/UN\INF

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 » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Dominic_4.adf
Filename: !BEEBARC/UN\INF
Read OK:
File size: 0C95 bytes
Load address: FFFFFB47
Exec address: 5EAD1B0
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Un/inf 0.11, 2 Apr 1996
   20REM Convert files from a directory (or archive) containing Xbeeb-format data
   30REM  to Acorn format
   40REM By Darren Salt
   50REM Loosely based on "Arc_Arc" by Wouter Scholten
   60
   70REM Does NOT handle subdirectories!
   80
   90ON ERROR SYS "XOS_CLI","Set Sys$ReturnCode 1":ERROR EXT ERR,REPORT$+" @ "+STR$ ERL
  100DIM q% 256,file$(76,1),info%(76,1),buf% 8192:fn%=0
  110SYS "OS_GetEnv" TO e%:SYS "XOS_ReadArgs",",quit,,,f/s,v/s",e%,q%,256 TO ;F%
  120IF F% AND 1 THEN q%!8=0:q%!12=0
  130src$=FN0(8):s%=q%!12:IF s% THEN dst$=FN0(12):ELSE dst$=src$
  140ft%=q%!16<>0:vb%=q%!20<>0
  150IF src$="" OR (F% AND 1) THEN ERROR 220,"Syntax: Un/inf <source dir> [<dest dir>] [-f] [-v]"
  160SYS "OS_File",8,dst$,77
  170srd$=src$+".":dst$+=".":SYS "OS_GBPB",10,src$,q%,1,,256 TO ,,,,P%
  180WHILE P%>-1
  190 file$=FN0(q%+20)
  200 IF FNcase(RIGHT$(file$,2))<>"/I" ANDFNcase(RIGHT$(file$,3))<>"/IN" AND FNcase(RIGHT$(file$,4))<>"/INF" THEN
  210  SYS "OS_File",5,srd$+file$+"/inf" TO A%
  220  IF A%=1 THEN
  230   IF vb% THEN PRINT "Found "file$
  240   n%=OPENIN (srd$+file$+"/inf"):info$=GET$#n%:CLOSE#n%
  250   info%(fn%,0)=EVAL ("&"+FNspc(MID$(info$,11,6)))
  260   info%(fn%,1)=EVAL ("&"+FNspc(MID$(info$,18,6)))
  270   file$(fn%,0)=file$:file$(fn%,1)=FNname(LEFT$(info$,10)):fn%+=1
  280  ENDIF
  290 ENDIF
  300 SYS "OS_GBPB",10,src$,q%,1,P%,256 TO ,,,,P%
  310ENDWHILE
  320IF fn% ELSE END
  330FOR n%=0 TO fn%-1
  340 IF vb% THEN
  350  IF s% THEN PRINT "Copying ";:ELSE PRINT "Renaming ";
  360  PRINT file$(n%,0)" to "file$(n%,1);
  370 ENDIF
  380 a$=file$(n%,1):i%=INSTR(a$,".")
  390 WHILE i%:SYS "OS_File",8,dst$+LEFT$(a$,i%-1):i%=INSTR(a$,".",i%+1):ENDWHILE
  400 IF s% THEN
  410  PROCcopy(srd$+file$(n%,0),dst$+a$)
  420 ELSE SYS "XOS_FSControl",25,srd$+file$(n%,0),dst$+a$ TO A%;F%
  430  IF F% AND 1 THEN
  440   IF (!A% AND &FFFF00FF)=&10029 OR !A%=&B0 THEN
  450    PROCcopy(srd$+file$(n%,0),dst$+a$)
  460    SYS "OS_FSControl",27,srd$+file$(n%,0)
  470   ELSE PRINT~!A%:SYS "OS_GenerateError",A%
  480   ENDIF
  490  ENDIF
  500 ENDIF
  510 A%=info%(n%,0) AND &FFFF:B%=info%(n%,1) AND &FFFF
  520 CASE TRUE OF
  530 WHEN ft% AND (B%=&801F OR B%=&8023 OR B%=&802B OR B%=&80E7)
  540  SYS "OS_File",18,dst$+a$,&FFB:IF vb% THEN PRINT " (BASIC)"
  550 WHEN ft% AND A%=&8000
  560  SYS "OS_File",18,dst$+a$,&BBC:IF vb% THEN PRINT " (ROM)"
  570 OTHERWISE:SYS "OS_File",1,dst$+a$,info%(n%,0),info%(n%,1),,3
  580  IF vb% THEN PRINT " (";~info%(n%,0)",";~info%(n%,1)")"
  590 ENDCASE
  600 IF s%=0 THEN
  610  IF vb% THEN PRINT "Deleting "file$(n%,0)"/inf"
  620  SYS "OS_FSControl",27,srd$+file$(n%,0)+"/inf"
  630 ENDIF
  640NEXT
  650*Set Sys$ReturnCode 0
  660END
  670
  680DEF FN0(A%)
  690IF A%<256 THEN A%=q%!A%
  700IF A% THEN LOCAL a$:SYS "OS_WriteN",A% TO a$:=a$
  710=""
  720
  730DEF FNspc(a$)
  740WHILE a$>"" AND ASC a$=32:a$=MID$(a$,2):ENDWHILE
  750=a$
  760
  770DEF FNname(a$)
  780LOCAL n%,c$,i%:IF LEFT$(a$,2)="$." THEN a$=MID$(a$,3)
  790WHILE a$>"" AND RIGHT$(a$)=" ":a$=LEFT$(a$):ENDWHILE
  800FOR n%=1 TO LEN a$
  810 c$=MID$(a$,n%,1):i%=INSTR("$ @|""%&^",c$)
  820 IF i% THEN MID$(a$,n%,1)=MID$("['<>]}{)",i%)
  830NEXT
  840=a$
  850
  860DEF FNcase(a$)
  870IF a$="" THEN =""
  880LOCAL n%,C%
  890FOR n%=1 TO LEN a$
  900 C%=ASC MID$(a$,n%,1):IF C%>96 AND C%<123 THEN MID$(a$,n%,1)=CHR$ (C%-32)
  910NEXT
  920=a$
  930
  940DEF PROCcopy(f$,t$)
  950LOCAL A%,B%,L%,K%,T%
  960SYS "XOS_FSControl",26,srd$+file$(n%,0),dst$+a$ TO A%;B%
  970IF B% AND 1 THEN
  980 IF !A%=&14200 ELSE SYS "OS_GenerateError",A%
  990 A%=-1:B%=-1
 1000 LOCAL ERROR
 1010 ON ERROR LOCAL SYS "XOS_Find",,A%:SYS "XOS_Find",,B%:RESTORE ERROR:ERROR ERR,REPORT$+" @ "+STR$ ERL
 1020 A%=OPENIN f$:B%=OPENOUT t$:L%=EXT#A%
 1030 WHILE L%
 1040  K%=L%:IF K%>8192 THEN K%=8192
 1050  SYS "OS_GBPB",4,A%,buf%,K% TO ,,,T%:IF T% THEN ERROR 1,"File copying error"
 1060  SYS "OS_GBPB",2,B%,buf%,K% TO ,,,T%:IF T% THEN ERROR 1,"File copying error"
 1070  L%-=K%
 1080 ENDWHILE
 1090 CLOSE#A%:CLOSE#B%
 1100 RESTORE ERROR
 1110ENDIF
 1120ENDPROC

� Un/inf 0.11, 2 Apr 1996
N� Convert files from a directory (or archive) containing Xbeeb-format data
�  to Acorn format
(� By Darren Salt
23� Loosely based on "Arc_Arc" by Wouter Scholten
<
F%� Does NOT handle subdirectories!
P
Z>� � ș "XOS_CLI","Set Sys$ReturnCode 1":� � �,�$+" @ "+� �
d4� q% 256,file$(76,1),info%(76,1),buf% 8192:fn%=0
nKș "OS_GetEnv" � e%:ș "XOS_ReadArgs",",quit,,,f/s,v/s",e%,q%,256 � ;F%
x� F% � 1 � q%!8=0:q%!12=0
�6src$=�0(8):s%=q%!12:� s% � dst$=�0(12):� dst$=src$
�ft%=q%!16<>0:vb%=q%!20<>0
�U� src$="" � (F% � 1) � � 220,"Syntax: Un/inf <source dir> [<dest dir>] [-f] [-v]"
�ș "OS_File",8,dst$,77
�Csrd$=src$+".":dst$+=".":ș "OS_GBPB",10,src$,q%,1,,256 � ,,,,P%
�ȕ P%>-1
� file$=�0(q%+20)
�S � �case(�file$,2))<>"/I" ��case(�file$,3))<>"/IN" � �case(�file$,4))<>"/INF" �
�+  ș "OS_File",5,srd$+file$+"/inf" � A%
�  � A%=1 �
�   � vb% � � "Found "file$
�/   n%=� (srd$+file$+"/inf"):info$=�#n%:�#n%
�.   info%(fn%,0)=� ("&"+�spc(�info$,11,6)))
.   info%(fn%,1)=� ("&"+�spc(�info$,18,6)))
?   file$(fn%,0)=file$:file$(fn%,1)=�name(�info$,10)):fn%+=1
  �
" �
,. ș "OS_GBPB",10,src$,q%,1,P%,256 � ,,,,P%
6�
@
� fn% � �
J� n%=0 � fn%-1
T � vb% �
^+  � s% � � "Copying ";:� � "Renaming ";
h%  � file$(n%,0)" to "file$(n%,1);
r �
| a$=file$(n%,1):i%=�a$,".")
�; ȕ i%:ș "OS_File",8,dst$+�a$,i%-1):i%=�a$,".",i%+1):�
� � s% �
�%  �copy(srd$+file$(n%,0),dst$+a$)
�= � ș "XOS_FSControl",25,srd$+file$(n%,0),dst$+a$ � A%;F%
�  � F% � 1 �
�-   � (!A% � &FFFF00FF)=&10029 � !A%=&B0 �
�'    �copy(srd$+file$(n%,0),dst$+a$)
�-    ș "OS_FSControl",27,srd$+file$(n%,0)
�'   � �~!A%:ș "OS_GenerateError",A%
�   �
�  �
� �
�2 A%=info%(n%,0) � &FFFF:B%=info%(n%,1) � &FFFF
 Ȏ � �
8 � ft% � (B%=&801F � B%=&8023 � B%=&802B � B%=&80E7)
7  ș "OS_File",18,dst$+a$,&FFB:� vb% � � " (BASIC)"
& � ft% � A%=&8000
05  ș "OS_File",18,dst$+a$,&BBC:� vb% � � " (ROM)"
:8 :ș "OS_File",1,dst$+a$,info%(n%,0),info%(n%,1),,3
D4  � vb% � � " (";~info%(n%,0)",";~info%(n%,1)")"
N �
X
 � s%=0 �
b,  � vb% � � "Deleting "file$(n%,0)"/inf"
l2  ș "OS_FSControl",27,srd$+file$(n%,0)+"/inf"
v �
��
�*Set Sys$ReturnCode 0
��
�
�� �0(A%)
�� A%<256 � A%=q%!A%
�*� A% � � a$:ș "OS_WriteN",A% � a$:=a$
�=""
�
�� �spc(a$)
�"ȕ a$>"" � � a$=32:a$=�a$,2):�
�=a$
�
� �name(a$)
(� n%,c$,i%:� �a$,2)="$." � a$=�a$,3)
!ȕ a$>"" � �a$)=" ":a$=�a$):�
 � n%=1 � � a$
*% c$=�a$,n%,1):i%=�"$ @|""%&^",c$)
4% � i% � �a$,n%,1)=�"['<>]}{)",i%)
>�
H=a$
R
\� �case(a$)
f� a$="" � =""
p� n%,C%
z� n%=1 � � a$
�: C%=� �a$,n%,1):� C%>96 � C%<123 � �a$,n%,1)=� (C%-32)
��
�=a$
�
�� �copy(f$,t$)
�� A%,B%,L%,K%,T%
�:ș "XOS_FSControl",26,srd$+file$(n%,0),dst$+a$ � A%;B%
�� B% � 1 �
�, � !A%=&14200 � ș "OS_GenerateError",A%
� A%=-1:B%=-1
� � �
�C � � � ș "XOS_Find",,A%:ș "XOS_Find",,B%:� �:� �,�$+" @ "+� �
� A%=� f$:B%=� t$:L%=�#A%

 ȕ L%
  K%=L%:� K%>8192 � K%=8192
G  ș "OS_GBPB",4,A%,buf%,K% � ,,,T%:� T% � � 1,"File copying error"
$G  ș "OS_GBPB",2,B%,buf%,K% � ,,,T%:� T% � � 1,"File copying error"
.  L%-=K%
8 �
B �#A%:�#B%
L � �
V�
`�
�
00000000  0d 00 0a 1d f4 20 55 6e  2f 69 6e 66 20 30 2e 31  |..... Un/inf 0.1|
00000010  31 2c 20 32 20 41 70 72  20 31 39 39 36 0d 00 14  |1, 2 Apr 1996...|
00000020  4e f4 20 43 6f 6e 76 65  72 74 20 66 69 6c 65 73  |N. Convert files|
00000030  20 66 72 6f 6d 20 61 20  64 69 72 65 63 74 6f 72  | from a director|
00000040  79 20 28 6f 72 20 61 72  63 68 69 76 65 29 20 63  |y (or archive) c|
00000050  6f 6e 74 61 69 6e 69 6e  67 20 58 62 65 65 62 2d  |ontaining Xbeeb-|
00000060  66 6f 72 6d 61 74 20 64  61 74 61 0d 00 1e 16 f4  |format data.....|
00000070  20 20 74 6f 20 41 63 6f  72 6e 20 66 6f 72 6d 61  |  to Acorn forma|
00000080  74 0d 00 28 14 f4 20 42  79 20 44 61 72 72 65 6e  |t..(.. By Darren|
00000090  20 53 61 6c 74 0d 00 32  33 f4 20 4c 6f 6f 73 65  | Salt..23. Loose|
000000a0  6c 79 20 62 61 73 65 64  20 6f 6e 20 22 41 72 63  |ly based on "Arc|
000000b0  5f 41 72 63 22 20 62 79  20 57 6f 75 74 65 72 20  |_Arc" by Wouter |
000000c0  53 63 68 6f 6c 74 65 6e  0d 00 3c 04 0d 00 46 25  |Scholten..<...F%|
000000d0  f4 20 44 6f 65 73 20 4e  4f 54 20 68 61 6e 64 6c  |. Does NOT handl|
000000e0  65 20 73 75 62 64 69 72  65 63 74 6f 72 69 65 73  |e subdirectories|
000000f0  21 0d 00 50 04 0d 00 5a  3e ee 20 85 20 c8 99 20  |!..P...Z>. . .. |
00000100  22 58 4f 53 5f 43 4c 49  22 2c 22 53 65 74 20 53  |"XOS_CLI","Set S|
00000110  79 73 24 52 65 74 75 72  6e 43 6f 64 65 20 31 22  |ys$ReturnCode 1"|
00000120  3a 85 20 a2 20 9f 2c f6  24 2b 22 20 40 20 22 2b  |:. . .,.$+" @ "+|
00000130  c3 20 9e 0d 00 64 34 de  20 71 25 20 32 35 36 2c  |. ...d4. q% 256,|
00000140  66 69 6c 65 24 28 37 36  2c 31 29 2c 69 6e 66 6f  |file$(76,1),info|
00000150  25 28 37 36 2c 31 29 2c  62 75 66 25 20 38 31 39  |%(76,1),buf% 819|
00000160  32 3a 66 6e 25 3d 30 0d  00 6e 4b c8 99 20 22 4f  |2:fn%=0..nK.. "O|
00000170  53 5f 47 65 74 45 6e 76  22 20 b8 20 65 25 3a c8  |S_GetEnv" . e%:.|
00000180  99 20 22 58 4f 53 5f 52  65 61 64 41 72 67 73 22  |. "XOS_ReadArgs"|
00000190  2c 22 2c 71 75 69 74 2c  2c 2c 66 2f 73 2c 76 2f  |,",quit,,,f/s,v/|
000001a0  73 22 2c 65 25 2c 71 25  2c 32 35 36 20 b8 20 3b  |s",e%,q%,256 . ;|
000001b0  46 25 0d 00 78 1d e7 20  46 25 20 80 20 31 20 8c  |F%..x.. F% . 1 .|
000001c0  20 71 25 21 38 3d 30 3a  71 25 21 31 32 3d 30 0d  | q%!8=0:q%!12=0.|
000001d0  00 82 36 73 72 63 24 3d  a4 30 28 38 29 3a 73 25  |..6src$=.0(8):s%|
000001e0  3d 71 25 21 31 32 3a e7  20 73 25 20 8c 20 64 73  |=q%!12:. s% . ds|
000001f0  74 24 3d a4 30 28 31 32  29 3a 8b 20 64 73 74 24  |t$=.0(12):. dst$|
00000200  3d 73 72 63 24 0d 00 8c  1d 66 74 25 3d 71 25 21  |=src$....ft%=q%!|
00000210  31 36 3c 3e 30 3a 76 62  25 3d 71 25 21 32 30 3c  |16<>0:vb%=q%!20<|
00000220  3e 30 0d 00 96 55 e7 20  73 72 63 24 3d 22 22 20  |>0...U. src$="" |
00000230  84 20 28 46 25 20 80 20  31 29 20 8c 20 85 20 32  |. (F% . 1) . . 2|
00000240  32 30 2c 22 53 79 6e 74  61 78 3a 20 55 6e 2f 69  |20,"Syntax: Un/i|
00000250  6e 66 20 3c 73 6f 75 72  63 65 20 64 69 72 3e 20  |nf <source dir> |
00000260  5b 3c 64 65 73 74 20 64  69 72 3e 5d 20 5b 2d 66  |[<dest dir>] [-f|
00000270  5d 20 5b 2d 76 5d 22 0d  00 a0 1a c8 99 20 22 4f  |] [-v]"...... "O|
00000280  53 5f 46 69 6c 65 22 2c  38 2c 64 73 74 24 2c 37  |S_File",8,dst$,7|
00000290  37 0d 00 aa 43 73 72 64  24 3d 73 72 63 24 2b 22  |7...Csrd$=src$+"|
000002a0  2e 22 3a 64 73 74 24 2b  3d 22 2e 22 3a c8 99 20  |.":dst$+=".":.. |
000002b0  22 4f 53 5f 47 42 50 42  22 2c 31 30 2c 73 72 63  |"OS_GBPB",10,src|
000002c0  24 2c 71 25 2c 31 2c 2c  32 35 36 20 b8 20 2c 2c  |$,q%,1,,256 . ,,|
000002d0  2c 2c 50 25 0d 00 b4 0c  c8 95 20 50 25 3e 2d 31  |,,P%...... P%>-1|
000002e0  0d 00 be 14 20 66 69 6c  65 24 3d a4 30 28 71 25  |.... file$=.0(q%|
000002f0  2b 32 30 29 0d 00 c8 53  20 e7 20 a4 63 61 73 65  |+20)...S . .case|
00000300  28 c2 66 69 6c 65 24 2c  32 29 29 3c 3e 22 2f 49  |(.file$,2))<>"/I|
00000310  22 20 80 a4 63 61 73 65  28 c2 66 69 6c 65 24 2c  |" ..case(.file$,|
00000320  33 29 29 3c 3e 22 2f 49  4e 22 20 80 20 a4 63 61  |3))<>"/IN" . .ca|
00000330  73 65 28 c2 66 69 6c 65  24 2c 34 29 29 3c 3e 22  |se(.file$,4))<>"|
00000340  2f 49 4e 46 22 20 8c 0d  00 d2 2b 20 20 c8 99 20  |/INF" ....+  .. |
00000350  22 4f 53 5f 46 69 6c 65  22 2c 35 2c 73 72 64 24  |"OS_File",5,srd$|
00000360  2b 66 69 6c 65 24 2b 22  2f 69 6e 66 22 20 b8 20  |+file$+"/inf" . |
00000370  41 25 0d 00 dc 0e 20 20  e7 20 41 25 3d 31 20 8c  |A%....  . A%=1 .|
00000380  0d 00 e6 1e 20 20 20 e7  20 76 62 25 20 8c 20 f1  |....   . vb% . .|
00000390  20 22 46 6f 75 6e 64 20  22 66 69 6c 65 24 0d 00  | "Found "file$..|
000003a0  f0 2f 20 20 20 6e 25 3d  8e 20 28 73 72 64 24 2b  |./   n%=. (srd$+|
000003b0  66 69 6c 65 24 2b 22 2f  69 6e 66 22 29 3a 69 6e  |file$+"/inf"):in|
000003c0  66 6f 24 3d be 23 6e 25  3a d9 23 6e 25 0d 00 fa  |fo$=.#n%:.#n%...|
000003d0  2e 20 20 20 69 6e 66 6f  25 28 66 6e 25 2c 30 29  |.   info%(fn%,0)|
000003e0  3d a0 20 28 22 26 22 2b  a4 73 70 63 28 c1 69 6e  |=. ("&"+.spc(.in|
000003f0  66 6f 24 2c 31 31 2c 36  29 29 29 0d 01 04 2e 20  |fo$,11,6))).... |
00000400  20 20 69 6e 66 6f 25 28  66 6e 25 2c 31 29 3d a0  |  info%(fn%,1)=.|
00000410  20 28 22 26 22 2b a4 73  70 63 28 c1 69 6e 66 6f  | ("&"+.spc(.info|
00000420  24 2c 31 38 2c 36 29 29  29 0d 01 0e 3f 20 20 20  |$,18,6)))...?   |
00000430  66 69 6c 65 24 28 66 6e  25 2c 30 29 3d 66 69 6c  |file$(fn%,0)=fil|
00000440  65 24 3a 66 69 6c 65 24  28 66 6e 25 2c 31 29 3d  |e$:file$(fn%,1)=|
00000450  a4 6e 61 6d 65 28 c0 69  6e 66 6f 24 2c 31 30 29  |.name(.info$,10)|
00000460  29 3a 66 6e 25 2b 3d 31  0d 01 18 07 20 20 cd 0d  |):fn%+=1....  ..|
00000470  01 22 06 20 cd 0d 01 2c  2e 20 c8 99 20 22 4f 53  |.". ...,. .. "OS|
00000480  5f 47 42 50 42 22 2c 31  30 2c 73 72 63 24 2c 71  |_GBPB",10,src$,q|
00000490  25 2c 31 2c 50 25 2c 32  35 36 20 b8 20 2c 2c 2c  |%,1,P%,256 . ,,,|
000004a0  2c 50 25 0d 01 36 05 ce  0d 01 40 0d e7 20 66 6e  |,P%..6....@.. fn|
000004b0  25 20 8b 20 e0 0d 01 4a  12 e3 20 6e 25 3d 30 20  |% . ...J.. n%=0 |
000004c0  b8 20 66 6e 25 2d 31 0d  01 54 0c 20 e7 20 76 62  |. fn%-1..T. . vb|
000004d0  25 20 8c 0d 01 5e 2b 20  20 e7 20 73 25 20 8c 20  |% ...^+  . s% . |
000004e0  f1 20 22 43 6f 70 79 69  6e 67 20 22 3b 3a 8b 20  |. "Copying ";:. |
000004f0  f1 20 22 52 65 6e 61 6d  69 6e 67 20 22 3b 0d 01  |. "Renaming ";..|
00000500  68 25 20 20 f1 20 66 69  6c 65 24 28 6e 25 2c 30  |h%  . file$(n%,0|
00000510  29 22 20 74 6f 20 22 66  69 6c 65 24 28 6e 25 2c  |)" to "file$(n%,|
00000520  31 29 3b 0d 01 72 06 20  cd 0d 01 7c 1f 20 61 24  |1);..r. ...|. a$|
00000530  3d 66 69 6c 65 24 28 6e  25 2c 31 29 3a 69 25 3d  |=file$(n%,1):i%=|
00000540  a7 61 24 2c 22 2e 22 29  0d 01 86 3b 20 c8 95 20  |.a$,".")...; .. |
00000550  69 25 3a c8 99 20 22 4f  53 5f 46 69 6c 65 22 2c  |i%:.. "OS_File",|
00000560  38 2c 64 73 74 24 2b c0  61 24 2c 69 25 2d 31 29  |8,dst$+.a$,i%-1)|
00000570  3a 69 25 3d a7 61 24 2c  22 2e 22 2c 69 25 2b 31  |:i%=.a$,".",i%+1|
00000580  29 3a ce 0d 01 90 0b 20  e7 20 73 25 20 8c 0d 01  |):..... . s% ...|
00000590  9a 25 20 20 f2 63 6f 70  79 28 73 72 64 24 2b 66  |.%  .copy(srd$+f|
000005a0  69 6c 65 24 28 6e 25 2c  30 29 2c 64 73 74 24 2b  |ile$(n%,0),dst$+|
000005b0  61 24 29 0d 01 a4 3d 20  cc 20 c8 99 20 22 58 4f  |a$)...= . .. "XO|
000005c0  53 5f 46 53 43 6f 6e 74  72 6f 6c 22 2c 32 35 2c  |S_FSControl",25,|
000005d0  73 72 64 24 2b 66 69 6c  65 24 28 6e 25 2c 30 29  |srd$+file$(n%,0)|
000005e0  2c 64 73 74 24 2b 61 24  20 b8 20 41 25 3b 46 25  |,dst$+a$ . A%;F%|
000005f0  0d 01 ae 10 20 20 e7 20  46 25 20 80 20 31 20 8c  |....  . F% . 1 .|
00000600  0d 01 b8 2d 20 20 20 e7  20 28 21 41 25 20 80 20  |...-   . (!A% . |
00000610  26 46 46 46 46 30 30 46  46 29 3d 26 31 30 30 32  |&FFFF00FF)=&1002|
00000620  39 20 84 20 21 41 25 3d  26 42 30 20 8c 0d 01 c2  |9 . !A%=&B0 ....|
00000630  27 20 20 20 20 f2 63 6f  70 79 28 73 72 64 24 2b  |'    .copy(srd$+|
00000640  66 69 6c 65 24 28 6e 25  2c 30 29 2c 64 73 74 24  |file$(n%,0),dst$|
00000650  2b 61 24 29 0d 01 cc 2d  20 20 20 20 c8 99 20 22  |+a$)...-    .. "|
00000660  4f 53 5f 46 53 43 6f 6e  74 72 6f 6c 22 2c 32 37  |OS_FSControl",27|
00000670  2c 73 72 64 24 2b 66 69  6c 65 24 28 6e 25 2c 30  |,srd$+file$(n%,0|
00000680  29 0d 01 d6 27 20 20 20  cc 20 f1 7e 21 41 25 3a  |)...'   . .~!A%:|
00000690  c8 99 20 22 4f 53 5f 47  65 6e 65 72 61 74 65 45  |.. "OS_GenerateE|
000006a0  72 72 6f 72 22 2c 41 25  0d 01 e0 08 20 20 20 cd  |rror",A%....   .|
000006b0  0d 01 ea 07 20 20 cd 0d  01 f4 06 20 cd 0d 01 fe  |....  ..... ....|
000006c0  32 20 41 25 3d 69 6e 66  6f 25 28 6e 25 2c 30 29  |2 A%=info%(n%,0)|
000006d0  20 80 20 26 46 46 46 46  3a 42 25 3d 69 6e 66 6f  | . &FFFF:B%=info|
000006e0  25 28 6e 25 2c 31 29 20  80 20 26 46 46 46 46 0d  |%(n%,1) . &FFFF.|
000006f0  02 08 0b 20 c8 8e 20 b9  20 ca 0d 02 12 38 20 c9  |... .. . ....8 .|
00000700  20 66 74 25 20 80 20 28  42 25 3d 26 38 30 31 46  | ft% . (B%=&801F|
00000710  20 84 20 42 25 3d 26 38  30 32 33 20 84 20 42 25  | . B%=&8023 . B%|
00000720  3d 26 38 30 32 42 20 84  20 42 25 3d 26 38 30 45  |=&802B . B%=&80E|
00000730  37 29 0d 02 1c 37 20 20  c8 99 20 22 4f 53 5f 46  |7)...7  .. "OS_F|
00000740  69 6c 65 22 2c 31 38 2c  64 73 74 24 2b 61 24 2c  |ile",18,dst$+a$,|
00000750  26 46 46 42 3a e7 20 76  62 25 20 8c 20 f1 20 22  |&FFB:. vb% . . "|
00000760  20 28 42 41 53 49 43 29  22 0d 02 26 15 20 c9 20  | (BASIC)"..&. . |
00000770  66 74 25 20 80 20 41 25  3d 26 38 30 30 30 0d 02  |ft% . A%=&8000..|
00000780  30 35 20 20 c8 99 20 22  4f 53 5f 46 69 6c 65 22  |05  .. "OS_File"|
00000790  2c 31 38 2c 64 73 74 24  2b 61 24 2c 26 42 42 43  |,18,dst$+a$,&BBC|
000007a0  3a e7 20 76 62 25 20 8c  20 f1 20 22 20 28 52 4f  |:. vb% . . " (RO|
000007b0  4d 29 22 0d 02 3a 38 20  7f 3a c8 99 20 22 4f 53  |M)"..:8 .:.. "OS|
000007c0  5f 46 69 6c 65 22 2c 31  2c 64 73 74 24 2b 61 24  |_File",1,dst$+a$|
000007d0  2c 69 6e 66 6f 25 28 6e  25 2c 30 29 2c 69 6e 66  |,info%(n%,0),inf|
000007e0  6f 25 28 6e 25 2c 31 29  2c 2c 33 0d 02 44 34 20  |o%(n%,1),,3..D4 |
000007f0  20 e7 20 76 62 25 20 8c  20 f1 20 22 20 28 22 3b  | . vb% . . " (";|
00000800  7e 69 6e 66 6f 25 28 6e  25 2c 30 29 22 2c 22 3b  |~info%(n%,0)",";|
00000810  7e 69 6e 66 6f 25 28 6e  25 2c 31 29 22 29 22 0d  |~info%(n%,1)")".|
00000820  02 4e 06 20 cb 0d 02 58  0d 20 e7 20 73 25 3d 30  |.N. ...X. . s%=0|
00000830  20 8c 0d 02 62 2c 20 20  e7 20 76 62 25 20 8c 20  | ...b,  . vb% . |
00000840  f1 20 22 44 65 6c 65 74  69 6e 67 20 22 66 69 6c  |. "Deleting "fil|
00000850  65 24 28 6e 25 2c 30 29  22 2f 69 6e 66 22 0d 02  |e$(n%,0)"/inf"..|
00000860  6c 32 20 20 c8 99 20 22  4f 53 5f 46 53 43 6f 6e  |l2  .. "OS_FSCon|
00000870  74 72 6f 6c 22 2c 32 37  2c 73 72 64 24 2b 66 69  |trol",27,srd$+fi|
00000880  6c 65 24 28 6e 25 2c 30  29 2b 22 2f 69 6e 66 22  |le$(n%,0)+"/inf"|
00000890  0d 02 76 06 20 cd 0d 02  80 05 ed 0d 02 8a 19 2a  |..v. ..........*|
000008a0  53 65 74 20 53 79 73 24  52 65 74 75 72 6e 43 6f  |Set Sys$ReturnCo|
000008b0  64 65 20 30 0d 02 94 05  e0 0d 02 9e 04 0d 02 a8  |de 0............|
000008c0  0c dd 20 a4 30 28 41 25  29 0d 02 b2 17 e7 20 41  |.. .0(A%)..... A|
000008d0  25 3c 32 35 36 20 8c 20  41 25 3d 71 25 21 41 25  |%<256 . A%=q%!A%|
000008e0  0d 02 bc 2a e7 20 41 25  20 8c 20 ea 20 61 24 3a  |...*. A% . . a$:|
000008f0  c8 99 20 22 4f 53 5f 57  72 69 74 65 4e 22 2c 41  |.. "OS_WriteN",A|
00000900  25 20 b8 20 61 24 3a 3d  61 24 0d 02 c6 07 3d 22  |% . a$:=a$....="|
00000910  22 0d 02 d0 04 0d 02 da  0e dd 20 a4 73 70 63 28  |"......... .spc(|
00000920  61 24 29 0d 02 e4 22 c8  95 20 61 24 3e 22 22 20  |a$)...".. a$>"" |
00000930  80 20 97 20 61 24 3d 33  32 3a 61 24 3d c1 61 24  |. . a$=32:a$=.a$|
00000940  2c 32 29 3a ce 0d 02 ee  07 3d 61 24 0d 02 f8 04  |,2):.....=a$....|
00000950  0d 03 02 0f dd 20 a4 6e  61 6d 65 28 61 24 29 0d  |..... .name(a$).|
00000960  03 0c 28 ea 20 6e 25 2c  63 24 2c 69 25 3a e7 20  |..(. n%,c$,i%:. |
00000970  c0 61 24 2c 32 29 3d 22  24 2e 22 20 8c 20 61 24  |.a$,2)="$." . a$|
00000980  3d c1 61 24 2c 33 29 0d  03 16 21 c8 95 20 61 24  |=.a$,3)...!.. a$|
00000990  3e 22 22 20 80 20 c2 61  24 29 3d 22 20 22 3a 61  |>"" . .a$)=" ":a|
000009a0  24 3d c0 61 24 29 3a ce  0d 03 20 11 e3 20 6e 25  |$=.a$):... .. n%|
000009b0  3d 31 20 b8 20 a9 20 61  24 0d 03 2a 25 20 63 24  |=1 . . a$..*% c$|
000009c0  3d c1 61 24 2c 6e 25 2c  31 29 3a 69 25 3d a7 22  |=.a$,n%,1):i%=."|
000009d0  24 20 40 7c 22 22 25 26  5e 22 2c 63 24 29 0d 03  |$ @|""%&^",c$)..|
000009e0  34 25 20 e7 20 69 25 20  8c 20 c1 61 24 2c 6e 25  |4% . i% . .a$,n%|
000009f0  2c 31 29 3d c1 22 5b 27  3c 3e 5d 7d 7b 29 22 2c  |,1)=."['<>]}{)",|
00000a00  69 25 29 0d 03 3e 05 ed  0d 03 48 07 3d 61 24 0d  |i%)..>....H.=a$.|
00000a10  03 52 04 0d 03 5c 0f dd  20 a4 63 61 73 65 28 61  |.R...\.. .case(a|
00000a20  24 29 0d 03 66 11 e7 20  61 24 3d 22 22 20 8c 20  |$)..f.. a$="" . |
00000a30  3d 22 22 0d 03 70 0b ea  20 6e 25 2c 43 25 0d 03  |=""..p.. n%,C%..|
00000a40  7a 11 e3 20 6e 25 3d 31  20 b8 20 a9 20 61 24 0d  |z.. n%=1 . . a$.|
00000a50  03 84 3a 20 43 25 3d 97  20 c1 61 24 2c 6e 25 2c  |..: C%=. .a$,n%,|
00000a60  31 29 3a e7 20 43 25 3e  39 36 20 80 20 43 25 3c  |1):. C%>96 . C%<|
00000a70  31 32 33 20 8c 20 c1 61  24 2c 6e 25 2c 31 29 3d  |123 . .a$,n%,1)=|
00000a80  bd 20 28 43 25 2d 33 32  29 0d 03 8e 05 ed 0d 03  |. (C%-32).......|
00000a90  98 07 3d 61 24 0d 03 a2  04 0d 03 ac 12 dd 20 f2  |..=a$......... .|
00000aa0  63 6f 70 79 28 66 24 2c  74 24 29 0d 03 b6 14 ea  |copy(f$,t$).....|
00000ab0  20 41 25 2c 42 25 2c 4c  25 2c 4b 25 2c 54 25 0d  | A%,B%,L%,K%,T%.|
00000ac0  03 c0 3a c8 99 20 22 58  4f 53 5f 46 53 43 6f 6e  |..:.. "XOS_FSCon|
00000ad0  74 72 6f 6c 22 2c 32 36  2c 73 72 64 24 2b 66 69  |trol",26,srd$+fi|
00000ae0  6c 65 24 28 6e 25 2c 30  29 2c 64 73 74 24 2b 61  |le$(n%,0),dst$+a|
00000af0  24 20 b8 20 41 25 3b 42  25 0d 03 ca 0e e7 20 42  |$ . A%;B%..... B|
00000b00  25 20 80 20 31 20 8c 0d  03 d4 2c 20 e7 20 21 41  |% . 1 ...., . !A|
00000b10  25 3d 26 31 34 32 30 30  20 8b 20 c8 99 20 22 4f  |%=&14200 . .. "O|
00000b20  53 5f 47 65 6e 65 72 61  74 65 45 72 72 6f 72 22  |S_GenerateError"|
00000b30  2c 41 25 0d 03 de 10 20  41 25 3d 2d 31 3a 42 25  |,A%.... A%=-1:B%|
00000b40  3d 2d 31 0d 03 e8 08 20  ea 20 85 0d 03 f2 43 20  |=-1.... . ....C |
00000b50  ee 20 85 20 ea 20 c8 99  20 22 58 4f 53 5f 46 69  |. . . .. "XOS_Fi|
00000b60  6e 64 22 2c 2c 41 25 3a  c8 99 20 22 58 4f 53 5f  |nd",,A%:.. "XOS_|
00000b70  46 69 6e 64 22 2c 2c 42  25 3a f7 20 85 3a 85 20  |Find",,B%:. .:. |
00000b80  9f 2c f6 24 2b 22 20 40  20 22 2b c3 20 9e 0d 03  |.,.$+" @ "+. ...|
00000b90  fc 1c 20 41 25 3d 8e 20  66 24 3a 42 25 3d ae 20  |.. A%=. f$:B%=. |
00000ba0  74 24 3a 4c 25 3d a2 23  41 25 0d 04 06 0a 20 c8  |t$:L%=.#A%.... .|
00000bb0  95 20 4c 25 0d 04 10 1f  20 20 4b 25 3d 4c 25 3a  |. L%....  K%=L%:|
00000bc0  e7 20 4b 25 3e 38 31 39  32 20 8c 20 4b 25 3d 38  |. K%>8192 . K%=8|
00000bd0  31 39 32 0d 04 1a 47 20  20 c8 99 20 22 4f 53 5f  |192...G  .. "OS_|
00000be0  47 42 50 42 22 2c 34 2c  41 25 2c 62 75 66 25 2c  |GBPB",4,A%,buf%,|
00000bf0  4b 25 20 b8 20 2c 2c 2c  54 25 3a e7 20 54 25 20  |K% . ,,,T%:. T% |
00000c00  8c 20 85 20 31 2c 22 46  69 6c 65 20 63 6f 70 79  |. . 1,"File copy|
00000c10  69 6e 67 20 65 72 72 6f  72 22 0d 04 24 47 20 20  |ing error"..$G  |
00000c20  c8 99 20 22 4f 53 5f 47  42 50 42 22 2c 32 2c 42  |.. "OS_GBPB",2,B|
00000c30  25 2c 62 75 66 25 2c 4b  25 20 b8 20 2c 2c 2c 54  |%,buf%,K% . ,,,T|
00000c40  25 3a e7 20 54 25 20 8c  20 85 20 31 2c 22 46 69  |%:. T% . . 1,"Fi|
00000c50  6c 65 20 63 6f 70 79 69  6e 67 20 65 72 72 6f 72  |le copying error|
00000c60  22 0d 04 2e 0c 20 20 4c  25 2d 3d 4b 25 0d 04 38  |"....  L%-=K%..8|
00000c70  06 20 ce 0d 04 42 0e 20  d9 23 41 25 3a d9 23 42  |. ...B. .#A%:.#B|
00000c80  25 0d 04 4c 08 20 f7 20  85 0d 04 56 05 cd 0d 04  |%..L. . ...V....|
00000c90  60 05 e1 0d ff                                    |`....|
00000c95
!BEEBARC/UN\INF.m0
!BEEBARC/UN\INF.m1
!BEEBARC/UN\INF.m2
!BEEBARC/UN\INF.m4
!BEEBARC/UN\INF.m5