Filing system numbers
Each filing system has a unique number that identifies it and allows it to be selected. The following is a list of currently defined filing system numbers.
0 No current filing system 30 Fax: 1 1200 baud cassette 31 Z88: 2 300 baud cassette 32 SCSIDeskFS: 3 ROM filing system, ROM: 33 NFS: (UNIX Network FS) 4 Disk filing system, DISK: 34 Serial2: 5 Network, NET: (CoProFS) 35 DFSDeskFS: 6 Telesoftware 36 DayIBMFS: 7 IEEE filing system, IEEEFS: 37 CDFS: 8 Acorn ADFS 38 ChipFS:, CFS:, RISCardFS: 9 Host filing system, HostFS: 39 pcfs: 10 Videodisk filing system, VFS: 40 BBScanFS: 11 CoProFS, Acorn WDFS 41 BroadcastLoaderUtils 12 Acacia RamFS, NetPrint: 42 ChunkFS 13 Null: 43 DOSFS:, MSDOSFS:, MSDOS: 14 Printer: 44 NoRiscFS: 15 Serial: 45 Nexus filing system 16 Harston ADFS 46 ResourceFS 17 Vdu: 47 PipeFS 18 RawVdu: 48 NexusFilerFS 19 Kbd: 49 IDEFS: 20 RawKbd: 50 CCPrintFS 21 DeskFS: 51 VideoDigitiserFS 22 Computer Concepts RomFS: 52 SoundDigitiserFS 23 RamFS:, RAM: 53 Device: 24 RISCiXFS:, UnixFS: 54 Parallel: 25 Streamer, DigiTape 55 VCMNetFS 26 SCSIFS:, SCSI: 56 ArcFS: 27 Digitiser, TVFS: 57 NexusPrintFS 28 Scanner, ScanFS: 58 PIA 29 MultiFS:, Petrov DOSFS 59 RSDosFS 60 dbFS 128 SPSTFS 61 PCompress: 134 FastSpool 66 SparkFS: 136 FlashFS 71 BeebItFS: 141 BDFS 77 MirrorFS: 142 raFS: 79 FTP: 145 lprFS 86 FontFS: 148 CDRFS 91 Memphis 152 ParaFS 96 AddressDevice 156 LanMan98 99 ShareFS 158 CDROMFS 92 LFS: (65Link) 162 TFTP: 101 Computer Concepts PrintQueueFS 170 ZIDEFS: 102 LanMan 192 SDFS: 104 OmniPrint 205 AudioFS 105 AppleFS 111 IOmega ZipFS:, iZipFS: 115 ATAFS: 118 CacheFS 121 MenonFS 123 IZipFS
Reading filing system numbers
The current filing system number is returned by OSARGS 0,0. A filing system number can be converted to its name on RISC OS systems using
SYS "OS_FSControl",33,fsnumber%,buffer,buflen
which returns a null-terminated string in buffer, or "" if not known.
Selecting filing system
The filing system number can be used to select the filing system by making service call &12.
A%=143:X%=18:Y%=filingsystemnumber CALL OSBYTE
The TAPE and ROM filing systems cannot be selected with service call &12, they have to be selected with OSBYTE 140,speed for TAPE and OSBYTE 141 for ROM.
Y%=filing system number X%=speed for TAPE IF Y%<3 THEN A%=140 ELSE IF Y%=3 THEN A%=141 ELSE A%=143:X%=18 CALL OSBYTE
Notes
The filing system number on 8-bit systems must be less than &80, as bit 7 being set is used to indicate that no temporary filing system is available.
CoProFS can be set to any number between 1 and 15 with *OPT
7,num
. It defaults to 5 (which clashes with NetFS). It is
recommended to make CoProFS use 11 with *OPT 7,11
.
HADFS can be set to any number between 5 and 16 with *OPT
2,num
. It defaults to 16.
WDFS (filing system 11) appears to be a preliminary allocation by Acorn for the Winchester Disk Filing System before ADFS was designed with hard drive support.
Some documentation lists Acacia RamFS as having filing system number 16. This is incorrect, it is actually 12.
When a DOS disk or partition is opened as an image file, the returned filing system number is 0.
Jgharston 22:13, 1 September 2007 (BST)