Home » Personal collection » Acorn ADFS disks » Electron » PRES_E00.ADF » Library/BASIC/CatAll

Library/BASIC/CatAll

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 » Electron » PRES_E00.ADF
Filename: Library/BASIC/CatAll
Read OK:
File size: 0379 bytes
Load address: FFFF1D00
Exec address: FFFF8023
File contents
    1REM CatAll
    2REM Catalogue the whole tree from $ downwards
    3REM Copyright Acorn Computer 1984
    4REM Version 1.00, 9/8/1984
    5REM Done by Huge
    6REM
   10ON ERROR GOTO 470
   30DIM NAME% 11
   50ROOT$="$"
   60:
   70PROCRECON("",ROOT$)
   80:
   90END
  100:
  110:
  120:
  130DEF PROCRECON( PATH$,DIR$ )
  140LOCAL DPTR%
  150:
  160PRINT
  170PRINT"***************************************"
  180PRINT FNPATH(PATH$,DIR$)
  190PRINT"***************************************"
  210OSCLI "DIR "+PATH$
  220OSCLI"."+DIR$
  230H%=OPENIN( DIR$ )
  235PTR#H%=5
  240IF BGET#H%=0 THEN CLOSE#H%:ENDPROC
  250DPTR%=5
  260REPEAT
  270:
  280PTR#H%=DPTR%+3
  290IF BGET#H%<128 THEN GOTO 410
  300:
  310PTR#H%=DPTR%
  320DEF FNCH(H%)=CHR$( BGET#H% AND &7F )
  330$NAME%=FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)+FNCH(H%)
  340CLOSE#H%
  350PROCRECON( FNPATH(PATH$,DIR$) , $NAME% ) 
  360DEF FNPATH(A$,B$) IF A$<>"" THEN = A$+"."+B$ ELSE = B$
  370OSCLI "DIR "+PATH$
  380H%=OPENIN( DIR$ )
  390:
  400:
  410DPTR%=DPTR%+26
  420PTR#H%=DPTR%
  430UNTIL BGET#H%=0
  440CLOSE#H%
  460ENDPROC
  470REPORT
  480PRINT
  490END
� CatAll
/� Catalogue the whole tree from $ downwards
#� Copyright Acorn Computer 1984
� Version 1.00, 9/8/1984
� Done by Huge
�

� � � �dVA
� NAME% 11
2
ROOT$="$"
<:
F�RECON("",ROOT$)
P:
Z�
d:
n:
x:
�� �RECON( PATH$,DIR$ )
�� DPTR%
�:
��
�.�"***************************************"
�� �PATH(PATH$,DIR$)
�.�"***************************************"
�� "DIR "+PATH$
�
�"."+DIR$
�H%=�( DIR$ )
�
�#H%=5
�� �#H%=0 � �#H%:�
�DPTR%=5
�
:
�#H%=DPTR%+3
"� �#H%<128 � � �tZA
,:
6�#H%=DPTR%
@� �CH(H%)=�( �#H% � &7F )
JZ$NAME%=�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)+�CH(H%)
T�#H%
^)�RECON( �PATH(PATH$,DIR$) , $NAME% ) 
h0� �PATH(A$,B$) � A$<>"" � = A$+"."+B$ � = B$
r� "DIR "+PATH$
|H%=�( DIR$ )
�:
�:
�DPTR%=DPTR%+26
��#H%=DPTR%
�� �#H%=0
��#H%
��
��
��
��
�
00000000  0d 00 01 0c f4 20 43 61  74 41 6c 6c 0d 00 02 2f  |..... CatAll.../|
00000010  f4 20 43 61 74 61 6c 6f  67 75 65 20 74 68 65 20  |. Catalogue the |
00000020  77 68 6f 6c 65 20 74 72  65 65 20 66 72 6f 6d 20  |whole tree from |
00000030  24 20 64 6f 77 6e 77 61  72 64 73 0d 00 03 23 f4  |$ downwards...#.|
00000040  20 43 6f 70 79 72 69 67  68 74 20 41 63 6f 72 6e  | Copyright Acorn|
00000050  20 43 6f 6d 70 75 74 65  72 20 31 39 38 34 0d 00  | Computer 1984..|
00000060  04 1c f4 20 56 65 72 73  69 6f 6e 20 31 2e 30 30  |... Version 1.00|
00000070  2c 20 39 2f 38 2f 31 39  38 34 0d 00 05 12 f4 20  |, 9/8/1984..... |
00000080  44 6f 6e 65 20 62 79 20  48 75 67 65 0d 00 06 05  |Done by Huge....|
00000090  f4 0d 00 0a 0e ee 20 85  20 e5 20 8d 64 56 41 0d  |...... . . .dVA.|
000000a0  00 1e 0e de 20 4e 41 4d  45 25 20 31 31 0d 00 32  |.... NAME% 11..2|
000000b0  0d 52 4f 4f 54 24 3d 22  24 22 0d 00 3c 05 3a 0d  |.ROOT$="$"..<.:.|
000000c0  00 46 14 f2 52 45 43 4f  4e 28 22 22 2c 52 4f 4f  |.F..RECON("",ROO|
000000d0  54 24 29 0d 00 50 05 3a  0d 00 5a 05 e0 0d 00 64  |T$)..P.:..Z....d|
000000e0  05 3a 0d 00 6e 05 3a 0d  00 78 05 3a 0d 00 82 1a  |.:..n.:..x.:....|
000000f0  dd 20 f2 52 45 43 4f 4e  28 20 50 41 54 48 24 2c  |. .RECON( PATH$,|
00000100  44 49 52 24 20 29 0d 00  8c 0b ea 20 44 50 54 52  |DIR$ )..... DPTR|
00000110  25 0d 00 96 05 3a 0d 00  a0 05 f1 0d 00 aa 2e f1  |%....:..........|
00000120  22 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |"***************|
00000130  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000140  2a 2a 2a 2a 2a 2a 2a 2a  22 0d 00 b4 17 f1 20 a4  |********"..... .|
00000150  50 41 54 48 28 50 41 54  48 24 2c 44 49 52 24 29  |PATH(PATH$,DIR$)|
00000160  0d 00 be 2e f1 22 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |....."**********|
00000170  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000180  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 22 0d 00  |*************"..|
00000190  d2 12 ff 20 22 44 49 52  20 22 2b 50 41 54 48 24  |... "DIR "+PATH$|
000001a0  0d 00 dc 0d ff 22 2e 22  2b 44 49 52 24 0d 00 e6  |....."."+DIR$...|
000001b0  10 48 25 3d 8e 28 20 44  49 52 24 20 29 0d 00 eb  |.H%=.( DIR$ )...|
000001c0  0a cf 23 48 25 3d 35 0d  00 f0 15 e7 20 9a 23 48  |..#H%=5..... .#H|
000001d0  25 3d 30 20 8c 20 d9 23  48 25 3a e1 0d 00 fa 0b  |%=0 . .#H%:.....|
000001e0  44 50 54 52 25 3d 35 0d  01 04 05 f5 0d 01 0e 05  |DPTR%=5.........|
000001f0  3a 0d 01 18 10 cf 23 48  25 3d 44 50 54 52 25 2b  |:.....#H%=DPTR%+|
00000200  33 0d 01 22 17 e7 20 9a  23 48 25 3c 31 32 38 20  |3..".. .#H%<128 |
00000210  8c 20 e5 20 8d 74 5a 41  0d 01 2c 05 3a 0d 01 36  |. . .tZA..,.:..6|
00000220  0e cf 23 48 25 3d 44 50  54 52 25 0d 01 40 1d dd  |..#H%=DPTR%..@..|
00000230  20 a4 43 48 28 48 25 29  3d bd 28 20 9a 23 48 25  | .CH(H%)=.( .#H%|
00000240  20 80 20 26 37 46 20 29  0d 01 4a 5a 24 4e 41 4d  | . &7F )..JZ$NAM|
00000250  45 25 3d a4 43 48 28 48  25 29 2b a4 43 48 28 48  |E%=.CH(H%)+.CH(H|
00000260  25 29 2b a4 43 48 28 48  25 29 2b a4 43 48 28 48  |%)+.CH(H%)+.CH(H|
*
000002a0  25 29 0d 01 54 08 d9 23  48 25 0d 01 5e 29 f2 52  |%)..T..#H%..^).R|
000002b0  45 43 4f 4e 28 20 a4 50  41 54 48 28 50 41 54 48  |ECON( .PATH(PATH|
000002c0  24 2c 44 49 52 24 29 20  2c 20 24 4e 41 4d 45 25  |$,DIR$) , $NAME%|
000002d0  20 29 20 0d 01 68 30 dd  20 a4 50 41 54 48 28 41  | ) ..h0. .PATH(A|
000002e0  24 2c 42 24 29 20 e7 20  41 24 3c 3e 22 22 20 8c  |$,B$) . A$<>"" .|
000002f0  20 3d 20 41 24 2b 22 2e  22 2b 42 24 20 8b 20 3d  | = A$+"."+B$ . =|
00000300  20 42 24 0d 01 72 12 ff  20 22 44 49 52 20 22 2b  | B$..r.. "DIR "+|
00000310  50 41 54 48 24 0d 01 7c  10 48 25 3d 8e 28 20 44  |PATH$..|.H%=.( D|
00000320  49 52 24 20 29 0d 01 86  05 3a 0d 01 90 05 3a 0d  |IR$ )....:....:.|
00000330  01 9a 12 44 50 54 52 25  3d 44 50 54 52 25 2b 32  |...DPTR%=DPTR%+2|
00000340  36 0d 01 a4 0e cf 23 48  25 3d 44 50 54 52 25 0d  |6.....#H%=DPTR%.|
00000350  01 ae 0c fd 20 9a 23 48  25 3d 30 0d 01 b8 08 d9  |.... .#H%=0.....|
00000360  23 48 25 0d 01 cc 05 e1  0d 01 d6 05 f6 0d 01 e0  |#H%.............|
00000370  05 f1 0d 01 ea 05 e0 0d  ff                       |.........|
00000379
Library/BASIC/CatAll.m0
Library/BASIC/CatAll.m1
Library/BASIC/CatAll.m2
Library/BASIC/CatAll.m4
Library/BASIC/CatAll.m5